japji/resources/public/js/scittle.js

1647 lines
6.4 MiB

var shadow$provide = {};
var CLOSURE_NO_DEPS = true;
var CLOSURE_BASE_PATH = '/js/cljs-runtime/';
var CLOSURE_DEFINES = {"shadow.cljs.devtools.client.env.repl_pprint":true,"shadow.cljs.devtools.client.env.reload_strategy":"optimized","shadow.cljs.devtools.client.env.devtools_url":"","shadow.cljs.devtools.client.env.autoload":true,"shadow.cljs.devtools.client.env.proc_id":"b4bdd33b-5212-4872-b727-66ce692acb73","shadow.cljs.devtools.client.env.use_document_protocol":false,"goog.ENABLE_DEBUG_LOADER":false,"shadow.cljs.devtools.client.env.server_port":9630,"shadow.cljs.devtools.client.env.server_token":"893c7363-4e4f-4e29-95a2-20861a84da86","shadow.cljs.devtools.client.env.use_document_host":true,"shadow.cljs.devtools.client.env.module_format":"goog","goog.LOCALE":"en","shadow.cljs.devtools.client.env.build_id":"main","shadow.cljs.devtools.client.env.ignore_warnings":false,"goog.DEBUG":true,"shadow.cljs.devtools.client.env.log":true,"shadow.cljs.devtools.client.env.ssl":false,"shadow.cljs.devtools.client.env.enabled":true,"shadow.cljs.devtools.client.env.server_host":"localhost","shadow.cljs.devtools.client.env.worker_client_id":2,"goog.TRANSPILE":"never"};
var COMPILED = false;
var goog = goog || {};
goog.global = this || self;
goog.global.CLOSURE_UNCOMPILED_DEFINES;
goog.global.CLOSURE_DEFINES;
goog.isDef = function(val) {
return val !== void 0;
};
goog.isString = function(val) {
return typeof val == "string";
};
goog.isBoolean = function(val) {
return typeof val == "boolean";
};
goog.isNumber = function(val) {
return typeof val == "number";
};
goog.exportPath_ = function(name, object, overwriteImplicit, objectToExportTo) {
var parts = name.split(".");
var cur = objectToExportTo || goog.global;
if (!(parts[0] in cur) && typeof cur.execScript != "undefined") {
cur.execScript("var " + parts[0]);
}
var part;
for (; parts.length && (part = parts.shift());) {
if (!parts.length && object !== undefined) {
if (!overwriteImplicit && goog.isObject(object) && goog.isObject(cur[part])) {
var prop;
for (prop in object) {
if (object.hasOwnProperty(prop)) {
cur[part][prop] = object[prop];
}
}
} else {
cur[part] = object;
}
} else if (cur[part] && cur[part] !== Object.prototype[part]) {
cur = cur[part];
} else {
cur = cur[part] = {};
}
}
};
goog.define = function(name, defaultValue) {
var value = defaultValue;
if (!COMPILED) {
var uncompiledDefines = goog.global.CLOSURE_UNCOMPILED_DEFINES;
var defines = goog.global.CLOSURE_DEFINES;
if (uncompiledDefines && uncompiledDefines.nodeType === undefined && Object.prototype.hasOwnProperty.call(uncompiledDefines, name)) {
value = uncompiledDefines[name];
} else if (defines && defines.nodeType === undefined && Object.prototype.hasOwnProperty.call(defines, name)) {
value = defines[name];
}
}
return value;
};
goog.FEATURESET_YEAR = goog.define("goog.FEATURESET_YEAR", 2012);
goog.DEBUG = goog.define("goog.DEBUG", true);
goog.LOCALE = goog.define("goog.LOCALE", "en");
goog.TRUSTED_SITE = goog.define("goog.TRUSTED_SITE", true);
goog.DISALLOW_TEST_ONLY_CODE = goog.define("goog.DISALLOW_TEST_ONLY_CODE", COMPILED && !goog.DEBUG);
goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = goog.define("goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING", false);
goog.provide = function(name) {
if (goog.isInModuleLoader_()) {
throw new Error("goog.provide cannot be used within a module.");
}
if (!COMPILED) {
if (goog.isProvided_(name)) {
throw new Error('Namespace "' + name + '" already declared.');
}
}
goog.constructNamespace_(name);
};
goog.constructNamespace_ = function(name, object, overwriteImplicit) {
if (!COMPILED) {
delete goog.implicitNamespaces_[name];
var namespace = name;
for (; namespace = namespace.substring(0, namespace.lastIndexOf("."));) {
if (goog.getObjectByName(namespace)) {
break;
}
goog.implicitNamespaces_[namespace] = true;
}
}
goog.exportPath_(name, object, overwriteImplicit);
};
goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/;
goog.getScriptNonce_ = function(opt_window) {
var doc = (opt_window || goog.global).document;
var script = doc.querySelector && doc.querySelector("script[nonce]");
if (script) {
var nonce = script["nonce"] || script.getAttribute("nonce");
if (nonce && goog.NONCE_PATTERN_.test(nonce)) {
return nonce;
}
}
return "";
};
goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
goog.module = function(name) {
if (typeof name !== "string" || !name || name.search(goog.VALID_MODULE_RE_) == -1) {
throw new Error("Invalid module identifier");
}
if (!goog.isInGoogModuleLoader_()) {
throw new Error("Module " + name + " has been loaded incorrectly. Note, " + "modules cannot be loaded as normal scripts. They require some kind of " + "pre-processing step. You're likely trying to load a module via a " + "script tag or as a part of a concatenated bundle without rewriting the " + "module. For more info see: " + "https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");
}
if (goog.moduleLoaderState_.moduleName) {
throw new Error("goog.module may only be called once per module.");
}
goog.moduleLoaderState_.moduleName = name;
if (!COMPILED) {
if (goog.isProvided_(name)) {
throw new Error('Namespace "' + name + '" already declared.');
}
delete goog.implicitNamespaces_[name];
}
};
goog.module.get = function(name) {
return goog.module.getInternal_(name);
};
goog.module.getInternal_ = function(name) {
if (!COMPILED) {
if (name in goog.loadedModules_) {
return goog.loadedModules_[name].exports;
} else if (!goog.implicitNamespaces_[name]) {
var ns = goog.getObjectByName(name);
return ns != null ? ns : null;
}
}
return null;
};
goog.ModuleType = {ES6:"es6", GOOG:"goog"};
goog.moduleLoaderState_ = null;
goog.isInModuleLoader_ = function() {
return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_();
};
goog.isInGoogModuleLoader_ = function() {
return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG;
};
goog.isInEs6ModuleLoader_ = function() {
var inLoader = !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6;
if (inLoader) {
return true;
}
var jscomp = goog.global["$jscomp"];
if (jscomp) {
if (typeof jscomp.getCurrentModulePath != "function") {
return false;
}
return !!jscomp.getCurrentModulePath();
}
return false;
};
goog.module.declareLegacyNamespace = function() {
if (!COMPILED && !goog.isInGoogModuleLoader_()) {
throw new Error("goog.module.declareLegacyNamespace must be called from " + "within a goog.module");
}
if (!COMPILED && !goog.moduleLoaderState_.moduleName) {
throw new Error("goog.module must be called prior to " + "goog.module.declareLegacyNamespace.");
}
goog.moduleLoaderState_.declareLegacyNamespace = true;
};
goog.declareModuleId = function(namespace) {
if (!COMPILED) {
if (!goog.isInEs6ModuleLoader_()) {
throw new Error("goog.declareModuleId may only be called from " + "within an ES6 module");
}
if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) {
throw new Error("goog.declareModuleId may only be called once per module.");
}
if (namespace in goog.loadedModules_) {
throw new Error('Module with namespace "' + namespace + '" already exists.');
}
}
if (goog.moduleLoaderState_) {
goog.moduleLoaderState_.moduleName = namespace;
} else {
var jscomp = goog.global["$jscomp"];
if (!jscomp || typeof jscomp.getCurrentModulePath != "function") {
throw new Error('Module with namespace "' + namespace + '" has been loaded incorrectly.');
}
var exports = jscomp.require(jscomp.getCurrentModulePath());
goog.loadedModules_[namespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:namespace};
}
};
goog.setTestOnly = function(opt_message) {
if (goog.DISALLOW_TEST_ONLY_CODE) {
opt_message = opt_message || "";
throw new Error("Importing test-only code into non-debug environment" + (opt_message ? ": " + opt_message : "."));
}
};
goog.forwardDeclare = function(name) {
};
goog.forwardDeclare("Document");
goog.forwardDeclare("HTMLScriptElement");
goog.forwardDeclare("XMLHttpRequest");
if (!COMPILED) {
goog.isProvided_ = function(name) {
return name in goog.loadedModules_ || !goog.implicitNamespaces_[name] && goog.getObjectByName(name) != null;
};
goog.implicitNamespaces_ = {"goog.module":true};
}
goog.getObjectByName = function(name, opt_obj) {
var parts = name.split(".");
var cur = opt_obj || goog.global;
var i = 0;
for (; i < parts.length; i++) {
cur = cur[parts[i]];
if (cur == null) {
return null;
}
}
return cur;
};
goog.addDependency = function(relPath, provides, requires, opt_loadFlags) {
if (!COMPILED && goog.DEPENDENCIES_ENABLED) {
goog.debugLoader_.addDependency(relPath, provides, requires, opt_loadFlags);
}
};
goog.ENABLE_DEBUG_LOADER = goog.define("goog.ENABLE_DEBUG_LOADER", true);
goog.logToConsole_ = function(msg) {
if (goog.global.console) {
goog.global.console["error"](msg);
}
};
goog.require = function(namespace) {
if (!COMPILED) {
if (goog.ENABLE_DEBUG_LOADER) {
goog.debugLoader_.requested(namespace);
}
if (goog.isProvided_(namespace)) {
if (goog.isInModuleLoader_()) {
return goog.module.getInternal_(namespace);
}
} else if (goog.ENABLE_DEBUG_LOADER) {
var moduleLoaderState = goog.moduleLoaderState_;
goog.moduleLoaderState_ = null;
try {
goog.debugLoader_.load_(namespace);
} finally {
goog.moduleLoaderState_ = moduleLoaderState;
}
}
return null;
}
};
goog.requireType = function(namespace) {
return {};
};
goog.basePath = "";
goog.global.CLOSURE_BASE_PATH;
goog.global.CLOSURE_NO_DEPS;
goog.global.CLOSURE_IMPORT_SCRIPT;
goog.abstractMethod = function() {
throw new Error("unimplemented abstract method");
};
goog.addSingletonGetter = function(ctor) {
ctor.instance_ = undefined;
ctor.getInstance = function() {
if (ctor.instance_) {
return ctor.instance_;
}
if (goog.DEBUG) {
goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = ctor;
}
return ctor.instance_ = new ctor();
};
};
goog.instantiatedSingletons_ = [];
goog.LOAD_MODULE_USING_EVAL = goog.define("goog.LOAD_MODULE_USING_EVAL", true);
goog.SEAL_MODULE_EXPORTS = goog.define("goog.SEAL_MODULE_EXPORTS", goog.DEBUG);
goog.loadedModules_ = {};
goog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER;
goog.TRANSPILE = goog.define("goog.TRANSPILE", "detect");
goog.ASSUME_ES_MODULES_TRANSPILED = goog.define("goog.ASSUME_ES_MODULES_TRANSPILED", false);
goog.TRUSTED_TYPES_POLICY_NAME = goog.define("goog.TRUSTED_TYPES_POLICY_NAME", "goog");
goog.hasBadLetScoping = null;
goog.loadModule = function(moduleDef) {
var previousState = goog.moduleLoaderState_;
try {
goog.moduleLoaderState_ = {moduleName:"", declareLegacyNamespace:false, type:goog.ModuleType.GOOG};
var origExports = {};
var exports = origExports;
if (typeof moduleDef === "function") {
exports = moduleDef.call(undefined, exports);
} else if (typeof moduleDef === "string") {
exports = goog.loadModuleFromSource_.call(undefined, exports, moduleDef);
} else {
throw new Error("Invalid module definition");
}
var moduleName = goog.moduleLoaderState_.moduleName;
if (typeof moduleName === "string" && moduleName) {
if (goog.moduleLoaderState_.declareLegacyNamespace) {
var isDefaultExport = origExports !== exports;
goog.constructNamespace_(moduleName, exports, isDefaultExport);
} else if (goog.SEAL_MODULE_EXPORTS && Object.seal && typeof exports == "object" && exports != null) {
Object.seal(exports);
}
var data = {exports:exports, type:goog.ModuleType.GOOG, moduleId:goog.moduleLoaderState_.moduleName};
goog.loadedModules_[moduleName] = data;
} else {
throw new Error('Invalid module name "' + moduleName + '"');
}
} finally {
goog.moduleLoaderState_ = previousState;
}
};
goog.loadModuleFromSource_ = function(exports) {
eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(arguments[1]));
return exports;
};
goog.normalizePath_ = function(path) {
var components = path.split("/");
var i = 0;
for (; i < components.length;) {
if (components[i] == ".") {
components.splice(i, 1);
} else if (i && components[i] == ".." && components[i - 1] && components[i - 1] != "..") {
components.splice(--i, 2);
} else {
i++;
}
}
return components.join("/");
};
goog.global.CLOSURE_LOAD_FILE_SYNC;
goog.loadFileSync_ = function(src) {
if (goog.global.CLOSURE_LOAD_FILE_SYNC) {
return goog.global.CLOSURE_LOAD_FILE_SYNC(src);
} else {
try {
var xhr = new goog.global["XMLHttpRequest"]();
xhr.open("get", src, false);
xhr.send();
return xhr.status == 0 || xhr.status == 200 ? xhr.responseText : null;
} catch (err) {
return null;
}
}
};
goog.typeOf = function(value) {
var s = typeof value;
if (s != "object") {
return s;
}
if (!value) {
return "null";
}
if (Array.isArray(value)) {
return "array";
}
return s;
};
goog.isNull = function(val) {
return val === null;
};
goog.isDefAndNotNull = function(val) {
return val != null;
};
goog.isArray = function(val) {
return goog.typeOf(val) == "array";
};
goog.isArrayLike = function(val) {
var type = goog.typeOf(val);
return type == "array" || type == "object" && typeof val.length == "number";
};
goog.isDateLike = function(val) {
return goog.isObject(val) && typeof val.getFullYear == "function";
};
goog.isObject = function(val) {
var type = typeof val;
return type == "object" && val != null || type == "function";
};
goog.getUid = function(obj) {
return Object.prototype.hasOwnProperty.call(obj, goog.UID_PROPERTY_) && obj[goog.UID_PROPERTY_] || (obj[goog.UID_PROPERTY_] = ++goog.uidCounter_);
};
goog.hasUid = function(obj) {
return !!obj[goog.UID_PROPERTY_];
};
goog.removeUid = function(obj) {
if (obj !== null && "removeAttribute" in obj) {
obj.removeAttribute(goog.UID_PROPERTY_);
}
try {
delete obj[goog.UID_PROPERTY_];
} catch (ex) {
}
};
goog.UID_PROPERTY_ = "closure_uid_" + (Math.random() * 1e9 >>> 0);
goog.uidCounter_ = 0;
goog.cloneObject = function(obj) {
var type = goog.typeOf(obj);
if (type == "object" || type == "array") {
if (typeof obj.clone === "function") {
return obj.clone();
}
if (typeof Map !== "undefined" && obj instanceof Map) {
return new Map(obj);
} else if (typeof Set !== "undefined" && obj instanceof Set) {
return new Set(obj);
}
var clone = type == "array" ? [] : {};
var key;
for (key in obj) {
clone[key] = goog.cloneObject(obj[key]);
}
return clone;
}
return obj;
};
goog.bindNative_ = function(fn, selfObj, var_args) {
return fn.call.apply(fn.bind, arguments);
};
goog.bindJs_ = function(fn, selfObj, var_args) {
if (!fn) {
throw new Error();
}
if (arguments.length > 2) {
var boundArgs = Array.prototype.slice.call(arguments, 2);
return function() {
var newArgs = Array.prototype.slice.call(arguments);
Array.prototype.unshift.apply(newArgs, boundArgs);
return fn.apply(selfObj, newArgs);
};
} else {
return function() {
return fn.apply(selfObj, arguments);
};
}
};
goog.bind = function(fn, selfObj, var_args) {
if (Function.prototype.bind && Function.prototype.bind.toString().indexOf("native code") != -1) {
goog.bind = goog.bindNative_;
} else {
goog.bind = goog.bindJs_;
}
return goog.bind.apply(null, arguments);
};
goog.partial = function(fn, var_args) {
var args = Array.prototype.slice.call(arguments, 1);
return function() {
var newArgs = args.slice();
newArgs.push.apply(newArgs, arguments);
return fn.apply(this, newArgs);
};
};
goog.now = function() {
return Date.now();
};
goog.globalEval = function(script) {
(0,eval)(script);
};
goog.cssNameMapping_;
goog.cssNameMappingStyle_;
goog.global.CLOSURE_CSS_NAME_MAP_FN;
goog.getCssName = function(className, opt_modifier) {
if (String(className).charAt(0) == ".") {
throw new Error('className passed in goog.getCssName must not start with ".".' + " You passed: " + className);
}
var getMapping = function(cssName) {
return goog.cssNameMapping_[cssName] || cssName;
};
var renameByParts = function(cssName) {
var parts = cssName.split("-");
var mapped = [];
var i = 0;
for (; i < parts.length; i++) {
mapped.push(getMapping(parts[i]));
}
return mapped.join("-");
};
var rename;
if (goog.cssNameMapping_) {
rename = goog.cssNameMappingStyle_ == "BY_WHOLE" ? getMapping : renameByParts;
} else {
rename = function(a) {
return a;
};
}
var result = opt_modifier ? className + "-" + rename(opt_modifier) : rename(className);
if (goog.global.CLOSURE_CSS_NAME_MAP_FN) {
return goog.global.CLOSURE_CSS_NAME_MAP_FN(result);
}
return result;
};
goog.setCssNameMapping = function(mapping, opt_style) {
goog.cssNameMapping_ = mapping;
goog.cssNameMappingStyle_ = opt_style;
};
goog.global.CLOSURE_CSS_NAME_MAPPING;
if (!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING) {
goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING;
}
goog.GetMsgOptions = function() {
};
goog.GetMsgOptions.prototype.html;
goog.GetMsgOptions.prototype.unescapeHtmlEntities;
goog.GetMsgOptions.prototype.original_code;
goog.GetMsgOptions.prototype.example;
goog.getMsg = function(str, opt_values, opt_options) {
if (opt_options && opt_options.html) {
str = str.replace(/</g, "\x26lt;");
}
if (opt_options && opt_options.unescapeHtmlEntities) {
str = str.replace(/&lt;/g, "\x3c").replace(/&gt;/g, "\x3e").replace(/&apos;/g, "'").replace(/&quot;/g, '"').replace(/&amp;/g, "\x26");
}
if (opt_values) {
str = str.replace(/\{\$([^}]+)}/g, function(match, key) {
return opt_values != null && key in opt_values ? opt_values[key] : match;
});
}
return str;
};
goog.getMsgWithFallback = function(a, b) {
return a;
};
goog.exportSymbol = function(publicPath, object, objectToExportTo) {
goog.exportPath_(publicPath, object, true, objectToExportTo);
};
goog.exportProperty = function(object, publicName, symbol) {
object[publicName] = symbol;
};
goog.inherits = function(childCtor, parentCtor) {
function tempCtor() {
}
tempCtor.prototype = parentCtor.prototype;
childCtor.superClass_ = parentCtor.prototype;
childCtor.prototype = new tempCtor();
childCtor.prototype.constructor = childCtor;
childCtor.base = function(me, methodName, var_args) {
var args = new Array(arguments.length - 2);
var i = 2;
for (; i < arguments.length; i++) {
args[i - 2] = arguments[i];
}
return parentCtor.prototype[methodName].apply(me, args);
};
};
goog.scope = function(fn) {
if (goog.isInModuleLoader_()) {
throw new Error("goog.scope is not supported within a module.");
}
fn.call(goog.global);
};
if (!COMPILED) {
goog.global["COMPILED"] = COMPILED;
}
goog.defineClass = function(superClass, def) {
var constructor = def.constructor;
var statics = def.statics;
if (!constructor || constructor == Object.prototype.constructor) {
constructor = function() {
throw new Error("cannot instantiate an interface (no constructor defined).");
};
}
var cls = goog.defineClass.createSealingConstructor_(constructor, superClass);
if (superClass) {
goog.inherits(cls, superClass);
}
delete def.constructor;
delete def.statics;
goog.defineClass.applyProperties_(cls.prototype, def);
if (statics != null) {
if (statics instanceof Function) {
statics(cls);
} else {
goog.defineClass.applyProperties_(cls, statics);
}
}
return cls;
};
goog.defineClass.ClassDescriptor;
goog.defineClass.SEAL_CLASS_INSTANCES = goog.define("goog.defineClass.SEAL_CLASS_INSTANCES", goog.DEBUG);
goog.defineClass.createSealingConstructor_ = function(ctr, superClass) {
if (!goog.defineClass.SEAL_CLASS_INSTANCES) {
return ctr;
}
var wrappedCtr = function() {
var instance = ctr.apply(this, arguments) || this;
instance[goog.UID_PROPERTY_] = instance[goog.UID_PROPERTY_];
return instance;
};
return wrappedCtr;
};
goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"];
goog.defineClass.applyProperties_ = function(target, source) {
var key;
for (key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
var i = 0;
for (; i < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; i++) {
key = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i];
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
};
goog.identity_ = function(s) {
return s;
};
goog.createTrustedTypesPolicy = function(name) {
var policy = null;
var policyFactory = goog.global.trustedTypes;
if (!policyFactory || !policyFactory.createPolicy) {
return policy;
}
try {
policy = policyFactory.createPolicy(name, {createHTML:goog.identity_, createScript:goog.identity_, createScriptURL:goog.identity_});
} catch (e) {
goog.logToConsole_(e.message);
}
return policy;
};
if (!COMPILED && goog.DEPENDENCIES_ENABLED) {
goog.isEdge_ = function() {
var userAgent = goog.global.navigator && goog.global.navigator.userAgent ? goog.global.navigator.userAgent : "";
var edgeRe = /Edge\/(\d+)(\.\d)*/i;
return !!userAgent.match(edgeRe);
};
goog.inHtmlDocument_ = function() {
var doc = goog.global.document;
return doc != null && "write" in doc;
};
goog.isDocumentLoading_ = function() {
var doc = goog.global.document;
return doc.attachEvent ? doc.readyState != "complete" : doc.readyState == "loading";
};
goog.findBasePath_ = function() {
if (goog.global.CLOSURE_BASE_PATH != undefined && typeof goog.global.CLOSURE_BASE_PATH === "string") {
goog.basePath = goog.global.CLOSURE_BASE_PATH;
return;
} else if (!goog.inHtmlDocument_()) {
return;
}
var doc = goog.global.document;
var currentScript = doc.currentScript;
if (currentScript) {
var scripts = [currentScript];
} else {
scripts = doc.getElementsByTagName("SCRIPT");
}
var i = scripts.length - 1;
for (; i >= 0; --i) {
var script = scripts[i];
var src = script.src;
var qmark = src.lastIndexOf("?");
var l = qmark == -1 ? src.length : qmark;
if (src.slice(l - 7, l) == "base.js") {
goog.basePath = src.slice(0, l - 7);
return;
}
}
};
goog.findBasePath_();
goog.protectScriptTag_ = function(str) {
return str.replace(/<\/(SCRIPT)/ig, "\\x3c/$1");
};
goog.DebugLoader_ = function() {
this.dependencies_ = {};
this.idToPath_ = {};
this.written_ = {};
this.loadingDeps_ = [];
this.depsToLoad_ = [];
this.paused_ = false;
this.factory_ = new goog.DependencyFactory();
this.deferredCallbacks_ = {};
this.deferredQueue_ = [];
};
goog.DebugLoader_.prototype.bootstrap = function(namespaces, callback) {
function resolve() {
if (cb) {
goog.global.setTimeout(cb, 0);
cb = null;
}
}
var cb = callback;
if (!namespaces.length) {
resolve();
return;
}
var deps = [];
var i = 0;
for (; i < namespaces.length; i++) {
var path = this.getPathFromDeps_(namespaces[i]);
if (!path) {
throw new Error("Unregonized namespace: " + namespaces[i]);
}
deps.push(this.dependencies_[path]);
}
var require = goog.require;
var loaded = 0;
i = 0;
for (; i < namespaces.length; i++) {
require(namespaces[i]);
deps[i].onLoad(function() {
if (++loaded == namespaces.length) {
resolve();
}
});
}
};
goog.DebugLoader_.prototype.loadClosureDeps = function() {
var relPath = "deps.js";
this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath + relPath), relPath, [], [], {}));
this.loadDeps_();
};
goog.DebugLoader_.prototype.requested = function(absPathOrId, opt_force) {
var path = this.getPathFromDeps_(absPathOrId);
if (path && (opt_force || this.areDepsLoaded_(this.dependencies_[path].requires))) {
var callback = this.deferredCallbacks_[path];
if (callback) {
delete this.deferredCallbacks_[path];
callback();
}
}
};
goog.DebugLoader_.prototype.setDependencyFactory = function(factory) {
this.factory_ = factory;
};
goog.DebugLoader_.prototype.load_ = function(namespace) {
if (!this.getPathFromDeps_(namespace)) {
var errorMessage = "goog.require could not find: " + namespace;
goog.logToConsole_(errorMessage);
} else {
var loader = this;
var deps = [];
var visit = function(namespace) {
var path = loader.getPathFromDeps_(namespace);
if (!path) {
throw new Error("Bad dependency path or symbol: " + namespace);
}
if (loader.written_[path]) {
return;
}
loader.written_[path] = true;
var dep = loader.dependencies_[path];
var i = 0;
for (; i < dep.requires.length; i++) {
if (!goog.isProvided_(dep.requires[i])) {
visit(dep.requires[i]);
}
}
deps.push(dep);
};
visit(namespace);
var wasLoading = !!this.depsToLoad_.length;
this.depsToLoad_ = this.depsToLoad_.concat(deps);
if (!this.paused_ && !wasLoading) {
this.loadDeps_();
}
}
};
goog.DebugLoader_.prototype.loadDeps_ = function() {
var loader = this;
var paused = this.paused_;
for (; this.depsToLoad_.length && !paused;) {
(function() {
var loadCallDone = false;
var dep = loader.depsToLoad_.shift();
var loaded = false;
loader.loading_(dep);
var controller = {pause:function() {
if (loadCallDone) {
throw new Error("Cannot call pause after the call to load.");
} else {
paused = true;
}
}, resume:function() {
if (loadCallDone) {
loader.resume_();
} else {
paused = false;
}
}, loaded:function() {
if (loaded) {
throw new Error("Double call to loaded.");
}
loaded = true;
loader.loaded_(dep);
}, pending:function() {
var pending = [];
var i = 0;
for (; i < loader.loadingDeps_.length; i++) {
pending.push(loader.loadingDeps_[i]);
}
return pending;
}, setModuleState:function(type) {
goog.moduleLoaderState_ = {type:type, moduleName:"", declareLegacyNamespace:false};
}, registerEs6ModuleExports:function(path, exports, opt_closureNamespace) {
if (opt_closureNamespace) {
goog.loadedModules_[opt_closureNamespace] = {exports:exports, type:goog.ModuleType.ES6, moduleId:opt_closureNamespace || ""};
}
}, registerGoogModuleExports:function(moduleId, exports) {
goog.loadedModules_[moduleId] = {exports:exports, type:goog.ModuleType.GOOG, moduleId:moduleId};
}, clearModuleState:function() {
goog.moduleLoaderState_ = null;
}, defer:function(callback) {
if (loadCallDone) {
throw new Error("Cannot register with defer after the call to load.");
}
loader.defer_(dep, callback);
}, areDepsLoaded:function() {
return loader.areDepsLoaded_(dep.requires);
}};
try {
dep.load(controller);
} finally {
loadCallDone = true;
}
})();
}
if (paused) {
this.pause_();
}
};
goog.DebugLoader_.prototype.pause_ = function() {
this.paused_ = true;
};
goog.DebugLoader_.prototype.resume_ = function() {
if (this.paused_) {
this.paused_ = false;
this.loadDeps_();
}
};
goog.DebugLoader_.prototype.loading_ = function(dep) {
this.loadingDeps_.push(dep);
};
goog.DebugLoader_.prototype.loaded_ = function(dep) {
var i = 0;
for (; i < this.loadingDeps_.length; i++) {
if (this.loadingDeps_[i] == dep) {
this.loadingDeps_.splice(i, 1);
break;
}
}
i = 0;
for (; i < this.deferredQueue_.length; i++) {
if (this.deferredQueue_[i] == dep.path) {
this.deferredQueue_.splice(i, 1);
break;
}
}
if (this.loadingDeps_.length == this.deferredQueue_.length && !this.depsToLoad_.length) {
for (; this.deferredQueue_.length;) {
this.requested(this.deferredQueue_.shift(), true);
}
}
dep.loaded();
};
goog.DebugLoader_.prototype.areDepsLoaded_ = function(pathsOrIds) {
var i = 0;
for (; i < pathsOrIds.length; i++) {
var path = this.getPathFromDeps_(pathsOrIds[i]);
if (!path || !(path in this.deferredCallbacks_) && !goog.isProvided_(pathsOrIds[i])) {
return false;
}
}
return true;
};
goog.DebugLoader_.prototype.getPathFromDeps_ = function(absPathOrId) {
if (absPathOrId in this.idToPath_) {
return this.idToPath_[absPathOrId];
} else if (absPathOrId in this.dependencies_) {
return absPathOrId;
} else {
return null;
}
};
goog.DebugLoader_.prototype.defer_ = function(dependency, callback) {
this.deferredCallbacks_[dependency.path] = callback;
this.deferredQueue_.push(dependency.path);
};
goog.LoadController = function() {
};
goog.LoadController.prototype.pause = function() {
};
goog.LoadController.prototype.resume = function() {
};
goog.LoadController.prototype.loaded = function() {
};
goog.LoadController.prototype.pending = function() {
};
goog.LoadController.prototype.registerEs6ModuleExports = function(path, exports, opt_closureNamespace) {
};
goog.LoadController.prototype.setModuleState = function(type) {
};
goog.LoadController.prototype.clearModuleState = function() {
};
goog.LoadController.prototype.defer = function(callback) {
};
goog.LoadController.prototype.areDepsLoaded = function() {
};
goog.Dependency = function(path, relativePath, provides, requires, loadFlags) {
this.path = path;
this.relativePath = relativePath;
this.provides = provides;
this.requires = requires;
this.loadFlags = loadFlags;
this.loaded_ = false;
this.loadCallbacks_ = [];
};
goog.Dependency.prototype.getPathName = function() {
var pathName = this.path;
var protocolIndex = pathName.indexOf("://");
if (protocolIndex >= 0) {
pathName = pathName.substring(protocolIndex + 3);
var slashIndex = pathName.indexOf("/");
if (slashIndex >= 0) {
pathName = pathName.substring(slashIndex + 1);
}
}
return pathName;
};
goog.Dependency.prototype.onLoad = function(callback) {
if (this.loaded_) {
callback();
} else {
this.loadCallbacks_.push(callback);
}
};
goog.Dependency.prototype.loaded = function() {
this.loaded_ = true;
var callbacks = this.loadCallbacks_;
this.loadCallbacks_ = [];
var i = 0;
for (; i < callbacks.length; i++) {
callbacks[i]();
}
};
goog.Dependency.defer_ = false;
goog.Dependency.callbackMap_ = {};
goog.Dependency.registerCallback_ = function(callback) {
var key = Math.random().toString(32);
goog.Dependency.callbackMap_[key] = callback;
return key;
};
goog.Dependency.unregisterCallback_ = function(key) {
delete goog.Dependency.callbackMap_[key];
};
goog.Dependency.callback_ = function(key, var_args) {
if (key in goog.Dependency.callbackMap_) {
var callback = goog.Dependency.callbackMap_[key];
var args = [];
var i = 1;
for (; i < arguments.length; i++) {
args.push(arguments[i]);
}
callback.apply(undefined, args);
} else {
var errorMessage = "Callback key " + key + " does not exist (was base.js loaded more than once?).";
throw Error(errorMessage);
}
};
goog.Dependency.prototype.load = function(controller) {
if (goog.global.CLOSURE_IMPORT_SCRIPT) {
if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) {
controller.loaded();
} else {
controller.pause();
}
return;
}
if (!goog.inHtmlDocument_()) {
goog.logToConsole_("Cannot use default debug loader outside of HTML documents.");
if (this.relativePath == "deps.js") {
goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, " + "or setting CLOSURE_NO_DEPS to true.");
controller.loaded();
} else {
controller.pause();
}
return;
}
var doc = goog.global.document;
if (doc.readyState == "complete" && !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) {
var isDeps = /\bdeps.js$/.test(this.path);
if (isDeps) {
controller.loaded();
return;
} else {
throw Error('Cannot write "' + this.path + '" after document load');
}
}
var nonce = goog.getScriptNonce_();
if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog.isDocumentLoading_()) {
var key;
var callback = function(script) {
if (script.readyState && script.readyState != "complete") {
script.onload = callback;
return;
}
goog.Dependency.unregisterCallback_(key);
controller.loaded();
};
key = goog.Dependency.registerCallback_(callback);
var defer = goog.Dependency.defer_ ? " defer" : "";
var nonceAttr = nonce ? ' nonce\x3d"' + nonce + '"' : "";
var script = '\x3cscript src\x3d"' + this.path + '"' + nonceAttr + defer + ' id\x3d"script-' + key + '"\x3e\x3c/script\x3e';
script = script + ("\x3cscript" + nonceAttr + "\x3e");
if (goog.Dependency.defer_) {
script = script + ("document.getElementById('script-" + key + "').onload \x3d function() {\n" + " goog.Dependency.callback_('" + key + "', this);\n" + "};\n");
} else {
script = script + ("goog.Dependency.callback_('" + key + "', document.getElementById('script-" + key + "'));");
}
script = script + "\x3c/script\x3e";
doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
} else {
var scriptEl = doc.createElement("script");
scriptEl.defer = goog.Dependency.defer_;
scriptEl.async = false;
if (nonce) {
scriptEl.nonce = nonce;
}
scriptEl.onload = function() {
scriptEl.onload = null;
controller.loaded();
};
scriptEl.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path) : this.path;
doc.head.appendChild(scriptEl);
}
};
goog.Es6ModuleDependency = function(path, relativePath, provides, requires, loadFlags) {
goog.Es6ModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
};
goog.inherits(goog.Es6ModuleDependency, goog.Dependency);
goog.Es6ModuleDependency.prototype.load = function(controller) {
function write(src, contents) {
var nonceAttr = "";
var nonce = goog.getScriptNonce_();
if (nonce) {
nonceAttr = ' nonce\x3d"' + nonce + '"';
}
if (contents) {
var script = '\x3cscript type\x3d"module" crossorigin' + nonceAttr + "\x3e" + contents + "\x3c/" + "script\x3e";
doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
} else {
script = '\x3cscript type\x3d"module" crossorigin src\x3d"' + src + '"' + nonceAttr + "\x3e\x3c/" + "script\x3e";
doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
}
}
function append(src, contents) {
var scriptEl = doc.createElement("script");
scriptEl.defer = true;
scriptEl.async = false;
scriptEl.type = "module";
scriptEl.setAttribute("crossorigin", true);
var nonce = goog.getScriptNonce_();
if (nonce) {
scriptEl.nonce = nonce;
}
if (contents) {
scriptEl.text = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScript(contents) : contents;
} else {
scriptEl.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(src) : src;
}
doc.head.appendChild(scriptEl);
}
if (goog.global.CLOSURE_IMPORT_SCRIPT) {
if (goog.global.CLOSURE_IMPORT_SCRIPT(this.path)) {
controller.loaded();
} else {
controller.pause();
}
return;
}
if (!goog.inHtmlDocument_()) {
goog.logToConsole_("Cannot use default debug loader outside of HTML documents.");
controller.pause();
return;
}
var doc = goog.global.document;
var dep = this;
var create;
if (goog.isDocumentLoading_()) {
create = write;
goog.Dependency.defer_ = true;
} else {
create = append;
}
var beforeKey = goog.Dependency.registerCallback_(function() {
goog.Dependency.unregisterCallback_(beforeKey);
controller.setModuleState(goog.ModuleType.ES6);
});
create(undefined, 'goog.Dependency.callback_("' + beforeKey + '")');
create(this.path, undefined);
var registerKey = goog.Dependency.registerCallback_(function(exports) {
goog.Dependency.unregisterCallback_(registerKey);
controller.registerEs6ModuleExports(dep.path, exports, goog.moduleLoaderState_.moduleName);
});
create(undefined, 'import * as m from "' + this.path + '"; goog.Dependency.callback_("' + registerKey + '", m)');
var afterKey = goog.Dependency.registerCallback_(function() {
goog.Dependency.unregisterCallback_(afterKey);
controller.clearModuleState();
controller.loaded();
});
create(undefined, 'goog.Dependency.callback_("' + afterKey + '")');
};
goog.TransformedDependency = function(path, relativePath, provides, requires, loadFlags) {
goog.TransformedDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
this.contents_ = null;
this.lazyFetch_ = !goog.inHtmlDocument_() || !("noModule" in goog.global.document.createElement("script"));
};
goog.inherits(goog.TransformedDependency, goog.Dependency);
goog.TransformedDependency.prototype.load = function(controller) {
function fetch() {
dep.contents_ = goog.loadFileSync_(dep.path);
if (dep.contents_) {
dep.contents_ = dep.transform(dep.contents_);
if (dep.contents_) {
dep.contents_ += "\n//# sourceURL\x3d" + dep.path;
}
}
}
function load() {
if (dep.lazyFetch_) {
fetch();
}
if (!dep.contents_) {
return;
}
if (isEs6) {
controller.setModuleState(goog.ModuleType.ES6);
}
var namespace;
try {
var contents = dep.contents_;
dep.contents_ = null;
goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(contents));
if (isEs6) {
namespace = goog.moduleLoaderState_.moduleName;
}
} finally {
if (isEs6) {
controller.clearModuleState();
}
}
if (isEs6) {
goog.global["$jscomp"]["require"]["ensure"]([dep.getPathName()], function() {
controller.registerEs6ModuleExports(dep.path, goog.global["$jscomp"]["require"](dep.getPathName()), namespace);
});
}
controller.loaded();
}
function fetchInOwnScriptThenLoad() {
var doc = goog.global.document;
var key = goog.Dependency.registerCallback_(function() {
goog.Dependency.unregisterCallback_(key);
load();
});
var nonce = goog.getScriptNonce_();
var nonceAttr = nonce ? ' nonce\x3d"' + nonce + '"' : "";
var script = "\x3cscript" + nonceAttr + "\x3e" + goog.protectScriptTag_('goog.Dependency.callback_("' + key + '");') + "\x3c/" + "script\x3e";
doc.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(script) : script);
}
var dep = this;
if (goog.global.CLOSURE_IMPORT_SCRIPT) {
fetch();
if (this.contents_ && goog.global.CLOSURE_IMPORT_SCRIPT("", this.contents_)) {
this.contents_ = null;
controller.loaded();
} else {
controller.pause();
}
return;
}
var isEs6 = this.loadFlags["module"] == goog.ModuleType.ES6;
if (!this.lazyFetch_) {
fetch();
}
var anythingElsePending = controller.pending().length > 1;
var needsAsyncLoading = goog.Dependency.defer_ && (anythingElsePending || goog.isDocumentLoading_());
if (needsAsyncLoading) {
controller.defer(function() {
load();
});
return;
}
var doc = goog.global.document;
var isInternetExplorerOrEdge = goog.inHtmlDocument_() && ("ActiveXObject" in goog.global || goog.isEdge_());
if (isEs6 && goog.inHtmlDocument_() && goog.isDocumentLoading_() && !isInternetExplorerOrEdge) {
goog.Dependency.defer_ = true;
controller.pause();
var oldCallback = doc.onreadystatechange;
doc.onreadystatechange = function() {
if (doc.readyState == "interactive") {
doc.onreadystatechange = oldCallback;
load();
controller.resume();
}
if (typeof oldCallback === "function") {
oldCallback.apply(undefined, arguments);
}
};
} else {
if (!goog.inHtmlDocument_() || !goog.isDocumentLoading_()) {
load();
} else {
fetchInOwnScriptThenLoad();
}
}
};
goog.TransformedDependency.prototype.transform = function(contents) {
};
goog.PreTranspiledEs6ModuleDependency = function(path, relativePath, provides, requires, loadFlags) {
goog.PreTranspiledEs6ModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
};
goog.inherits(goog.PreTranspiledEs6ModuleDependency, goog.TransformedDependency);
goog.PreTranspiledEs6ModuleDependency.prototype.transform = function(contents) {
return contents;
};
goog.GoogModuleDependency = function(path, relativePath, provides, requires, loadFlags) {
goog.GoogModuleDependency.base(this, "constructor", path, relativePath, provides, requires, loadFlags);
};
goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency);
goog.GoogModuleDependency.prototype.transform = function(contents) {
if (!goog.LOAD_MODULE_USING_EVAL || goog.global.JSON === undefined) {
return "" + "goog.loadModule(function(exports) {" + '"use strict";' + contents + "\n" + ";return exports" + "});" + "\n//# sourceURL\x3d" + this.path + "\n";
} else {
return "" + "goog.loadModule(" + goog.global.JSON.stringify(contents + "\n//# sourceURL\x3d" + this.path + "\n") + ");";
}
};
goog.DebugLoader_.prototype.addDependency = function(relPath, provides, requires, opt_loadFlags) {
provides = provides || [];
relPath = relPath.replace(/\\/g, "/");
var path = goog.normalizePath_(goog.basePath + relPath);
if (!opt_loadFlags || typeof opt_loadFlags === "boolean") {
opt_loadFlags = opt_loadFlags ? {"module":goog.ModuleType.GOOG} : {};
}
var dep = this.factory_.createDependency(path, relPath, provides, requires, opt_loadFlags);
this.dependencies_[path] = dep;
var i = 0;
for (; i < provides.length; i++) {
this.idToPath_[provides[i]] = path;
}
this.idToPath_[relPath] = path;
};
goog.DependencyFactory = function() {
};
goog.DependencyFactory.prototype.createDependency = function(path, relativePath, provides, requires, loadFlags) {
if (loadFlags["module"] == goog.ModuleType.GOOG) {
return new goog.GoogModuleDependency(path, relativePath, provides, requires, loadFlags);
} else {
if (loadFlags["module"] == goog.ModuleType.ES6) {
if (goog.ASSUME_ES_MODULES_TRANSPILED) {
return new goog.PreTranspiledEs6ModuleDependency(path, relativePath, provides, requires, loadFlags);
} else {
return new goog.Es6ModuleDependency(path, relativePath, provides, requires, loadFlags);
}
} else {
return new goog.Dependency(path, relativePath, provides, requires, loadFlags);
}
}
};
goog.debugLoader_ = new goog.DebugLoader_();
goog.loadClosureDeps = function() {
goog.debugLoader_.loadClosureDeps();
};
goog.setDependencyFactory = function(factory) {
goog.debugLoader_.setDependencyFactory(factory);
};
goog.TRUSTED_TYPES_POLICY_ = goog.TRUSTED_TYPES_POLICY_NAME ? goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + "#base") : null;
if (!goog.global.CLOSURE_NO_DEPS) {
goog.debugLoader_.loadClosureDeps();
}
goog.bootstrap = function(namespaces, callback) {
goog.debugLoader_.bootstrap(namespaces, callback);
};
}
if (!COMPILED) {
var isChrome87 = false;
try {
isChrome87 = eval(goog.global.trustedTypes.emptyScript) !== goog.global.trustedTypes.emptyScript;
} catch (err) {
}
goog.CLOSURE_EVAL_PREFILTER_ = goog.global.trustedTypes && isChrome87 && goog.createTrustedTypesPolicy("goog#base#devonly#eval") || {createScript:goog.identity_};
}
var SHADOW_ENV = function() {
var env = {};
var loadedFiles = env.loadedFiles = {};
var doc = goog.global.document;
if (!doc) {
throw new Error("browser bootstrap used in incorrect target");
}
var scriptBase = goog.global.window.location.origin;
if (CLOSURE_BASE_PATH[0] == '/') {
scriptBase = scriptBase + CLOSURE_BASE_PATH;
} else {
// FIXME: need to handle relative paths
scriptBase = CLOSURE_BASE_PATH;
}
env.scriptBase = scriptBase;
var wentAsync = false;
var canDocumentWrite = function() {
return !wentAsync && doc.readyState == "loading";
};
var reportError = function(path, e) {
// chrome displays e.stack in a usable way while firefox is just a garbled mess
if (e.constructor.toString().indexOf("function cljs$core$ExceptionInfo") === 0 && navigator.appVersion.indexOf("Chrome") != -1) {
console.error(e);
console.error(e.stack);
} else {
console.error(e);
}
console.warn("The above error occurred when loading \"" + path + "\". Any additional errors after that one may be the result of that failure. In general your code cannot be trusted to execute properly after such a failure. Make sure to fix the first one before looking at others.");
};
var asyncLoad = (function() {
var loadOrder = [];
var loadState = {};
function loadPending() {
for (var i = 0, len = loadOrder.length; i < len; i++) {
var uri = loadOrder[i];
var state = loadState[uri];
if (typeof state === "string") {
loadState[uri] = true;
if (state != "") {
var code = state + "\n//# sourceURL=" + uri + "\n";
try {
goog.globalEval(code);
} catch (e) {
reportError(uri, e);
}
}
} else if (state === true) {
continue;
} else {
break;
}
}
}
// ie11 doesn't have fetch, use xhr instead
// FIXME: not sure if fetch provides any benefit over xhr
if (typeof window.fetch === "undefined") {
return function asyncXhr(uri) {
loadOrder.push(uri);
loadState[uri] = false;
var req = new XMLHttpRequest();
req.onload = function(e) {
loadState[uri] = req.responseText;
loadPending();
};
req.open("GET", uri);
req.send();
}
} else {
function responseText(response) {
// FIXME: check status
return response.text();
}
function evalFetch(uri) {
return function(code) {
loadState[uri] = code;
loadPending();
};
}
return function asyncFetch(uri) {
if (loadState[uri] == undefined) {
loadState[uri] = false;
loadOrder.push(uri);
fetch(uri)
.then(responseText)
.then(evalFetch(uri));
}
};
}
})();
env.load = function(opts, paths) {
var docWrite = opts.forceAsync ? false : canDocumentWrite();
paths.forEach(function(path) {
if (!loadedFiles[path]) {
loadedFiles[path] = true;
var uri = scriptBase + path;
if (docWrite) {
document.write(
"<script src='" + uri + "' type='text/javascript'></script>"
);
} else {
// once async always async
wentAsync = true;
asyncLoad(uri);
}
}
});
};
env.isLoaded = function(path) {
return loadedFiles[path] || false; // false is better than undefined
};
env.setLoaded = function(path) {
loadedFiles[path] = true;
};
env.evalLoad = function(path, sourceMap, code) {
loadedFiles[path] = true;
code += ("\n//# sourceURL=" + scriptBase + path);
if (sourceMap) {
code += ("\n//# sourceMappingURL=" + path + ".map");
}
try {
goog.globalEval(code);
} catch (e) {
reportError(path, e);
}
}
return env;
}.call(this);
goog.global["$CLJS"] = goog.global;
SHADOW_ENV.evalLoad("goog.debug.error.js", true, "goog.loadModule(function(exports) {\n function DebugError(msg \x3d undefined, cause \x3d undefined) {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, DebugError);\n } else {\n const stack \x3d (new Error()).stack;\n if (stack) {\n this.stack \x3d stack;\n }\n }\n if (msg) {\n this.message \x3d String(msg);\n }\n if (cause !\x3d\x3d undefined) {\n this.cause \x3d cause;\n }\n this.reportErrorToServer \x3d true;\n }\n \x22use strict\x22;\n goog.module(\x22goog.debug.Error\x22);\n goog.module.declareLegacyNamespace();\n goog.inherits(DebugError, Error);\n DebugError.prototype.name \x3d \x22CustomError\x22;\n exports \x3d DebugError;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.dom.nodetype.js", true, "goog.provide(\x22goog.dom.NodeType\x22);\ngoog.dom.NodeType \x3d {ELEMENT:1, ATTRIBUTE:2, TEXT:3, CDATA_SECTION:4, ENTITY_REFERENCE:5, ENTITY:6, PROCESSING_INSTRUCTION:7, COMMENT:8, DOCUMENT:9, DOCUMENT_TYPE:10, DOCUMENT_FRAGMENT:11, NOTATION:12};\n");
SHADOW_ENV.evalLoad("goog.asserts.asserts.js", true, "goog.loadModule(function(exports) {\n function AssertionError(messagePattern, messageArgs) {\n DebugError.call(this, subs(messagePattern, messageArgs));\n this.messagePattern \x3d messagePattern;\n }\n function subs(pattern, subs) {\n const splitParts \x3d pattern.split(\x22%s\x22);\n let returnString \x3d \x22\x22;\n const subLast \x3d splitParts.length - 1;\n for (let i \x3d 0; i \x3c subLast; i++) {\n const sub \x3d i \x3c subs.length ? subs[i] : \x22%s\x22;\n returnString \x3d returnString + (splitParts[i] + sub);\n }\n return returnString + splitParts[subLast];\n }\n function doAssertFailure(defaultMessage, defaultArgs, givenMessage, givenArgs) {\n let message \x3d \x22Assertion failed\x22;\n let args;\n if (givenMessage) {\n message \x3d message + (\x22: \x22 + givenMessage);\n args \x3d givenArgs;\n } else if (defaultMessage) {\n message \x3d message + (\x22: \x22 + defaultMessage);\n args \x3d defaultArgs;\n }\n const e \x3d new AssertionError(\x22\x22 + message, args || []);\n errorHandler_(e);\n }\n function getType(value) {\n if (value instanceof Function) {\n return value.displayName || value.name || \x22unknown type name\x22;\n } else if (value instanceof Object) {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } else {\n return value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n }\n \x22use strict\x22;\n goog.module(\x22goog.asserts\x22);\n goog.module.declareLegacyNamespace();\n const DebugError \x3d goog.require(\x22goog.debug.Error\x22);\n const NodeType \x3d goog.require(\x22goog.dom.NodeType\x22);\n exports.ENABLE_ASSERTS \x3d goog.define(\x22goog.asserts.ENABLE_ASSERTS\x22, goog.DEBUG);\n goog.inherits(AssertionError, DebugError);\n exports.AssertionError \x3d AssertionError;\n AssertionError.prototype.name \x3d \x22AssertionError\x22;\n exports.DEFAULT_ERROR_HANDLER \x3d function(e) {\n throw e;\n };\n let errorHandler_ \x3d exports.DEFAULT_ERROR_HANDLER;\n exports.setErrorHandler \x3d function(errorHandler) {\n if (exports.ENABLE_ASSERTS) {\n errorHandler_ \x3d errorHandler;\n }\n };\n exports.assert \x3d function(condition, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 !condition) {\n doAssertFailure(\x22\x22, null, opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return condition;\n };\n exports.assertExists \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 value \x3d\x3d null) {\n doAssertFailure(\x22Expected to exist: %s.\x22, [value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.fail \x3d function(opt_message, var_args) {\n if (exports.ENABLE_ASSERTS) {\n errorHandler_(new AssertionError(\x22Failure\x22 + (opt_message ? \x22: \x22 + opt_message : \x22\x22), Array.prototype.slice.call(arguments, 1)));\n }\n };\n exports.assertNumber \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22number\x22) {\n doAssertFailure(\x22Expected number but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertString \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22string\x22) {\n doAssertFailure(\x22Expected string but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertFunction \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22function\x22) {\n doAssertFailure(\x22Expected function but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertObject \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 !goog.isObject(value)) {\n doAssertFailure(\x22Expected object but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertArray \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 !Array.isArray(value)) {\n doAssertFailure(\x22Expected array but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertBoolean \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 typeof value !\x3d\x3d \x22boolean\x22) {\n doAssertFailure(\x22Expected boolean but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertElement \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 (!goog.isObject(value) || value.nodeType !\x3d NodeType.ELEMENT)) {\n doAssertFailure(\x22Expected Element but got %s: %s.\x22, [goog.typeOf(value), value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n exports.assertInstanceof \x3d function(value, type, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 !(value instanceof type)) {\n doAssertFailure(\x22Expected instanceof %s but got %s.\x22, [getType(type), getType(value)], opt_message, Array.prototype.slice.call(arguments, 3));\n }\n return value;\n };\n exports.assertFinite \x3d function(value, opt_message, var_args) {\n if (exports.ENABLE_ASSERTS \x26\x26 (typeof value !\x3d \x22number\x22 || !isFinite(value))) {\n doAssertFailure(\x22Expected %s to be a finite number but it is not.\x22, [value], opt_message, Array.prototype.slice.call(arguments, 2));\n }\n return value;\n };\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.reflect.reflect.js", true, "goog.provide(\x22goog.reflect\x22);\ngoog.reflect.object \x3d function(type, object) {\n return object;\n};\ngoog.reflect.objectProperty \x3d function(prop, object) {\n return prop;\n};\ngoog.reflect.sinkValue \x3d function(x) {\n goog.reflect.sinkValue[\x22 \x22](x);\n return x;\n};\ngoog.reflect.sinkValue[\x22 \x22] \x3d function() {\n};\ngoog.reflect.canAccessProperty \x3d function(obj, prop) {\n try {\n goog.reflect.sinkValue(obj[prop]);\n return true;\n } catch (e) {\n }\n return false;\n};\ngoog.reflect.cache \x3d function(cacheObj, key, valueFn, opt_keyFn) {\n const storedKey \x3d opt_keyFn ? opt_keyFn(key) : key;\n if (Object.prototype.hasOwnProperty.call(cacheObj, storedKey)) {\n return cacheObj[storedKey];\n }\n return cacheObj[storedKey] \x3d valueFn(key);\n};\n");
SHADOW_ENV.evalLoad("goog.math.long.js", true, "goog.loadModule(function(exports) {\n function getCachedIntValue_(value) {\n return reflect.cache(IntCache_, value, function(val) {\n return new Long(val, val \x3c 0 ? -1 : 0);\n });\n }\n \x22use strict\x22;\n goog.module(\x22goog.math.Long\x22);\n goog.module.declareLegacyNamespace();\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n const reflect \x3d goog.require(\x22goog.reflect\x22);\n class Long {\n constructor(low, high) {\n this.low_ \x3d low | 0;\n this.high_ \x3d high | 0;\n }\n toInt() {\n return this.low_;\n }\n toNumber() {\n return this.high_ * TWO_PWR_32_DBL_ + this.getLowBitsUnsigned();\n }\n isSafeInteger() {\n var top11Bits \x3d this.high_ \x3e\x3e 21;\n return top11Bits \x3d\x3d 0 || top11Bits \x3d\x3d -1 \x26\x26 !(this.low_ \x3d\x3d 0 \x26\x26 this.high_ \x3d\x3d (4292870144 | 0));\n }\n toString(opt_radix) {\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n if (this.isSafeInteger()) {\n var asNumber \x3d this.toNumber();\n return radix \x3d\x3d 10 ? \x22\x22 + asNumber : asNumber.toString(radix);\n }\n var safeDigits \x3d 14 - (radix \x3e\x3e 2);\n var radixPowSafeDigits \x3d Math.pow(radix, safeDigits);\n var radixToPower \x3d Long.fromBits(radixPowSafeDigits, radixPowSafeDigits / TWO_PWR_32_DBL_);\n var remDiv \x3d this.div(radixToPower);\n var val \x3d Math.abs(this.subtract(remDiv.multiply(radixToPower)).toNumber());\n var digits \x3d radix \x3d\x3d 10 ? \x22\x22 + val : val.toString(radix);\n if (digits.length \x3c safeDigits) {\n digits \x3d \x220000000000000\x22.slice(digits.length - safeDigits) + digits;\n }\n val \x3d remDiv.toNumber();\n return (radix \x3d\x3d 10 ? val : val.toString(radix)) + digits;\n }\n toUnsignedString(opt_radix) {\n if (this.high_ \x3e\x3d 0) {\n return this.toString(opt_radix);\n }\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n var longRadix \x3d Long.fromInt(radix);\n var quotient \x3d this.shiftRightUnsigned(1).div(longRadix).shiftLeft(1);\n var remainder \x3d this.subtract(quotient.multiply(longRadix));\n if (remainder.greaterThanOrEqual(longRadix)) {\n quotient \x3d quotient.add(Long.getOne());\n remainder \x3d this.subtract(quotient.multiply(longRadix));\n }\n return quotient.toString(radix) + remainder.toString(radix);\n }\n getHighBits() {\n return this.high_;\n }\n getLowBits() {\n return this.low_;\n }\n getLowBitsUnsigned() {\n return this.low_ \x3e\x3e\x3e 0;\n }\n getNumBitsAbs() {\n if (this.isNegative()) {\n if (this.equals(Long.getMinValue())) {\n return 64;\n } else {\n return this.negate().getNumBitsAbs();\n }\n } else {\n var val \x3d this.high_ !\x3d 0 ? this.high_ : this.low_;\n var bit \x3d 31;\n for (; bit \x3e 0; bit--) {\n if ((val \x26 1 \x3c\x3c bit) !\x3d 0) {\n break;\n }\n }\n return this.high_ !\x3d 0 ? bit + 33 : bit + 1;\n }\n }\n isZero() {\n return this.low_ \x3d\x3d 0 \x26\x26 this.high_ \x3d\x3d 0;\n }\n isNegative() {\n return this.high_ \x3c 0;\n }\n isOdd() {\n return (this.low_ \x26 1) \x3d\x3d 1;\n }\n hashCode() {\n return this.getLowBits() ^ this.getHighBits();\n }\n equals(other) {\n return this.low_ \x3d\x3d other.low_ \x26\x26 this.high_ \x3d\x3d other.high_;\n }\n notEquals(other) {\n return !this.equals(other);\n }\n lessThan(other) {\n return this.compare(other) \x3c 0;\n }\n lessThanOrEqual(other) {\n return this.compare(other) \x3c\x3d 0;\n }\n greaterThan(other) {\n return this.compare(other) \x3e 0;\n }\n greaterThanOrEqual(other) {\n return this.compare(other) \x3e\x3d 0;\n }\n compare(other) {\n if (this.high_ \x3d\x3d other.high_) {\n if (this.low_ \x3d\x3d other.low_) {\n return 0;\n }\n return this.getLowBitsUnsigned() \x3e other.getLowBitsUnsigned() ? 1 : -1;\n }\n return this.high_ \x3e other.high_ ? 1 : -1;\n }\n negate() {\n var negLow \x3d ~this.low_ + 1 | 0;\n var overflowFromLow \x3d !negLow;\n var negHigh \x3d ~this.high_ + overflowFromLow | 0;\n return Long.fromBits(negLow, negHigh);\n }\n add(other) {\n var a48 \x3d this.high_ \x3e\x3e\x3e 16;\n var a32 \x3d this.high_ \x26 65535;\n var a16 \x3d this.low_ \x3e\x3e\x3e 16;\n var a00 \x3d this.low_ \x26 65535;\n var b48 \x3d other.high_ \x3e\x3e\x3e 16;\n var b32 \x3d other.high_ \x26 65535;\n var b16 \x3d other.low_ \x3e\x3e\x3e 16;\n var b00 \x3d other.low_ \x26 65535;\n var c48 \x3d 0;\n var c32 \x3d 0;\n var c16 \x3d 0;\n var c00 \x3d 0;\n c00 \x3d c00 + (a00 + b00);\n c16 \x3d c16 + (c00 \x3e\x3e\x3e 16);\n c00 \x3d c00 \x26 65535;\n c16 \x3d c16 + (a16 + b16);\n c32 \x3d c32 + (c16 \x3e\x3e\x3e 16);\n c16 \x3d c16 \x26 65535;\n c32 \x3d c32 + (a32 + b32);\n c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n c32 \x3d c32 \x26 65535;\n c48 \x3d c48 + (a48 + b48);\n c48 \x3d c48 \x26 65535;\n return Long.fromBits(c16 \x3c\x3c 16 | c00, c48 \x3c\x3c 16 | c32);\n }\n subtract(other) {\n return this.add(other.negate());\n }\n multiply(other) {\n if (this.isZero()) {\n return this;\n }\n if (other.isZero()) {\n return other;\n }\n var a48 \x3d this.high_ \x3e\x3e\x3e 16;\n var a32 \x3d this.high_ \x26 65535;\n var a16 \x3d this.low_ \x3e\x3e\x3e 16;\n var a00 \x3d this.low_ \x26 65535;\n var b48 \x3d other.high_ \x3e\x3e\x3e 16;\n var b32 \x3d other.high_ \x26 65535;\n var b16 \x3d other.low_ \x3e\x3e\x3e 16;\n var b00 \x3d other.low_ \x26 65535;\n var c48 \x3d 0;\n var c32 \x3d 0;\n var c16 \x3d 0;\n var c00 \x3d 0;\n c00 \x3d c00 + a00 * b00;\n c16 \x3d c16 + (c00 \x3e\x3e\x3e 16);\n c00 \x3d c00 \x26 65535;\n c16 \x3d c16 + a16 * b00;\n c32 \x3d c32 + (c16 \x3e\x3e\x3e 16);\n c16 \x3d c16 \x26 65535;\n c16 \x3d c16 + a00 * b16;\n c32 \x3d c32 + (c16 \x3e\x3e\x3e 16);\n c16 \x3d c16 \x26 65535;\n c32 \x3d c32 + a32 * b00;\n c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n c32 \x3d c32 \x26 65535;\n c32 \x3d c32 + a16 * b16;\n c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n c32 \x3d c32 \x26 65535;\n c32 \x3d c32 + a00 * b32;\n c48 \x3d c48 + (c32 \x3e\x3e\x3e 16);\n c32 \x3d c32 \x26 65535;\n c48 \x3d c48 + (a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48);\n c48 \x3d c48 \x26 65535;\n return Long.fromBits(c16 \x3c\x3c 16 | c00, c48 \x3c\x3c 16 | c32);\n }\n div(other) {\n if (other.isZero()) {\n throw new Error(\x22division by zero\x22);\n }\n if (this.isNegative()) {\n if (this.equals(Long.getMinValue())) {\n if (other.equals(Long.getOne()) || other.equals(Long.getNegOne())) {\n return Long.getMinValue();\n }\n if (other.equals(Long.getMinValue())) {\n return Long.getOne();\n }\n var halfThis \x3d this.shiftRight(1);\n var approx \x3d halfThis.div(other).shiftLeft(1);\n if (approx.equals(Long.getZero())) {\n return other.isNegative() ? Long.getOne() : Long.getNegOne();\n }\n var rem \x3d this.subtract(other.multiply(approx));\n var result \x3d approx.add(rem.div(other));\n return result;\n }\n if (other.isNegative()) {\n return this.negate().div(other.negate());\n }\n return this.negate().div(other).negate();\n }\n if (this.isZero()) {\n return Long.getZero();\n }\n if (other.isNegative()) {\n if (other.equals(Long.getMinValue())) {\n return Long.getZero();\n }\n return this.div(other.negate()).negate();\n }\n var res \x3d Long.getZero();\n rem \x3d this;\n for (; rem.greaterThanOrEqual(other);) {\n approx \x3d Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));\n var log2 \x3d Math.ceil(Math.log(approx) / Math.LN2);\n var delta \x3d log2 \x3c\x3d 48 ? 1 : Math.pow(2, log2 - 48);\n var approxRes \x3d Long.fromNumber(approx);\n var approxRem \x3d approxRes.multiply(other);\n for (; approxRem.isNegative() || approxRem.greaterThan(rem);) {\n approx \x3d approx - delta;\n approxRes \x3d Long.fromNumber(approx);\n approxRem \x3d approxRes.multiply(other);\n }\n if (approxRes.isZero()) {\n approxRes \x3d Long.getOne();\n }\n res \x3d res.add(approxRes);\n rem \x3d rem.subtract(approxRem);\n }\n return res;\n }\n modulo(other) {\n return this.subtract(this.div(other).multiply(other));\n }\n not() {\n return Long.fromBits(~this.low_, ~this.high_);\n }\n and(other) {\n return Long.fromBits(this.low_ \x26 other.low_, this.high_ \x26 other.high_);\n }\n or(other) {\n return Long.fromBits(this.low_ | other.low_, this.high_ | other.high_);\n }\n xor(other) {\n return Long.fromBits(this.low_ ^ other.low_, this.high_ ^ other.high_);\n }\n shiftLeft(numBits) {\n numBits \x3d numBits \x26 63;\n if (numBits \x3d\x3d 0) {\n return this;\n } else {\n var low \x3d this.low_;\n if (numBits \x3c 32) {\n var high \x3d this.high_;\n return Long.fromBits(low \x3c\x3c numBits, high \x3c\x3c numBits | low \x3e\x3e\x3e 32 - numBits);\n } else {\n return Long.fromBits(0, low \x3c\x3c numBits - 32);\n }\n }\n }\n shiftRight(numBits) {\n numBits \x3d numBits \x26 63;\n if (numBits \x3d\x3d 0) {\n return this;\n } else {\n var high \x3d this.high_;\n if (numBits \x3c 32) {\n var low \x3d this.low_;\n return Long.fromBits(low \x3e\x3e\x3e numBits | high \x3c\x3c 32 - numBits, high \x3e\x3e numBits);\n } else {\n return Long.fromBits(high \x3e\x3e numBits - 32, high \x3e\x3d 0 ? 0 : -1);\n }\n }\n }\n shiftRightUnsigned(numBits) {\n numBits \x3d numBits \x26 63;\n if (numBits \x3d\x3d 0) {\n return this;\n } else {\n var high \x3d this.high_;\n if (numBits \x3c 32) {\n var low \x3d this.low_;\n return Long.fromBits(low \x3e\x3e\x3e numBits | high \x3c\x3c 32 - numBits, high \x3e\x3e\x3e numBits);\n } else if (numBits \x3d\x3d 32) {\n return Long.fromBits(high, 0);\n } else {\n return Long.fromBits(high \x3e\x3e\x3e numBits - 32, 0);\n }\n }\n }\n static fromInt(value) {\n var intValue \x3d value | 0;\n asserts.assert(value \x3d\x3d\x3d intValue, \x22value should be a 32-bit integer\x22);\n if (-128 \x3c\x3d intValue \x26\x26 intValue \x3c 128) {\n return getCachedIntValue_(intValue);\n } else {\n return new Long(intValue, intValue \x3c 0 ? -1 : 0);\n }\n }\n static fromNumber(value) {\n if (value \x3e 0) {\n if (value \x3e\x3d TWO_PWR_63_DBL_) {\n return Long.getMaxValue();\n }\n return new Long(value, value / TWO_PWR_32_DBL_);\n } else if (value \x3c 0) {\n if (value \x3c\x3d -TWO_PWR_63_DBL_) {\n return Long.getMinValue();\n }\n return (new Long(-value, -value / TWO_PWR_32_DBL_)).negate();\n } else {\n return Long.getZero();\n }\n }\n static fromBits(lowBits, highBits) {\n return new Long(lowBits, highBits);\n }\n static fromString(str, opt_radix) {\n if (str.charAt(0) \x3d\x3d \x22-\x22) {\n return Long.fromString(str.substring(1), opt_radix).negate();\n }\n var numberValue \x3d parseInt(str, opt_radix || 10);\n if (numberValue \x3c\x3d MAX_SAFE_INTEGER_) {\n return new Long(numberValue % TWO_PWR_32_DBL_ | 0, numberValue / TWO_PWR_32_DBL_ | 0);\n }\n if (str.length \x3d\x3d 0) {\n throw new Error(\x22number format error: empty string\x22);\n }\n if (str.indexOf(\x22-\x22) \x3e\x3d 0) {\n throw new Error(\x27number format error: interior \x22-\x22 character: \x27 + str);\n }\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n var radixToPower \x3d Long.fromNumber(Math.pow(radix, 8));\n var result \x3d Long.getZero();\n var i \x3d 0;\n for (; i \x3c str.length; i \x3d i + 8) {\n var size \x3d Math.min(8, str.length - i);\n var value \x3d parseInt(str.substring(i, i + size), radix);\n if (size \x3c 8) {\n var power \x3d Long.fromNumber(Math.pow(radix, size));\n result \x3d result.multiply(power).add(Long.fromNumber(value));\n } else {\n result \x3d result.multiply(radixToPower);\n result \x3d result.add(Long.fromNumber(value));\n }\n }\n return result;\n }\n static isStringInRange(str, opt_radix) {\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n var extremeValue \x3d str.charAt(0) \x3d\x3d \x22-\x22 ? MIN_VALUE_FOR_RADIX_[radix] : MAX_VALUE_FOR_RADIX_[radix];\n if (str.length \x3c extremeValue.length) {\n return true;\n } else if (str.length \x3d\x3d extremeValue.length \x26\x26 str \x3c\x3d extremeValue) {\n return true;\n } else {\n return false;\n }\n }\n static getZero() {\n return ZERO_;\n }\n static getOne() {\n return ONE_;\n }\n static getNegOne() {\n return NEG_ONE_;\n }\n static getMaxValue() {\n return MAX_VALUE_;\n }\n static getMinValue() {\n return MIN_VALUE_;\n }\n static getTwoPwr24() {\n return TWO_PWR_24_;\n }\n }\n exports \x3d Long;\n const IntCache_ \x3d {};\n const MAX_VALUE_FOR_RADIX_ \x3d [\x22\x22, \x22\x22, \x22111111111111111111111111111111111111111111111111111111111111111\x22, \x222021110011022210012102010021220101220221\x22, \x2213333333333333333333333333333333\x22, \x221104332401304422434310311212\x22, \x221540241003031030222122211\x22, \x2222341010611245052052300\x22, \x22777777777777777777777\x22, \x2267404283172107811827\x22, \x229223372036854775807\x22, \x221728002635214590697\x22, \x2241a792678515120367\x22, \x2210b269549075433c37\x22, \x224340724c6c71dc7a7\x22, \x22160e2ad3246366807\x22, \x227fffffffffffffff\x22, \x2233d3d8307b214008\x22, \x2216agh595df825fa7\x22, \n \x22ba643dci0ffeehh\x22, \x225cbfjia3fh26ja7\x22, \x222heiciiie82dh97\x22, \x221adaibb21dckfa7\x22, \x22i6k448cf4192c2\x22, \x22acd772jnc9l0l7\x22, \x2264ie1focnn5g77\x22, \x223igoecjbmca687\x22, \x2227c48l5b37oaop\x22, \x221bk39f3ah3dmq7\x22, \x22q1se8f0m04isb\x22, \x22hajppbc1fc207\x22, \x22bm03i95hia437\x22, \x227vvvvvvvvvvvv\x22, \x225hg4ck9jd4u37\x22, \x223tdtk1v8j6tpp\x22, \x222pijmikexrxp7\x22, \x221y2p0ij32e8e7\x22];\n const MIN_VALUE_FOR_RADIX_ \x3d [\x22\x22, \x22\x22, \x22-1000000000000000000000000000000000000000000000000000000000000000\x22, \x22-2021110011022210012102010021220101220222\x22, \x22-20000000000000000000000000000000\x22, \x22-1104332401304422434310311213\x22, \x22-1540241003031030222122212\x22, \x22-22341010611245052052301\x22, \x22-1000000000000000000000\x22, \x22-67404283172107811828\x22, \x22-9223372036854775808\x22, \x22-1728002635214590698\x22, \x22-41a792678515120368\x22, \x22-10b269549075433c38\x22, \x22-4340724c6c71dc7a8\x22, \x22-160e2ad3246366808\x22, \x22-8000000000000000\x22, \x22-33d3d8307b214009\x22, \n \x22-16agh595df825fa8\x22, \x22-ba643dci0ffeehi\x22, \x22-5cbfjia3fh26ja8\x22, \x22-2heiciiie82dh98\x22, \x22-1adaibb21dckfa8\x22, \x22-i6k448cf4192c3\x22, \x22-acd772jnc9l0l8\x22, \x22-64ie1focnn5g78\x22, \x22-3igoecjbmca688\x22, \x22-27c48l5b37oaoq\x22, \x22-1bk39f3ah3dmq8\x22, \x22-q1se8f0m04isc\x22, \x22-hajppbc1fc208\x22, \x22-bm03i95hia438\x22, \x22-8000000000000\x22, \x22-5hg4ck9jd4u38\x22, \x22-3tdtk1v8j6tpq\x22, \x22-2pijmikexrxp8\x22, \x22-1y2p0ij32e8e8\x22];\n const MAX_SAFE_INTEGER_ \x3d 9007199254740991;\n const TWO_PWR_32_DBL_ \x3d 4294967296;\n const TWO_PWR_63_DBL_ \x3d 0x7fffffffffffffff;\n const ZERO_ \x3d Long.fromBits(0, 0);\n const ONE_ \x3d Long.fromBits(1, 0);\n const NEG_ONE_ \x3d Long.fromBits(-1, -1);\n const MAX_VALUE_ \x3d Long.fromBits(4294967295, 2147483647);\n const MIN_VALUE_ \x3d Long.fromBits(0, 2147483648);\n const TWO_PWR_24_ \x3d Long.fromBits(1 \x3c\x3c 24, 0);\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.math.integer.js", true, "goog.provide(\x22goog.math.Integer\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.math.Integer \x3d function(bits, sign) {\n this.sign_ \x3d sign;\n var localBits \x3d [];\n var top \x3d true;\n var i \x3d bits.length - 1;\n for (; i \x3e\x3d 0; i--) {\n var val \x3d bits[i] | 0;\n if (!top || val !\x3d sign) {\n localBits[i] \x3d val;\n top \x3d false;\n }\n }\n this.bits_ \x3d localBits;\n};\ngoog.math.Integer.IntCache_ \x3d {};\ngoog.math.Integer.fromInt \x3d function(value) {\n if (-128 \x3c\x3d value \x26\x26 value \x3c 128) {\n return goog.reflect.cache(goog.math.Integer.IntCache_, value, function(val) {\n return new goog.math.Integer([val | 0], val \x3c 0 ? -1 : 0);\n });\n }\n return new goog.math.Integer([value | 0], value \x3c 0 ? -1 : 0);\n};\ngoog.math.Integer.fromNumber \x3d function(value) {\n if (isNaN(value) || !isFinite(value)) {\n return goog.math.Integer.ZERO;\n } else if (value \x3c 0) {\n return goog.math.Integer.fromNumber(-value).negate();\n } else {\n var bits \x3d [];\n var pow \x3d 1;\n var i \x3d 0;\n for (; value \x3e\x3d pow; i++) {\n bits[i] \x3d value / pow | 0;\n pow \x3d pow * goog.math.Integer.TWO_PWR_32_DBL_;\n }\n return new goog.math.Integer(bits, 0);\n }\n};\ngoog.math.Integer.fromBits \x3d function(bits) {\n var high \x3d bits[bits.length - 1];\n return new goog.math.Integer(bits, high \x26 1 \x3c\x3c 31 ? -1 : 0);\n};\ngoog.math.Integer.fromString \x3d function(str, opt_radix) {\n if (str.length \x3d\x3d 0) {\n throw new Error(\x22number format error: empty string\x22);\n }\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n if (str.charAt(0) \x3d\x3d \x22-\x22) {\n return goog.math.Integer.fromString(str.substring(1), radix).negate();\n } else if (str.indexOf(\x22-\x22) \x3e\x3d 0) {\n throw new Error(\x27number format error: interior \x22-\x22 character\x27);\n }\n var radixToPower \x3d goog.math.Integer.fromNumber(Math.pow(radix, 8));\n var result \x3d goog.math.Integer.ZERO;\n var i \x3d 0;\n for (; i \x3c str.length; i \x3d i + 8) {\n var size \x3d Math.min(8, str.length - i);\n var value \x3d parseInt(str.substring(i, i + size), radix);\n if (size \x3c 8) {\n var power \x3d goog.math.Integer.fromNumber(Math.pow(radix, size));\n result \x3d result.multiply(power).add(goog.math.Integer.fromNumber(value));\n } else {\n result \x3d result.multiply(radixToPower);\n result \x3d result.add(goog.math.Integer.fromNumber(value));\n }\n }\n return result;\n};\ngoog.math.Integer.TWO_PWR_32_DBL_ \x3d (1 \x3c\x3c 16) * (1 \x3c\x3c 16);\ngoog.math.Integer.ZERO \x3d goog.math.Integer.fromInt(0);\ngoog.math.Integer.ONE \x3d goog.math.Integer.fromInt(1);\ngoog.math.Integer.TWO_PWR_24_ \x3d goog.math.Integer.fromInt(1 \x3c\x3c 24);\ngoog.math.Integer.prototype.toInt \x3d function() {\n return this.bits_.length \x3e 0 ? this.bits_[0] : this.sign_;\n};\ngoog.math.Integer.prototype.toNumber \x3d function() {\n if (this.isNegative()) {\n return -this.negate().toNumber();\n } else {\n var val \x3d 0;\n var pow \x3d 1;\n var i \x3d 0;\n for (; i \x3c this.bits_.length; i++) {\n val \x3d val + this.getBitsUnsigned(i) * pow;\n pow \x3d pow * goog.math.Integer.TWO_PWR_32_DBL_;\n }\n return val;\n }\n};\ngoog.math.Integer.prototype.toString \x3d function(opt_radix) {\n var radix \x3d opt_radix || 10;\n if (radix \x3c 2 || 36 \x3c radix) {\n throw new Error(\x22radix out of range: \x22 + radix);\n }\n if (this.isZero()) {\n return \x220\x22;\n } else if (this.isNegative()) {\n return \x22-\x22 + this.negate().toString(radix);\n }\n var radixToPower \x3d goog.math.Integer.fromNumber(Math.pow(radix, 6));\n var rem \x3d this;\n var result \x3d \x22\x22;\n for (; true;) {\n var remDiv \x3d rem.divide(radixToPower);\n var intval \x3d rem.subtract(remDiv.multiply(radixToPower)).toInt() \x3e\x3e\x3e 0;\n var digits \x3d intval.toString(radix);\n rem \x3d remDiv;\n if (rem.isZero()) {\n return digits + result;\n } else {\n for (; digits.length \x3c 6;) {\n digits \x3d \x220\x22 + digits;\n }\n result \x3d \x22\x22 + digits + result;\n }\n }\n};\ngoog.math.Integer.prototype.getBits \x3d function(index) {\n if (index \x3c 0) {\n return 0;\n } else if (index \x3c this.bits_.length) {\n return this.bits_[index];\n } else {\n return this.sign_;\n }\n};\ngoog.math.Integer.prototype.getBitsUnsigned \x3d function(index) {\n var val \x3d this.getBits(index);\n return val \x3e\x3d 0 ? val : goog.math.Integer.TWO_PWR_32_DBL_ + val;\n};\ngoog.math.Integer.prototype.getSign \x3d function() {\n return this.sign_;\n};\ngoog.math.Integer.prototype.isZero \x3d function() {\n if (this.sign_ !\x3d 0) {\n return false;\n }\n var i \x3d 0;\n for (; i \x3c this.bits_.length; i++) {\n if (this.bits_[i] !\x3d 0) {\n return false;\n }\n }\n return true;\n};\ngoog.math.Integer.prototype.isNegative \x3d function() {\n return this.sign_ \x3d\x3d -1;\n};\ngoog.math.Integer.prototype.isOdd \x3d function() {\n return this.bits_.length \x3d\x3d 0 \x26\x26 this.sign_ \x3d\x3d -1 || this.bits_.length \x3e 0 \x26\x26 (this.bits_[0] \x26 1) !\x3d 0;\n};\ngoog.math.Integer.prototype.equals \x3d function(other) {\n if (this.sign_ !\x3d other.sign_) {\n return false;\n }\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var i \x3d 0;\n for (; i \x3c len; i++) {\n if (this.getBits(i) !\x3d other.getBits(i)) {\n return false;\n }\n }\n return true;\n};\ngoog.math.Integer.prototype.notEquals \x3d function(other) {\n return !this.equals(other);\n};\ngoog.math.Integer.prototype.greaterThan \x3d function(other) {\n return this.compare(other) \x3e 0;\n};\ngoog.math.Integer.prototype.greaterThanOrEqual \x3d function(other) {\n return this.compare(other) \x3e\x3d 0;\n};\ngoog.math.Integer.prototype.lessThan \x3d function(other) {\n return this.compare(other) \x3c 0;\n};\ngoog.math.Integer.prototype.lessThanOrEqual \x3d function(other) {\n return this.compare(other) \x3c\x3d 0;\n};\ngoog.math.Integer.prototype.compare \x3d function(other) {\n var diff \x3d this.subtract(other);\n if (diff.isNegative()) {\n return -1;\n } else if (diff.isZero()) {\n return 0;\n } else {\n return +1;\n }\n};\ngoog.math.Integer.prototype.shorten \x3d function(numBits) {\n var arr_index \x3d numBits - 1 \x3e\x3e 5;\n var bit_index \x3d (numBits - 1) % 32;\n var bits \x3d [];\n var i \x3d 0;\n for (; i \x3c arr_index; i++) {\n bits[i] \x3d this.getBits(i);\n }\n var sigBits \x3d bit_index \x3d\x3d 31 ? 4294967295 : (1 \x3c\x3c bit_index + 1) - 1;\n var val \x3d this.getBits(arr_index) \x26 sigBits;\n if (val \x26 1 \x3c\x3c bit_index) {\n val \x3d val | 4294967295 - sigBits;\n bits[arr_index] \x3d val;\n return new goog.math.Integer(bits, -1);\n } else {\n bits[arr_index] \x3d val;\n return new goog.math.Integer(bits, 0);\n }\n};\ngoog.math.Integer.prototype.negate \x3d function() {\n return this.not().add(goog.math.Integer.ONE);\n};\ngoog.math.Integer.prototype.abs \x3d function() {\n return this.isNegative() ? this.negate() : this;\n};\ngoog.math.Integer.prototype.add \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n var carry \x3d 0;\n var i \x3d 0;\n for (; i \x3c\x3d len; i++) {\n var a1 \x3d this.getBits(i) \x3e\x3e\x3e 16;\n var a0 \x3d this.getBits(i) \x26 65535;\n var b1 \x3d other.getBits(i) \x3e\x3e\x3e 16;\n var b0 \x3d other.getBits(i) \x26 65535;\n var c0 \x3d carry + a0 + b0;\n var c1 \x3d (c0 \x3e\x3e\x3e 16) + a1 + b1;\n carry \x3d c1 \x3e\x3e\x3e 16;\n c0 \x3d c0 \x26 65535;\n c1 \x3d c1 \x26 65535;\n arr[i] \x3d c1 \x3c\x3c 16 | c0;\n }\n return goog.math.Integer.fromBits(arr);\n};\ngoog.math.Integer.prototype.subtract \x3d function(other) {\n return this.add(other.negate());\n};\ngoog.math.Integer.prototype.multiply \x3d function(other) {\n if (this.isZero()) {\n return goog.math.Integer.ZERO;\n } else if (other.isZero()) {\n return goog.math.Integer.ZERO;\n }\n if (this.isNegative()) {\n if (other.isNegative()) {\n return this.negate().multiply(other.negate());\n } else {\n return this.negate().multiply(other).negate();\n }\n } else if (other.isNegative()) {\n return this.multiply(other.negate()).negate();\n }\n if (this.lessThan(goog.math.Integer.TWO_PWR_24_) \x26\x26 other.lessThan(goog.math.Integer.TWO_PWR_24_)) {\n return goog.math.Integer.fromNumber(this.toNumber() * other.toNumber());\n }\n var len \x3d this.bits_.length + other.bits_.length;\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c 2 * len; i++) {\n arr[i] \x3d 0;\n }\n i \x3d 0;\n for (; i \x3c this.bits_.length; i++) {\n var j \x3d 0;\n for (; j \x3c other.bits_.length; j++) {\n var a1 \x3d this.getBits(i) \x3e\x3e\x3e 16;\n var a0 \x3d this.getBits(i) \x26 65535;\n var b1 \x3d other.getBits(j) \x3e\x3e\x3e 16;\n var b0 \x3d other.getBits(j) \x26 65535;\n arr[2 * i + 2 * j] +\x3d a0 * b0;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j);\n arr[2 * i + 2 * j + 1] +\x3d a1 * b0;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 1);\n arr[2 * i + 2 * j + 1] +\x3d a0 * b1;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 1);\n arr[2 * i + 2 * j + 2] +\x3d a1 * b1;\n goog.math.Integer.carry16_(arr, 2 * i + 2 * j + 2);\n }\n }\n i \x3d 0;\n for (; i \x3c len; i++) {\n arr[i] \x3d arr[2 * i + 1] \x3c\x3c 16 | arr[2 * i];\n }\n i \x3d len;\n for (; i \x3c 2 * len; i++) {\n arr[i] \x3d 0;\n }\n return new goog.math.Integer(arr, 0);\n};\ngoog.math.Integer.carry16_ \x3d function(bits, index) {\n for (; (bits[index] \x26 65535) !\x3d bits[index];) {\n bits[index + 1] +\x3d bits[index] \x3e\x3e\x3e 16;\n bits[index] \x26\x3d 65535;\n index++;\n }\n};\ngoog.math.Integer.prototype.slowDivide_ \x3d function(other) {\n if (this.isNegative() || other.isNegative()) {\n throw new Error(\x22slowDivide_ only works with positive integers.\x22);\n }\n var twoPower \x3d goog.math.Integer.ONE;\n var multiple \x3d other;\n for (; multiple.lessThanOrEqual(this);) {\n twoPower \x3d twoPower.shiftLeft(1);\n multiple \x3d multiple.shiftLeft(1);\n }\n var res \x3d twoPower.shiftRight(1);\n var total \x3d multiple.shiftRight(1);\n var total2;\n multiple \x3d multiple.shiftRight(2);\n twoPower \x3d twoPower.shiftRight(2);\n for (; !multiple.isZero();) {\n total2 \x3d total.add(multiple);\n if (total2.lessThanOrEqual(this)) {\n res \x3d res.add(twoPower);\n total \x3d total2;\n }\n multiple \x3d multiple.shiftRight(1);\n twoPower \x3d twoPower.shiftRight(1);\n }\n var remainder \x3d this.subtract(res.multiply(other));\n return new goog.math.Integer.DivisionResult(res, remainder);\n};\ngoog.math.Integer.prototype.divide \x3d function(other) {\n return this.divideAndRemainder(other).quotient;\n};\ngoog.math.Integer.DivisionResult \x3d function(quotient, remainder) {\n this.quotient \x3d quotient;\n this.remainder \x3d remainder;\n};\ngoog.math.Integer.prototype.divideAndRemainder \x3d function(other) {\n if (other.isZero()) {\n throw new Error(\x22division by zero\x22);\n } else if (this.isZero()) {\n return new goog.math.Integer.DivisionResult(goog.math.Integer.ZERO, goog.math.Integer.ZERO);\n }\n if (this.isNegative()) {\n var result \x3d this.negate().divideAndRemainder(other);\n return new goog.math.Integer.DivisionResult(result.quotient.negate(), result.remainder.negate());\n } else if (other.isNegative()) {\n result \x3d this.divideAndRemainder(other.negate());\n return new goog.math.Integer.DivisionResult(result.quotient.negate(), result.remainder);\n }\n if (this.bits_.length \x3e 30) {\n return this.slowDivide_(other);\n }\n var res \x3d goog.math.Integer.ZERO;\n var rem \x3d this;\n for (; rem.greaterThanOrEqual(other);) {\n var approx \x3d Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));\n var log2 \x3d Math.ceil(Math.log(approx) / Math.LN2);\n var delta \x3d log2 \x3c\x3d 48 ? 1 : Math.pow(2, log2 - 48);\n var approxRes \x3d goog.math.Integer.fromNumber(approx);\n var approxRem \x3d approxRes.multiply(other);\n for (; approxRem.isNegative() || approxRem.greaterThan(rem);) {\n approx \x3d approx - delta;\n approxRes \x3d goog.math.Integer.fromNumber(approx);\n approxRem \x3d approxRes.multiply(other);\n }\n if (approxRes.isZero()) {\n approxRes \x3d goog.math.Integer.ONE;\n }\n res \x3d res.add(approxRes);\n rem \x3d rem.subtract(approxRem);\n }\n return new goog.math.Integer.DivisionResult(res, rem);\n};\ngoog.math.Integer.prototype.modulo \x3d function(other) {\n return this.divideAndRemainder(other).remainder;\n};\ngoog.math.Integer.prototype.not \x3d function() {\n var len \x3d this.bits_.length;\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c len; i++) {\n arr[i] \x3d ~this.bits_[i];\n }\n return new goog.math.Integer(arr, ~this.sign_);\n};\ngoog.math.Integer.prototype.and \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c len; i++) {\n arr[i] \x3d this.getBits(i) \x26 other.getBits(i);\n }\n return new goog.math.Integer(arr, this.sign_ \x26 other.sign_);\n};\ngoog.math.Integer.prototype.or \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c len; i++) {\n arr[i] \x3d this.getBits(i) | other.getBits(i);\n }\n return new goog.math.Integer(arr, this.sign_ | other.sign_);\n};\ngoog.math.Integer.prototype.xor \x3d function(other) {\n var len \x3d Math.max(this.bits_.length, other.bits_.length);\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c len; i++) {\n arr[i] \x3d this.getBits(i) ^ other.getBits(i);\n }\n return new goog.math.Integer(arr, this.sign_ ^ other.sign_);\n};\ngoog.math.Integer.prototype.shiftLeft \x3d function(numBits) {\n var arr_delta \x3d numBits \x3e\x3e 5;\n var bit_delta \x3d numBits % 32;\n var len \x3d this.bits_.length + arr_delta + (bit_delta \x3e 0 ? 1 : 0);\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c len; i++) {\n if (bit_delta \x3e 0) {\n arr[i] \x3d this.getBits(i - arr_delta) \x3c\x3c bit_delta | this.getBits(i - arr_delta - 1) \x3e\x3e\x3e 32 - bit_delta;\n } else {\n arr[i] \x3d this.getBits(i - arr_delta);\n }\n }\n return new goog.math.Integer(arr, this.sign_);\n};\ngoog.math.Integer.prototype.shiftRight \x3d function(numBits) {\n var arr_delta \x3d numBits \x3e\x3e 5;\n var bit_delta \x3d numBits % 32;\n var len \x3d this.bits_.length - arr_delta;\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c len; i++) {\n if (bit_delta \x3e 0) {\n arr[i] \x3d this.getBits(i + arr_delta) \x3e\x3e\x3e bit_delta | this.getBits(i + arr_delta + 1) \x3c\x3c 32 - bit_delta;\n } else {\n arr[i] \x3d this.getBits(i + arr_delta);\n }\n }\n return new goog.math.Integer(arr, this.sign_);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.htmlelement.js", true, "goog.provide(\x22goog.dom.HtmlElement\x22);\ngoog.dom.HtmlElement \x3d function() {\n};\n");
SHADOW_ENV.evalLoad("goog.dom.tagname.js", true, "goog.provide(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.HtmlElement\x22);\ngoog.dom.TagName \x3d class {\n static cast(name, type) {\n return name;\n }\n constructor() {\n this.googDomTagName_doNotImplementThisTypeOrElse_;\n this.ensureTypeScriptRemembersTypeT_;\n }\n toString() {\n }\n};\ngoog.dom.TagName.A \x3d \x22A\x22;\ngoog.dom.TagName.ABBR \x3d \x22ABBR\x22;\ngoog.dom.TagName.ACRONYM \x3d \x22ACRONYM\x22;\ngoog.dom.TagName.ADDRESS \x3d \x22ADDRESS\x22;\ngoog.dom.TagName.APPLET \x3d \x22APPLET\x22;\ngoog.dom.TagName.AREA \x3d \x22AREA\x22;\ngoog.dom.TagName.ARTICLE \x3d \x22ARTICLE\x22;\ngoog.dom.TagName.ASIDE \x3d \x22ASIDE\x22;\ngoog.dom.TagName.AUDIO \x3d \x22AUDIO\x22;\ngoog.dom.TagName.B \x3d \x22B\x22;\ngoog.dom.TagName.BASE \x3d \x22BASE\x22;\ngoog.dom.TagName.BASEFONT \x3d \x22BASEFONT\x22;\ngoog.dom.TagName.BDI \x3d \x22BDI\x22;\ngoog.dom.TagName.BDO \x3d \x22BDO\x22;\ngoog.dom.TagName.BIG \x3d \x22BIG\x22;\ngoog.dom.TagName.BLOCKQUOTE \x3d \x22BLOCKQUOTE\x22;\ngoog.dom.TagName.BODY \x3d \x22BODY\x22;\ngoog.dom.TagName.BR \x3d \x22BR\x22;\ngoog.dom.TagName.BUTTON \x3d \x22BUTTON\x22;\ngoog.dom.TagName.CANVAS \x3d \x22CANVAS\x22;\ngoog.dom.TagName.CAPTION \x3d \x22CAPTION\x22;\ngoog.dom.TagName.CENTER \x3d \x22CENTER\x22;\ngoog.dom.TagName.CITE \x3d \x22CITE\x22;\ngoog.dom.TagName.CODE \x3d \x22CODE\x22;\ngoog.dom.TagName.COL \x3d \x22COL\x22;\ngoog.dom.TagName.COLGROUP \x3d \x22COLGROUP\x22;\ngoog.dom.TagName.COMMAND \x3d \x22COMMAND\x22;\ngoog.dom.TagName.DATA \x3d \x22DATA\x22;\ngoog.dom.TagName.DATALIST \x3d \x22DATALIST\x22;\ngoog.dom.TagName.DD \x3d \x22DD\x22;\ngoog.dom.TagName.DEL \x3d \x22DEL\x22;\ngoog.dom.TagName.DETAILS \x3d \x22DETAILS\x22;\ngoog.dom.TagName.DFN \x3d \x22DFN\x22;\ngoog.dom.TagName.DIALOG \x3d \x22DIALOG\x22;\ngoog.dom.TagName.DIR \x3d \x22DIR\x22;\ngoog.dom.TagName.DIV \x3d \x22DIV\x22;\ngoog.dom.TagName.DL \x3d \x22DL\x22;\ngoog.dom.TagName.DT \x3d \x22DT\x22;\ngoog.dom.TagName.EM \x3d \x22EM\x22;\ngoog.dom.TagName.EMBED \x3d \x22EMBED\x22;\ngoog.dom.TagName.FIELDSET \x3d \x22FIELDSET\x22;\ngoog.dom.TagName.FIGCAPTION \x3d \x22FIGCAPTION\x22;\ngoog.dom.TagName.FIGURE \x3d \x22FIGURE\x22;\ngoog.dom.TagName.FONT \x3d \x22FONT\x22;\ngoog.dom.TagName.FOOTER \x3d \x22FOOTER\x22;\ngoog.dom.TagName.FORM \x3d \x22FORM\x22;\ngoog.dom.TagName.FRAME \x3d \x22FRAME\x22;\ngoog.dom.TagName.FRAMESET \x3d \x22FRAMESET\x22;\ngoog.dom.TagName.H1 \x3d \x22H1\x22;\ngoog.dom.TagName.H2 \x3d \x22H2\x22;\ngoog.dom.TagName.H3 \x3d \x22H3\x22;\ngoog.dom.TagName.H4 \x3d \x22H4\x22;\ngoog.dom.TagName.H5 \x3d \x22H5\x22;\ngoog.dom.TagName.H6 \x3d \x22H6\x22;\ngoog.dom.TagName.HEAD \x3d \x22HEAD\x22;\ngoog.dom.TagName.HEADER \x3d \x22HEADER\x22;\ngoog.dom.TagName.HGROUP \x3d \x22HGROUP\x22;\ngoog.dom.TagName.HR \x3d \x22HR\x22;\ngoog.dom.TagName.HTML \x3d \x22HTML\x22;\ngoog.dom.TagName.I \x3d \x22I\x22;\ngoog.dom.TagName.IFRAME \x3d \x22IFRAME\x22;\ngoog.dom.TagName.IMG \x3d \x22IMG\x22;\ngoog.dom.TagName.INPUT \x3d \x22INPUT\x22;\ngoog.dom.TagName.INS \x3d \x22INS\x22;\ngoog.dom.TagName.ISINDEX \x3d \x22ISINDEX\x22;\ngoog.dom.TagName.KBD \x3d \x22KBD\x22;\ngoog.dom.TagName.KEYGEN \x3d \x22KEYGEN\x22;\ngoog.dom.TagName.LABEL \x3d \x22LABEL\x22;\ngoog.dom.TagName.LEGEND \x3d \x22LEGEND\x22;\ngoog.dom.TagName.LI \x3d \x22LI\x22;\ngoog.dom.TagName.LINK \x3d \x22LINK\x22;\ngoog.dom.TagName.MAIN \x3d \x22MAIN\x22;\ngoog.dom.TagName.MAP \x3d \x22MAP\x22;\ngoog.dom.TagName.MARK \x3d \x22MARK\x22;\ngoog.dom.TagName.MATH \x3d \x22MATH\x22;\ngoog.dom.TagName.MENU \x3d \x22MENU\x22;\ngoog.dom.TagName.MENUITEM \x3d \x22MENUITEM\x22;\ngoog.dom.TagName.META \x3d \x22META\x22;\ngoog.dom.TagName.METER \x3d \x22METER\x22;\ngoog.dom.TagName.NAV \x3d \x22NAV\x22;\ngoog.dom.TagName.NOFRAMES \x3d \x22NOFRAMES\x22;\ngoog.dom.TagName.NOSCRIPT \x3d \x22NOSCRIPT\x22;\ngoog.dom.TagName.OBJECT \x3d \x22OBJECT\x22;\ngoog.dom.TagName.OL \x3d \x22OL\x22;\ngoog.dom.TagName.OPTGROUP \x3d \x22OPTGROUP\x22;\ngoog.dom.TagName.OPTION \x3d \x22OPTION\x22;\ngoog.dom.TagName.OUTPUT \x3d \x22OUTPUT\x22;\ngoog.dom.TagName.P \x3d \x22P\x22;\ngoog.dom.TagName.PARAM \x3d \x22PARAM\x22;\ngoog.dom.TagName.PICTURE \x3d \x22PICTURE\x22;\ngoog.dom.TagName.PRE \x3d \x22PRE\x22;\ngoog.dom.TagName.PROGRESS \x3d \x22PROGRESS\x22;\ngoog.dom.TagName.Q \x3d \x22Q\x22;\ngoog.dom.TagName.RP \x3d \x22RP\x22;\ngoog.dom.TagName.RT \x3d \x22RT\x22;\ngoog.dom.TagName.RTC \x3d \x22RTC\x22;\ngoog.dom.TagName.RUBY \x3d \x22RUBY\x22;\ngoog.dom.TagName.S \x3d \x22S\x22;\ngoog.dom.TagName.SAMP \x3d \x22SAMP\x22;\ngoog.dom.TagName.SCRIPT \x3d \x22SCRIPT\x22;\ngoog.dom.TagName.SECTION \x3d \x22SECTION\x22;\ngoog.dom.TagName.SELECT \x3d \x22SELECT\x22;\ngoog.dom.TagName.SMALL \x3d \x22SMALL\x22;\ngoog.dom.TagName.SOURCE \x3d \x22SOURCE\x22;\ngoog.dom.TagName.SPAN \x3d \x22SPAN\x22;\ngoog.dom.TagName.STRIKE \x3d \x22STRIKE\x22;\ngoog.dom.TagName.STRONG \x3d \x22STRONG\x22;\ngoog.dom.TagName.STYLE \x3d \x22STYLE\x22;\ngoog.dom.TagName.SUB \x3d \x22SUB\x22;\ngoog.dom.TagName.SUMMARY \x3d \x22SUMMARY\x22;\ngoog.dom.TagName.SUP \x3d \x22SUP\x22;\ngoog.dom.TagName.SVG \x3d \x22SVG\x22;\ngoog.dom.TagName.TABLE \x3d \x22TABLE\x22;\ngoog.dom.TagName.TBODY \x3d \x22TBODY\x22;\ngoog.dom.TagName.TD \x3d \x22TD\x22;\ngoog.dom.TagName.TEMPLATE \x3d \x22TEMPLATE\x22;\ngoog.dom.TagName.TEXTAREA \x3d \x22TEXTAREA\x22;\ngoog.dom.TagName.TFOOT \x3d \x22TFOOT\x22;\ngoog.dom.TagName.TH \x3d \x22TH\x22;\ngoog.dom.TagName.THEAD \x3d \x22THEAD\x22;\ngoog.dom.TagName.TIME \x3d \x22TIME\x22;\ngoog.dom.TagName.TITLE \x3d \x22TITLE\x22;\ngoog.dom.TagName.TR \x3d \x22TR\x22;\ngoog.dom.TagName.TRACK \x3d \x22TRACK\x22;\ngoog.dom.TagName.TT \x3d \x22TT\x22;\ngoog.dom.TagName.U \x3d \x22U\x22;\ngoog.dom.TagName.UL \x3d \x22UL\x22;\ngoog.dom.TagName.VAR \x3d \x22VAR\x22;\ngoog.dom.TagName.VIDEO \x3d \x22VIDEO\x22;\ngoog.dom.TagName.WBR \x3d \x22WBR\x22;\n");
SHADOW_ENV.evalLoad("goog.dom.element.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.dom.element\x22);\n goog.module.declareLegacyNamespace();\n const NodeType \x3d goog.require(\x22goog.dom.NodeType\x22);\n const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n const HTML_NAMESPACE \x3d \x22http://www.w3.org/1999/xhtml\x22;\n const isElement \x3d value \x3d\x3e {\n return goog.isObject(value) \x26\x26 value.nodeType \x3d\x3d\x3d NodeType.ELEMENT;\n };\n const isHtmlElement \x3d value \x3d\x3e {\n return goog.isObject(value) \x26\x26 isElement(value) \x26\x26 (!value.namespaceURI || value.namespaceURI \x3d\x3d\x3d HTML_NAMESPACE);\n };\n const isHtmlElementOfType \x3d (value, tagName) \x3d\x3e {\n return goog.isObject(value) \x26\x26 isHtmlElement(value) \x26\x26 value.tagName.toUpperCase() \x3d\x3d\x3d tagName.toString();\n };\n const isHtmlAnchorElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.A);\n };\n const isHtmlButtonElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.BUTTON);\n };\n const isHtmlLinkElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.LINK);\n };\n const isHtmlImageElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.IMG);\n };\n const isHtmlAudioElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.AUDIO);\n };\n const isHtmlVideoElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.VIDEO);\n };\n const isHtmlInputElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.INPUT);\n };\n const isHtmlTextAreaElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.TEXTAREA);\n };\n const isHtmlCanvasElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.CANVAS);\n };\n const isHtmlEmbedElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.EMBED);\n };\n const isHtmlFormElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.FORM);\n };\n const isHtmlFrameElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.FRAME);\n };\n const isHtmlIFrameElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.IFRAME);\n };\n const isHtmlObjectElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.OBJECT);\n };\n const isHtmlScriptElement \x3d value \x3d\x3e {\n return isHtmlElementOfType(value, TagName.SCRIPT);\n };\n exports \x3d {isElement, isHtmlElement, isHtmlElementOfType, isHtmlAnchorElement, isHtmlButtonElement, isHtmlLinkElement, isHtmlImageElement, isHtmlAudioElement, isHtmlVideoElement, isHtmlInputElement, isHtmlTextAreaElement, isHtmlCanvasElement, isHtmlEmbedElement, isHtmlFormElement, isHtmlFrameElement, isHtmlIFrameElement, isHtmlObjectElement, isHtmlScriptElement};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.asserts.dom.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.asserts.dom\x22);\n goog.module.declareLegacyNamespace();\n const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n const element \x3d goog.require(\x22goog.dom.element\x22);\n const assertIsElement \x3d value \x3d\x3e {\n if (asserts.ENABLE_ASSERTS \x26\x26 !element.isElement(value)) {\n asserts.fail(`Argument is not an Element; got: ${debugStringForType(value)}`);\n }\n return value;\n };\n const assertIsHtmlElement \x3d value \x3d\x3e {\n if (asserts.ENABLE_ASSERTS \x26\x26 !element.isHtmlElement(value)) {\n asserts.fail(`Argument is not an HTML Element; got: ${debugStringForType(value)}`);\n }\n return value;\n };\n const assertIsHtmlElementOfType \x3d (value, tagName) \x3d\x3e {\n if (asserts.ENABLE_ASSERTS \x26\x26 !element.isHtmlElementOfType(value, tagName)) {\n asserts.fail(`Argument is not an HTML Element with tag name ` + `${tagName.toString()}; got: ${debugStringForType(value)}`);\n }\n return value;\n };\n const assertIsHtmlAnchorElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.A);\n };\n const assertIsHtmlButtonElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.BUTTON);\n };\n const assertIsHtmlLinkElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.LINK);\n };\n const assertIsHtmlImageElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.IMG);\n };\n const assertIsHtmlAudioElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.AUDIO);\n };\n const assertIsHtmlVideoElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.VIDEO);\n };\n const assertIsHtmlInputElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.INPUT);\n };\n const assertIsHtmlTextAreaElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.TEXTAREA);\n };\n const assertIsHtmlCanvasElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.CANVAS);\n };\n const assertIsHtmlEmbedElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.EMBED);\n };\n const assertIsHtmlFormElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.FORM);\n };\n const assertIsHtmlFrameElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.FRAME);\n };\n const assertIsHtmlIFrameElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.IFRAME);\n };\n const assertIsHtmlObjectElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.OBJECT);\n };\n const assertIsHtmlScriptElement \x3d value \x3d\x3e {\n return assertIsHtmlElementOfType(value, TagName.SCRIPT);\n };\n const debugStringForType \x3d value \x3d\x3e {\n if (goog.isObject(value)) {\n try {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } catch (e) {\n return \x22\\x3cobject could not be stringified\\x3e\x22;\n }\n } else {\n return value \x3d\x3d\x3d undefined ? \x22undefined\x22 : value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n };\n exports \x3d {assertIsElement, assertIsHtmlElement, assertIsHtmlElementOfType, assertIsHtmlAnchorElement, assertIsHtmlButtonElement, assertIsHtmlLinkElement, assertIsHtmlImageElement, assertIsHtmlAudioElement, assertIsHtmlVideoElement, assertIsHtmlInputElement, assertIsHtmlTextAreaElement, assertIsHtmlCanvasElement, assertIsHtmlEmbedElement, assertIsHtmlFormElement, assertIsHtmlFrameElement, assertIsHtmlIFrameElement, assertIsHtmlObjectElement, assertIsHtmlScriptElement};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.dom.asserts.js", true, "goog.provide(\x22goog.dom.asserts\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.dom.asserts.assertIsLocation \x3d function(o) {\n if (goog.asserts.ENABLE_ASSERTS) {\n var win \x3d goog.dom.asserts.getWindow_(o);\n if (win) {\n if (!o || !(o instanceof win.Location) \x26\x26 o instanceof win.Element) {\n goog.asserts.fail(\x22Argument is not a Location (or a non-Element mock); got: %s\x22, goog.dom.asserts.debugStringForType_(o));\n }\n }\n }\n return o;\n};\ngoog.dom.asserts.debugStringForType_ \x3d function(value) {\n if (goog.isObject(value)) {\n try {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } catch (e) {\n return \x22\\x3cobject could not be stringified\\x3e\x22;\n }\n } else {\n return value \x3d\x3d\x3d undefined ? \x22undefined\x22 : value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n};\ngoog.dom.asserts.getWindow_ \x3d function(o) {\n try {\n var doc \x3d o \x26\x26 o.ownerDocument;\n var win \x3d doc \x26\x26 (doc.defaultView || doc.parentWindow);\n win \x3d win || goog.global;\n if (win.Element \x26\x26 win.Location) {\n return win;\n }\n } catch (ex) {\n }\n return null;\n};\n");
SHADOW_ENV.evalLoad("goog.functions.functions.js", true, "goog.provide(\x22goog.functions\x22);\ngoog.functions.constant \x3d function(retValue) {\n return function() {\n return retValue;\n };\n};\ngoog.functions.FALSE \x3d function() {\n return false;\n};\ngoog.functions.TRUE \x3d function() {\n return true;\n};\ngoog.functions.NULL \x3d function() {\n return null;\n};\ngoog.functions.UNDEFINED \x3d function() {\n return undefined;\n};\ngoog.functions.EMPTY \x3d goog.functions.UNDEFINED;\ngoog.functions.identity \x3d function(opt_returnValue, var_args) {\n return opt_returnValue;\n};\ngoog.functions.error \x3d function(message) {\n return function() {\n throw new Error(message);\n };\n};\ngoog.functions.fail \x3d function(err) {\n return function() {\n throw err;\n };\n};\ngoog.functions.lock \x3d function(f, opt_numArgs) {\n opt_numArgs \x3d opt_numArgs || 0;\n return function() {\n const self \x3d this;\n return f.apply(self, Array.prototype.slice.call(arguments, 0, opt_numArgs));\n };\n};\ngoog.functions.nth \x3d function(n) {\n return function() {\n return arguments[n];\n };\n};\ngoog.functions.partialRight \x3d function(fn, var_args) {\n const rightArgs \x3d Array.prototype.slice.call(arguments, 1);\n return function() {\n let self \x3d this;\n if (self \x3d\x3d\x3d goog.global) {\n self \x3d undefined;\n }\n const newArgs \x3d Array.prototype.slice.call(arguments);\n newArgs.push.apply(newArgs, rightArgs);\n return fn.apply(self, newArgs);\n };\n};\ngoog.functions.withReturnValue \x3d function(f, retValue) {\n return goog.functions.sequence(f, goog.functions.constant(retValue));\n};\ngoog.functions.equalTo \x3d function(value, opt_useLooseComparison) {\n return function(other) {\n return opt_useLooseComparison ? value \x3d\x3d other : value \x3d\x3d\x3d other;\n };\n};\ngoog.functions.compose \x3d function(fn, var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n let result;\n if (length) {\n result \x3d functions[length - 1].apply(self, arguments);\n }\n for (let i \x3d length - 2; i \x3e\x3d 0; i--) {\n result \x3d functions[i].call(self, result);\n }\n return result;\n };\n};\ngoog.functions.sequence \x3d function(var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n let result;\n for (let i \x3d 0; i \x3c length; i++) {\n result \x3d functions[i].apply(self, arguments);\n }\n return result;\n };\n};\ngoog.functions.and \x3d function(var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n for (let i \x3d 0; i \x3c length; i++) {\n if (!functions[i].apply(self, arguments)) {\n return false;\n }\n }\n return true;\n };\n};\ngoog.functions.or \x3d function(var_args) {\n const functions \x3d arguments;\n const length \x3d functions.length;\n return function() {\n const self \x3d this;\n for (let i \x3d 0; i \x3c length; i++) {\n if (functions[i].apply(self, arguments)) {\n return true;\n }\n }\n return false;\n };\n};\ngoog.functions.not \x3d function(f) {\n return function() {\n const self \x3d this;\n return !f.apply(self, arguments);\n };\n};\ngoog.functions.create \x3d function(constructor, var_args) {\n const temp \x3d function() {\n };\n temp.prototype \x3d constructor.prototype;\n const obj \x3d new temp();\n constructor.apply(obj, Array.prototype.slice.call(arguments, 1));\n return obj;\n};\ngoog.functions.CACHE_RETURN_VALUE \x3d goog.define(\x22goog.functions.CACHE_RETURN_VALUE\x22, true);\ngoog.functions.cacheReturnValue \x3d function(fn) {\n let called \x3d false;\n let value;\n return function() {\n if (!goog.functions.CACHE_RETURN_VALUE) {\n return fn();\n }\n if (!called) {\n value \x3d fn();\n called \x3d true;\n }\n return value;\n };\n};\ngoog.functions.once \x3d function(f) {\n let inner \x3d f;\n return function() {\n if (inner) {\n const tmp \x3d inner;\n inner \x3d null;\n tmp();\n }\n };\n};\ngoog.functions.debounce \x3d function(f, interval, opt_scope) {\n let timeout \x3d 0;\n return function(var_args) {\n goog.global.clearTimeout(timeout);\n const args \x3d arguments;\n timeout \x3d goog.global.setTimeout(function() {\n f.apply(opt_scope, args);\n }, interval);\n };\n};\ngoog.functions.throttle \x3d function(f, interval, opt_scope) {\n let timeout \x3d 0;\n let shouldFire \x3d false;\n let storedArgs \x3d [];\n const handleTimeout \x3d function() {\n timeout \x3d 0;\n if (shouldFire) {\n shouldFire \x3d false;\n fire();\n }\n };\n const fire \x3d function() {\n timeout \x3d goog.global.setTimeout(handleTimeout, interval);\n let args \x3d storedArgs;\n storedArgs \x3d [];\n f.apply(opt_scope, args);\n };\n return function(var_args) {\n storedArgs \x3d arguments;\n if (!timeout) {\n fire();\n } else {\n shouldFire \x3d true;\n }\n };\n};\ngoog.functions.rateLimit \x3d function(f, interval, opt_scope) {\n let timeout \x3d 0;\n const handleTimeout \x3d function() {\n timeout \x3d 0;\n };\n return function(var_args) {\n if (!timeout) {\n timeout \x3d goog.global.setTimeout(handleTimeout, interval);\n f.apply(opt_scope, arguments);\n }\n };\n};\ngoog.functions.isFunction \x3d val \x3d\x3e {\n return typeof val \x3d\x3d\x3d \x22function\x22;\n};\n");
SHADOW_ENV.evalLoad("goog.string.typedstring.js", true, "goog.provide(\x22goog.string.TypedString\x22);\ngoog.string.TypedString \x3d function() {\n};\ngoog.string.TypedString.prototype.implementsGoogStringTypedString;\ngoog.string.TypedString.prototype.getTypedStringValue;\n");
SHADOW_ENV.evalLoad("goog.string.const.js", true, "goog.provide(\x22goog.string.Const\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.string.Const \x3d function(opt_token, opt_content) {\n this.stringConstValueWithSecurityContract__googStringSecurityPrivate_ \x3d opt_token \x3d\x3d\x3d goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ \x26\x26 opt_content || \x22\x22;\n this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ \x3d goog.string.Const.TYPE_MARKER_;\n};\ngoog.string.Const.prototype.implementsGoogStringTypedString \x3d true;\ngoog.string.Const.prototype.getTypedStringValue \x3d function() {\n return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n};\nif (goog.DEBUG) {\n goog.string.Const.prototype.toString \x3d function() {\n return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n };\n}\ngoog.string.Const.unwrap \x3d function(stringConst) {\n if (stringConst instanceof goog.string.Const \x26\x26 stringConst.constructor \x3d\x3d\x3d goog.string.Const \x26\x26 stringConst.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ \x3d\x3d\x3d goog.string.Const.TYPE_MARKER_) {\n return stringConst.stringConstValueWithSecurityContract__googStringSecurityPrivate_;\n } else {\n goog.asserts.fail(\x22expected object of type Const, got \x27\x22 + stringConst + \x22\x27\x22);\n return \x22type_error:Const\x22;\n }\n};\ngoog.string.Const.from \x3d function(s) {\n return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_, s);\n};\ngoog.string.Const.TYPE_MARKER_ \x3d {};\ngoog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.string.Const.EMPTY \x3d goog.string.Const.from(\x22\x22);\n");
SHADOW_ENV.evalLoad("goog.html.trustedtypes.js", true, "goog.provide(\x22goog.html.trustedtypes\x22);\ngoog.html.trustedtypes.POLICY_NAME \x3d goog.define(\x22goog.html.trustedtypes.POLICY_NAME\x22, goog.TRUSTED_TYPES_POLICY_NAME ? goog.TRUSTED_TYPES_POLICY_NAME + \x22#html\x22 : \x22\x22);\ngoog.html.trustedtypes.cachedPolicy_;\ngoog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse \x3d function() {\n if (!goog.html.trustedtypes.POLICY_NAME) {\n return null;\n }\n if (goog.html.trustedtypes.cachedPolicy_ \x3d\x3d\x3d undefined) {\n goog.html.trustedtypes.cachedPolicy_ \x3d goog.createTrustedTypesPolicy(goog.html.trustedtypes.POLICY_NAME);\n }\n return goog.html.trustedtypes.cachedPolicy_;\n};\n");
SHADOW_ENV.evalLoad("goog.html.safescript.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeScript\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const trustedtypes \x3d goog.require(\x22goog.html.trustedtypes\x22);\n const {fail} \x3d goog.require(\x22goog.asserts\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeScript {\n constructor(value, token) {\n if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n throw Error(\x22SafeScript is not meant to be built directly\x22);\n }\n this.privateDoNotAccessOrElseSafeScriptWrappedValue_ \x3d value;\n this.implementsGoogStringTypedString \x3d true;\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString();\n }\n static fromConstant(script) {\n const scriptString \x3d Const.unwrap(script);\n if (scriptString.length \x3d\x3d\x3d 0) {\n return SafeScript.EMPTY;\n }\n return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(scriptString);\n }\n static fromJson(val) {\n return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(SafeScript.stringify_(val));\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString();\n }\n static unwrap(safeScript) {\n return SafeScript.unwrapTrustedScript(safeScript).toString();\n }\n static unwrapTrustedScript(safeScript) {\n if (safeScript instanceof SafeScript \x26\x26 safeScript.constructor \x3d\x3d\x3d SafeScript) {\n return safeScript.privateDoNotAccessOrElseSafeScriptWrappedValue_;\n } else {\n fail(\x22expected object of type SafeScript, got \x27\x22 + safeScript + \x22\x27 of type \x22 + goog.typeOf(safeScript));\n return \x22type_error:SafeScript\x22;\n }\n }\n static stringify_(val) {\n const json \x3d JSON.stringify(val);\n return json.replace(/\x3c/g, \x22\\\\x3c\x22);\n }\n static createSafeScriptSecurityPrivateDoNotAccessOrElse(script) {\n const noinlineScript \x3d script;\n const policy \x3d trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n const trustedScript \x3d policy ? policy.createScript(noinlineScript) : noinlineScript;\n return new SafeScript(trustedScript, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n }\n SafeScript.EMPTY \x3d {valueOf:function() {\n return SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(\x22\x22);\n }}.valueOf();\n exports \x3d SafeScript;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.fs.url.js", true, "goog.provide(\x22goog.fs.url\x22);\ngoog.fs.url.createObjectUrl \x3d function(obj) {\n return goog.fs.url.getUrlObject_().createObjectURL(obj);\n};\ngoog.fs.url.revokeObjectUrl \x3d function(url) {\n goog.fs.url.getUrlObject_().revokeObjectURL(url);\n};\ngoog.fs.url.UrlObject_ \x3d function() {\n};\ngoog.fs.url.UrlObject_.prototype.createObjectURL \x3d function(arg) {\n};\ngoog.fs.url.UrlObject_.prototype.revokeObjectURL \x3d function(s) {\n};\ngoog.fs.url.getUrlObject_ \x3d function() {\n const urlObject \x3d goog.fs.url.findUrlObject_();\n if (urlObject !\x3d null) {\n return urlObject;\n } else {\n throw new Error(\x22This browser doesn\x27t seem to support blob URLs\x22);\n }\n};\ngoog.fs.url.findUrlObject_ \x3d function() {\n if (goog.global.URL !\x3d\x3d undefined \x26\x26 goog.global.URL.createObjectURL !\x3d\x3d undefined) {\n return goog.global.URL;\n } else if (goog.global.createObjectURL !\x3d\x3d undefined) {\n return goog.global;\n } else {\n return null;\n }\n};\ngoog.fs.url.browserSupportsObjectUrls \x3d function() {\n return goog.fs.url.findUrlObject_() !\x3d null;\n};\n");
SHADOW_ENV.evalLoad("goog.fs.blob.js", true, "goog.provide(\x22goog.fs.blob\x22);\ngoog.fs.blob.getBlob \x3d function(var_args) {\n const BlobBuilder \x3d goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;\n if (BlobBuilder !\x3d\x3d undefined) {\n const bb \x3d new BlobBuilder();\n for (let i \x3d 0; i \x3c arguments.length; i++) {\n bb.append(arguments[i]);\n }\n return bb.getBlob();\n } else {\n return goog.fs.blob.getBlobWithProperties(Array.prototype.slice.call(arguments));\n }\n};\ngoog.fs.blob.getBlobWithProperties \x3d function(parts, opt_type, opt_endings) {\n const BlobBuilder \x3d goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;\n if (BlobBuilder !\x3d\x3d undefined) {\n const bb \x3d new BlobBuilder();\n for (let i \x3d 0; i \x3c parts.length; i++) {\n bb.append(parts[i], opt_endings);\n }\n return bb.getBlob(opt_type);\n } else if (goog.global.Blob !\x3d\x3d undefined) {\n const properties \x3d {};\n if (opt_type) {\n properties[\x22type\x22] \x3d opt_type;\n }\n if (opt_endings) {\n properties[\x22endings\x22] \x3d opt_endings;\n }\n return new Blob(parts, properties);\n } else {\n throw new Error(\x22This browser doesn\x27t seem to support creating Blobs\x22);\n }\n};\n");
SHADOW_ENV.evalLoad("goog.html.trustedresourceurl.js", true, "goog.provide(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.fs.blob\x22);\ngoog.require(\x22goog.fs.url\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.trustedtypes\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.html.TrustedResourceUrl \x3d class {\n constructor(value, token) {\n if (goog.DEBUG \x26\x26 token !\x3d\x3d goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_) {\n throw Error(\x22TrustedResourceUrl is not meant to be built directly\x22);\n }\n this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ \x3d value;\n }\n toString() {\n return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ + \x22\x22;\n }\n};\ngoog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString \x3d true;\ngoog.html.TrustedResourceUrl.prototype.getTypedStringValue \x3d function() {\n return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString();\n};\ngoog.html.TrustedResourceUrl.prototype.cloneWithParams \x3d function(searchParams, opt_hashParams) {\n var url \x3d goog.html.TrustedResourceUrl.unwrap(this);\n var parts \x3d goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(url);\n var urlBase \x3d parts[1];\n var urlSearch \x3d parts[2] || \x22\x22;\n var urlHash \x3d parts[3] || \x22\x22;\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(urlBase + goog.html.TrustedResourceUrl.stringifyParams_(\x22?\x22, urlSearch, searchParams) + goog.html.TrustedResourceUrl.stringifyParams_(\x22#\x22, urlHash, opt_hashParams));\n};\ngoog.html.TrustedResourceUrl.unwrap \x3d function(trustedResourceUrl) {\n return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(trustedResourceUrl).toString();\n};\ngoog.html.TrustedResourceUrl.unwrapTrustedScriptURL \x3d function(trustedResourceUrl) {\n if (trustedResourceUrl instanceof goog.html.TrustedResourceUrl \x26\x26 trustedResourceUrl.constructor \x3d\x3d\x3d goog.html.TrustedResourceUrl) {\n return trustedResourceUrl.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;\n } else {\n goog.asserts.fail(\x22expected object of type TrustedResourceUrl, got \x27%s\x27 of type %s\x22, trustedResourceUrl, goog.typeOf(trustedResourceUrl));\n return \x22type_error:TrustedResourceUrl\x22;\n }\n};\ngoog.html.TrustedResourceUrl.format \x3d function(format, args) {\n var formatStr \x3d goog.string.Const.unwrap(format);\n if (!goog.html.TrustedResourceUrl.BASE_URL_.test(formatStr)) {\n throw new Error(\x22Invalid TrustedResourceUrl format: \x22 + formatStr);\n }\n var result \x3d formatStr.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_, function(match, id) {\n if (!Object.prototype.hasOwnProperty.call(args, id)) {\n throw new Error(\x27Found marker, \x22\x27 + id + \x27\x22, in format string, \x22\x27 + formatStr + \x27\x22, but no valid label mapping found \x27 + \x22in args: \x22 + JSON.stringify(args));\n }\n var arg \x3d args[id];\n if (arg instanceof goog.string.Const) {\n return goog.string.Const.unwrap(arg);\n } else {\n return encodeURIComponent(String(arg));\n }\n });\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(result);\n};\ngoog.html.TrustedResourceUrl.FORMAT_MARKER_ \x3d /%{(\\w+)}/g;\ngoog.html.TrustedResourceUrl.BASE_URL_ \x3d new RegExp(\x22^((https:)?//[0-9a-z.:[\\\\]-]+/\x22 + \x22|/[^/\\\\\\\\]\x22 + \x22|[^:/\\\\\\\\%]+/\x22 + \x22|[^:/\\\\\\\\%]*[?#]\x22 + \x22|about:blank#\x22 + \x22)\x22, \x22i\x22);\ngoog.html.TrustedResourceUrl.URL_PARAM_PARSER_ \x3d /^([^?#]*)(\\?[^#]*)?(#[\\s\\S]*)?/;\ngoog.html.TrustedResourceUrl.formatWithParams \x3d function(format, args, searchParams, opt_hashParams) {\n var url \x3d goog.html.TrustedResourceUrl.format(format, args);\n return url.cloneWithParams(searchParams, opt_hashParams);\n};\ngoog.html.TrustedResourceUrl.fromConstant \x3d function(url) {\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(url));\n};\ngoog.html.TrustedResourceUrl.fromConstants \x3d function(parts) {\n var unwrapped \x3d \x22\x22;\n var i \x3d 0;\n for (; i \x3c parts.length; i++) {\n unwrapped \x3d unwrapped + goog.string.Const.unwrap(parts[i]);\n }\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(unwrapped);\n};\ngoog.html.TrustedResourceUrl.fromSafeScript \x3d function(safeScript) {\n var blob \x3d goog.fs.blob.getBlobWithProperties([goog.html.SafeScript.unwrap(safeScript)], \x22text/javascript\x22);\n var url \x3d goog.fs.url.createObjectUrl(blob);\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse \x3d function(url) {\n const noinlineUrl \x3d url;\n const policy \x3d goog.html.trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n const value \x3d policy ? policy.createScriptURL(noinlineUrl) : noinlineUrl;\n return new goog.html.TrustedResourceUrl(value, goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_);\n};\ngoog.html.TrustedResourceUrl.stringifyParams_ \x3d function(prefix, currentString, params) {\n if (params \x3d\x3d null) {\n return currentString;\n }\n if (typeof params \x3d\x3d\x3d \x22string\x22) {\n return params ? prefix + encodeURIComponent(params) : \x22\x22;\n }\n var key;\n for (key in params) {\n if (Object.prototype.hasOwnProperty.call(params, key)) {\n var value \x3d params[key];\n var outputValues \x3d Array.isArray(value) ? value : [value];\n var i \x3d 0;\n for (; i \x3c outputValues.length; i++) {\n var outputValue \x3d outputValues[i];\n if (outputValue !\x3d null) {\n if (!currentString) {\n currentString \x3d prefix;\n }\n currentString \x3d currentString + ((currentString.length \x3e prefix.length ? \x22\\x26\x22 : \x22\x22) + encodeURIComponent(key) + \x22\\x3d\x22 + encodeURIComponent(String(outputValue)));\n }\n }\n }\n }\n return currentString;\n};\n");
SHADOW_ENV.evalLoad("goog.string.internal.js", true, "goog.provide(\x22goog.string.internal\x22);\ngoog.string.internal.startsWith \x3d function(str, prefix) {\n return str.lastIndexOf(prefix, 0) \x3d\x3d 0;\n};\ngoog.string.internal.endsWith \x3d function(str, suffix) {\n const l \x3d str.length - suffix.length;\n return l \x3e\x3d 0 \x26\x26 str.indexOf(suffix, l) \x3d\x3d l;\n};\ngoog.string.internal.caseInsensitiveStartsWith \x3d function(str, prefix) {\n return goog.string.internal.caseInsensitiveCompare(prefix, str.slice(0, prefix.length)) \x3d\x3d 0;\n};\ngoog.string.internal.caseInsensitiveEndsWith \x3d function(str, suffix) {\n return goog.string.internal.caseInsensitiveCompare(suffix, str.slice(str.length - suffix.length)) \x3d\x3d 0;\n};\ngoog.string.internal.caseInsensitiveEquals \x3d function(str1, str2) {\n return str1.toLowerCase() \x3d\x3d str2.toLowerCase();\n};\ngoog.string.internal.isEmptyOrWhitespace \x3d function(str) {\n return /^[\\s\\xa0]*$/.test(str);\n};\ngoog.string.internal.trim \x3d goog.TRUSTED_SITE \x26\x26 String.prototype.trim ? function(str) {\n return str.trim();\n} : function(str) {\n return /^[\\s\\xa0]*([\\s\\S]*?)[\\s\\xa0]*$/.exec(str)[1];\n};\ngoog.string.internal.caseInsensitiveCompare \x3d function(str1, str2) {\n const test1 \x3d String(str1).toLowerCase();\n const test2 \x3d String(str2).toLowerCase();\n if (test1 \x3c test2) {\n return -1;\n } else if (test1 \x3d\x3d test2) {\n return 0;\n } else {\n return 1;\n }\n};\ngoog.string.internal.newLineToBr \x3d function(str, opt_xml) {\n return str.replace(/(\\r\\n|\\r|\\n)/g, opt_xml ? \x22\\x3cbr /\\x3e\x22 : \x22\\x3cbr\\x3e\x22);\n};\ngoog.string.internal.htmlEscape \x3d function(str, opt_isLikelyToContainHtmlChars) {\n if (opt_isLikelyToContainHtmlChars) {\n str \x3d str.replace(goog.string.internal.AMP_RE_, \x22\\x26amp;\x22).replace(goog.string.internal.LT_RE_, \x22\\x26lt;\x22).replace(goog.string.internal.GT_RE_, \x22\\x26gt;\x22).replace(goog.string.internal.QUOT_RE_, \x22\\x26quot;\x22).replace(goog.string.internal.SINGLE_QUOTE_RE_, \x22\\x26#39;\x22).replace(goog.string.internal.NULL_RE_, \x22\\x26#0;\x22);\n return str;\n } else {\n if (!goog.string.internal.ALL_RE_.test(str)) {\n return str;\n }\n if (str.indexOf(\x22\\x26\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.AMP_RE_, \x22\\x26amp;\x22);\n }\n if (str.indexOf(\x22\\x3c\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.LT_RE_, \x22\\x26lt;\x22);\n }\n if (str.indexOf(\x22\\x3e\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.GT_RE_, \x22\\x26gt;\x22);\n }\n if (str.indexOf(\x27\x22\x27) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.QUOT_RE_, \x22\\x26quot;\x22);\n }\n if (str.indexOf(\x22\x27\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.SINGLE_QUOTE_RE_, \x22\\x26#39;\x22);\n }\n if (str.indexOf(\x22\\x00\x22) !\x3d -1) {\n str \x3d str.replace(goog.string.internal.NULL_RE_, \x22\\x26#0;\x22);\n }\n return str;\n }\n};\ngoog.string.internal.AMP_RE_ \x3d /\x26/g;\ngoog.string.internal.LT_RE_ \x3d /\x3c/g;\ngoog.string.internal.GT_RE_ \x3d /\x3e/g;\ngoog.string.internal.QUOT_RE_ \x3d /\x22/g;\ngoog.string.internal.SINGLE_QUOTE_RE_ \x3d /\x27/g;\ngoog.string.internal.NULL_RE_ \x3d /\\x00/g;\ngoog.string.internal.ALL_RE_ \x3d /[\\x00\x26\x3c\x3e\x22\x27]/;\ngoog.string.internal.whitespaceEscape \x3d function(str, opt_xml) {\n return goog.string.internal.newLineToBr(str.replace(/ /g, \x22 \\x26#160;\x22), opt_xml);\n};\ngoog.string.internal.contains \x3d function(str, subString) {\n return str.indexOf(subString) !\x3d -1;\n};\ngoog.string.internal.caseInsensitiveContains \x3d function(str, subString) {\n return goog.string.internal.contains(str.toLowerCase(), subString.toLowerCase());\n};\ngoog.string.internal.compareVersions \x3d function(version1, version2) {\n let order \x3d 0;\n const v1Subs \x3d goog.string.internal.trim(String(version1)).split(\x22.\x22);\n const v2Subs \x3d goog.string.internal.trim(String(version2)).split(\x22.\x22);\n const subCount \x3d Math.max(v1Subs.length, v2Subs.length);\n for (let subIdx \x3d 0; order \x3d\x3d 0 \x26\x26 subIdx \x3c subCount; subIdx++) {\n let v1Sub \x3d v1Subs[subIdx] || \x22\x22;\n let v2Sub \x3d v2Subs[subIdx] || \x22\x22;\n do {\n const v1Comp \x3d /(\\d*)(\\D*)(.*)/.exec(v1Sub) || [\x22\x22, \x22\x22, \x22\x22, \x22\x22];\n const v2Comp \x3d /(\\d*)(\\D*)(.*)/.exec(v2Sub) || [\x22\x22, \x22\x22, \x22\x22, \x22\x22];\n if (v1Comp[0].length \x3d\x3d 0 \x26\x26 v2Comp[0].length \x3d\x3d 0) {\n break;\n }\n const v1CompNum \x3d v1Comp[1].length \x3d\x3d 0 ? 0 : parseInt(v1Comp[1], 10);\n const v2CompNum \x3d v2Comp[1].length \x3d\x3d 0 ? 0 : parseInt(v2Comp[1], 10);\n order \x3d goog.string.internal.compareElements_(v1CompNum, v2CompNum) || goog.string.internal.compareElements_(v1Comp[2].length \x3d\x3d 0, v2Comp[2].length \x3d\x3d 0) || goog.string.internal.compareElements_(v1Comp[2], v2Comp[2]);\n v1Sub \x3d v1Comp[3];\n v2Sub \x3d v2Comp[3];\n } while (order \x3d\x3d 0);\n }\n return order;\n};\ngoog.string.internal.compareElements_ \x3d function(left, right) {\n if (left \x3c right) {\n return -1;\n } else if (left \x3e right) {\n return 1;\n }\n return 0;\n};\n");
SHADOW_ENV.evalLoad("goog.html.safeurl.js", true, "goog.provide(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.fs.url\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.TypedString\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.html.SafeUrl \x3d class {\n constructor(value, token) {\n if (goog.DEBUG \x26\x26 token !\x3d\x3d goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_) {\n throw Error(\x22SafeUrl is not meant to be built directly\x22);\n }\n this.privateDoNotAccessOrElseSafeUrlWrappedValue_ \x3d value;\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString();\n }\n};\ngoog.html.SafeUrl.INNOCUOUS_STRING \x3d \x22about:invalid#zClosurez\x22;\ngoog.html.SafeUrl.prototype.implementsGoogStringTypedString \x3d true;\ngoog.html.SafeUrl.prototype.getTypedStringValue \x3d function() {\n return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString();\n};\ngoog.html.SafeUrl.unwrap \x3d function(safeUrl) {\n if (safeUrl instanceof goog.html.SafeUrl \x26\x26 safeUrl.constructor \x3d\x3d\x3d goog.html.SafeUrl) {\n return safeUrl.privateDoNotAccessOrElseSafeUrlWrappedValue_;\n } else {\n goog.asserts.fail(\x22expected object of type SafeUrl, got \x27\x22 + safeUrl + \x22\x27 of type \x22 + goog.typeOf(safeUrl));\n return \x22type_error:SafeUrl\x22;\n }\n};\ngoog.html.SafeUrl.fromConstant \x3d function(url) {\n const str \x3d goog.string.Const.unwrap(url);\n if (goog.DEBUG \x26\x26 goog.html.SafeUrl.extractScheme(str) \x3d\x3d\x3d \x22javascript:\x22) {\n throw Error(\x22Building a SafeUrl with a javascript scheme is not supported\x22);\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(str);\n};\ngoog.html.SAFE_MIME_TYPE_PATTERN_ \x3d new RegExp(\x22^(?:audio/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|\x22 + \x22font/\\\\w+|\x22 + \x22image/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon|heic|heif)|\x22 + \x22video/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))\x22 + \x27(?:;\\\\w+\\x3d(?:\\\\w+|\x22[\\\\w;,\\x3d ]+\x22))*$\x27, \x22i\x22);\ngoog.html.SafeUrl.isSafeMimeType \x3d function(mimeType) {\n return goog.html.SAFE_MIME_TYPE_PATTERN_.test(mimeType);\n};\ngoog.html.SafeUrl.fromBlob \x3d function(blob) {\n var url \x3d goog.html.SafeUrl.isSafeMimeType(blob.type) ? goog.fs.url.createObjectUrl(blob) : goog.html.SafeUrl.INNOCUOUS_STRING;\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.revokeObjectUrl \x3d function(safeUrl) {\n var url \x3d safeUrl.getTypedStringValue();\n if (url !\x3d\x3d goog.html.SafeUrl.INNOCUOUS_STRING) {\n goog.fs.url.revokeObjectUrl(url);\n }\n};\ngoog.html.SafeUrl.fromMediaSource \x3d function(mediaSource) {\n goog.asserts.assert(\x22MediaSource\x22 in goog.global, \x22No support for MediaSource\x22);\n const url \x3d mediaSource instanceof MediaSource ? goog.fs.url.createObjectUrl(mediaSource) : goog.html.SafeUrl.INNOCUOUS_STRING;\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.DATA_URL_PATTERN_ \x3d /^data:(.*);base64,[a-z0-9+\\/]+\x3d*$/i;\ngoog.html.SafeUrl.tryFromDataUrl \x3d function(dataUrl) {\n dataUrl \x3d String(dataUrl);\n var filteredDataUrl \x3d dataUrl.replace(/(%0A|%0D)/g, \x22\x22);\n var match \x3d filteredDataUrl.match(goog.html.DATA_URL_PATTERN_);\n if (match) {\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(filteredDataUrl);\n }\n return null;\n};\ngoog.html.SafeUrl.fromDataUrl \x3d function(dataUrl) {\n return goog.html.SafeUrl.tryFromDataUrl(dataUrl) || goog.html.SafeUrl.INNOCUOUS_URL;\n};\ngoog.html.SafeUrl.fromTelUrl \x3d function(telUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(telUrl, \x22tel:\x22)) {\n telUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(telUrl);\n};\ngoog.html.SIP_URL_PATTERN_ \x3d new RegExp(\x22^sip[s]?:[+a-z0-9_.!$%\\x26\x27*\\\\/\\x3d^`{|}~-]+@([a-z0-9-]+\\\\.)+[a-z0-9]{2,63}$\x22, \x22i\x22);\ngoog.html.SafeUrl.fromSipUrl \x3d function(sipUrl) {\n if (!goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(sipUrl))) {\n sipUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(sipUrl);\n};\ngoog.html.SafeUrl.fromFacebookMessengerUrl \x3d function(facebookMessengerUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(facebookMessengerUrl, \x22fb-messenger://share\x22)) {\n facebookMessengerUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(facebookMessengerUrl);\n};\ngoog.html.SafeUrl.fromWhatsAppUrl \x3d function(whatsAppUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(whatsAppUrl, \x22whatsapp://send\x22)) {\n whatsAppUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(whatsAppUrl);\n};\ngoog.html.SafeUrl.fromSmsUrl \x3d function(smsUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(smsUrl, \x22sms:\x22) || !goog.html.SafeUrl.isSmsUrlBodyValid_(smsUrl)) {\n smsUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(smsUrl);\n};\ngoog.html.SafeUrl.isSmsUrlBodyValid_ \x3d function(smsUrl) {\n var hash \x3d smsUrl.indexOf(\x22#\x22);\n if (hash \x3e 0) {\n smsUrl \x3d smsUrl.substring(0, hash);\n }\n var bodyParams \x3d smsUrl.match(/[?\x26]body\x3d/gi);\n if (!bodyParams) {\n return true;\n }\n if (bodyParams.length \x3e 1) {\n return false;\n }\n var bodyValue \x3d smsUrl.match(/[?\x26]body\x3d([^\x26]*)/)[1];\n if (!bodyValue) {\n return true;\n }\n try {\n decodeURIComponent(bodyValue);\n } catch (error) {\n return false;\n }\n return /^(?:[a-z0-9\\-_.~]|%[0-9a-f]{2})+$/i.test(bodyValue);\n};\ngoog.html.SafeUrl.fromSshUrl \x3d function(sshUrl) {\n if (!goog.string.internal.caseInsensitiveStartsWith(sshUrl, \x22ssh://\x22)) {\n sshUrl \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(sshUrl);\n};\ngoog.html.SafeUrl.sanitizeChromeExtensionUrl \x3d function(url, extensionId) {\n return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeFirefoxExtensionUrl \x3d function(url, extensionId) {\n return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeEdgeExtensionUrl \x3d function(url, extensionId) {\n return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\\/\\/([^\\/]+)\\//, url, extensionId);\n};\ngoog.html.SafeUrl.sanitizeExtensionUrl_ \x3d function(scheme, url, extensionId) {\n var matches \x3d scheme.exec(url);\n if (!matches) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n } else {\n var extractedExtensionId \x3d matches[1];\n var acceptedExtensionIds;\n if (extensionId instanceof goog.string.Const) {\n acceptedExtensionIds \x3d [goog.string.Const.unwrap(extensionId)];\n } else {\n acceptedExtensionIds \x3d extensionId.map(function unwrap(x) {\n return goog.string.Const.unwrap(x);\n });\n }\n if (acceptedExtensionIds.indexOf(extractedExtensionId) \x3d\x3d -1) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.fromTrustedResourceUrl \x3d function(trustedResourceUrl) {\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(trustedResourceUrl));\n};\ngoog.html.SAFE_URL_PATTERN_ \x3d /^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;\ngoog.html.SafeUrl.trySanitize \x3d function(url) {\n if (url instanceof goog.html.SafeUrl) {\n return url;\n }\n if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n url \x3d url.getTypedStringValue();\n } else {\n url \x3d String(url);\n }\n if (!goog.html.SAFE_URL_PATTERN_.test(url)) {\n return goog.html.SafeUrl.tryFromDataUrl(url);\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.sanitize \x3d function(url) {\n return goog.html.SafeUrl.trySanitize(url) || goog.html.SafeUrl.INNOCUOUS_URL;\n};\ngoog.html.SafeUrl.sanitizeAssertUnchanged \x3d function(url, opt_allowDataUrl) {\n if (url instanceof goog.html.SafeUrl) {\n return url;\n } else if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n url \x3d url.getTypedStringValue();\n } else {\n url \x3d String(url);\n }\n if (opt_allowDataUrl \x26\x26 /^data:/i.test(url)) {\n var safeUrl \x3d goog.html.SafeUrl.fromDataUrl(url);\n if (safeUrl.getTypedStringValue() \x3d\x3d url) {\n return safeUrl;\n }\n }\n if (!goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(url), \x22%s does not match the safe URL pattern\x22, url)) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.extractScheme \x3d function(url) {\n let parsedUrl;\n try {\n parsedUrl \x3d new URL(url);\n } catch (e) {\n return \x22https:\x22;\n }\n return parsedUrl.protocol;\n};\ngoog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged \x3d function(url) {\n if (url instanceof goog.html.SafeUrl) {\n return url;\n } else if (typeof url \x3d\x3d \x22object\x22 \x26\x26 url.implementsGoogStringTypedString) {\n url \x3d url.getTypedStringValue();\n } else {\n url \x3d String(url);\n }\n const parsedScheme \x3d goog.html.SafeUrl.extractScheme(url);\n if (!goog.asserts.assert(parsedScheme !\x3d\x3d \x22javascript:\x22, \x22%s is a javascript: URL\x22, url)) {\n url \x3d goog.html.SafeUrl.INNOCUOUS_STRING;\n }\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_ \x3d {};\ngoog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse \x3d function(url) {\n return new goog.html.SafeUrl(url, goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_);\n};\ngoog.html.SafeUrl.INNOCUOUS_URL \x3d goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.SafeUrl.INNOCUOUS_STRING);\ngoog.html.SafeUrl.ABOUT_BLANK \x3d goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(\x22about:blank\x22);\n");
SHADOW_ENV.evalLoad("goog.html.safestyle.js", true, "goog.loadModule(function(exports) {\n function sanitizePropertyValue(value) {\n if (value instanceof SafeUrl) {\n const url \x3d SafeUrl.unwrap(value);\n return \x27url(\x22\x27 + url.replace(/\x3c/g, \x22%3c\x22).replace(/[\\\\\x22]/g, \x22\\\\$\\x26\x22) + \x27\x22)\x27;\n }\n const result \x3d value instanceof Const ? Const.unwrap(value) : sanitizePropertyValueString(String(value));\n if (/[{;}]/.test(result)) {\n throw new AssertionError(\x22Value does not allow [{;}], got: %s.\x22, [result]);\n }\n return result;\n }\n function sanitizePropertyValueString(value) {\n const valueWithoutFunctions \x3d value.replace(FUNCTIONS_RE, \x22$1\x22).replace(FUNCTIONS_RE, \x22$1\x22).replace(URL_RE, \x22url\x22);\n if (!VALUE_RE.test(valueWithoutFunctions)) {\n fail(`String value allows only ${VALUE_ALLOWED_CHARS}` + \x22 and simple functions, got: \x22 + value);\n return SafeStyle.INNOCUOUS_STRING;\n } else if (COMMENT_RE.test(value)) {\n fail(`String value disallows comments, got: ${value}`);\n return SafeStyle.INNOCUOUS_STRING;\n } else if (!hasBalancedQuotes(value)) {\n fail(`String value requires balanced quotes, got: ${value}`);\n return SafeStyle.INNOCUOUS_STRING;\n } else if (!hasBalancedSquareBrackets(value)) {\n fail(\x22String value requires balanced square brackets and one\x22 + \x22 identifier per pair of brackets, got: \x22 + value);\n return SafeStyle.INNOCUOUS_STRING;\n }\n return sanitizeUrl(value);\n }\n function hasBalancedQuotes(value) {\n let outsideSingle \x3d true;\n let outsideDouble \x3d true;\n for (let i \x3d 0; i \x3c value.length; i++) {\n const c \x3d value.charAt(i);\n if (c \x3d\x3d \x22\x27\x22 \x26\x26 outsideDouble) {\n outsideSingle \x3d !outsideSingle;\n } else if (c \x3d\x3d \x27\x22\x27 \x26\x26 outsideSingle) {\n outsideDouble \x3d !outsideDouble;\n }\n }\n return outsideSingle \x26\x26 outsideDouble;\n }\n function hasBalancedSquareBrackets(value) {\n let outside \x3d true;\n const tokenRe \x3d /^[-_a-zA-Z0-9]$/;\n for (let i \x3d 0; i \x3c value.length; i++) {\n const c \x3d value.charAt(i);\n if (c \x3d\x3d \x22]\x22) {\n if (outside) {\n return false;\n }\n outside \x3d true;\n } else if (c \x3d\x3d \x22[\x22) {\n if (!outside) {\n return false;\n }\n outside \x3d false;\n } else if (!outside \x26\x26 !tokenRe.test(c)) {\n return false;\n }\n }\n return outside;\n }\n function sanitizeUrl(value) {\n return value.replace(URL_RE, (match, before, url, after) \x3d\x3e {\n let quote \x3d \x22\x22;\n url \x3d url.replace(/^([\x27\x22])(.*)\\1$/, (match, start, inside) \x3d\x3e {\n quote \x3d start;\n return inside;\n });\n const sanitized \x3d SafeUrl.sanitize(url).getTypedStringValue();\n return before + quote + sanitized + quote + after;\n });\n }\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeStyle\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const SafeUrl \x3d goog.require(\x22goog.html.SafeUrl\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const {AssertionError, assert, fail} \x3d goog.require(\x22goog.asserts\x22);\n const {contains, endsWith} \x3d goog.require(\x22goog.string.internal\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeStyle {\n constructor(value, token) {\n if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n throw Error(\x22SafeStyle is not meant to be built directly\x22);\n }\n this.privateDoNotAccessOrElseSafeStyleWrappedValue_ \x3d value;\n this.implementsGoogStringTypedString \x3d true;\n }\n static fromConstant(style) {\n const styleString \x3d Const.unwrap(style);\n if (styleString.length \x3d\x3d\x3d 0) {\n return SafeStyle.EMPTY;\n }\n assert(endsWith(styleString, \x22;\x22), `Last character of style string is not \x27;\x27: ${styleString}`);\n assert(contains(styleString, \x22:\x22), \x22Style string must contain at least one \x27:\x27, to \x22 + \x27specify a \x22name: value\x22 pair: \x27 + styleString);\n return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(styleString);\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeStyleWrappedValue_;\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeStyleWrappedValue_.toString();\n }\n static unwrap(safeStyle) {\n if (safeStyle instanceof SafeStyle \x26\x26 safeStyle.constructor \x3d\x3d\x3d SafeStyle) {\n return safeStyle.privateDoNotAccessOrElseSafeStyleWrappedValue_;\n } else {\n fail(`expected object of type SafeStyle, got \x27${safeStyle}` + \x22\x27 of type \x22 + goog.typeOf(safeStyle));\n return \x22type_error:SafeStyle\x22;\n }\n }\n static createSafeStyleSecurityPrivateDoNotAccessOrElse(style) {\n return new SafeStyle(style, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n static create(map) {\n let style \x3d \x22\x22;\n for (let name in map) {\n if (Object.prototype.hasOwnProperty.call(map, name)) {\n if (!/^[-_a-zA-Z0-9]+$/.test(name)) {\n throw new Error(`Name allows only [-_a-zA-Z0-9], got: ${name}`);\n }\n let value \x3d map[name];\n if (value \x3d\x3d null) {\n continue;\n }\n if (Array.isArray(value)) {\n value \x3d value.map(sanitizePropertyValue).join(\x22 \x22);\n } else {\n value \x3d sanitizePropertyValue(value);\n }\n style \x3d style + `${name}:${value};`;\n }\n }\n if (!style) {\n return SafeStyle.EMPTY;\n }\n return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n }\n static concat(var_args) {\n let style \x3d \x22\x22;\n const addArgument \x3d argument \x3d\x3e {\n if (Array.isArray(argument)) {\n argument.forEach(addArgument);\n } else {\n style \x3d style + SafeStyle.unwrap(argument);\n }\n };\n Array.prototype.forEach.call(arguments, addArgument);\n if (!style) {\n return SafeStyle.EMPTY;\n }\n return SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n }\n }\n SafeStyle.EMPTY \x3d SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(\x22\x22);\n SafeStyle.INNOCUOUS_STRING \x3d \x22zClosurez\x22;\n SafeStyle.PropertyValue;\n SafeStyle.PropertyMap;\n const VALUE_ALLOWED_CHARS \x3d \x22[-+,.\\\x22\x27%_!#/ a-zA-Z0-9\\\\[\\\\]]\x22;\n const VALUE_RE \x3d new RegExp(`^${VALUE_ALLOWED_CHARS}+\\$`);\n const URL_RE \x3d new RegExp(\x22\\\\b(url\\\\([ \\t\\n]*)(\x22 + \x22\x27[ -\\x26(-\\\\[\\\\]-~]*\x27\x22 + \x27|\x22[ !#-\\\\[\\\\]-~]*\x22\x27 + \x22|[!#-\\x26*-\\\\[\\\\]-~]*\x22 + \x22)([ \\t\\n]*\\\\))\x22, \x22g\x22);\n const ALLOWED_FUNCTIONS \x3d [\x22calc\x22, \x22cubic-bezier\x22, \x22fit-content\x22, \x22hsl\x22, \x22hsla\x22, \x22linear-gradient\x22, \x22matrix\x22, \x22minmax\x22, \x22radial-gradient\x22, \x22repeat\x22, \x22rgb\x22, \x22rgba\x22, \x22(rotate|scale|translate)(X|Y|Z|3d)?\x22, \x22steps\x22, \x22var\x22];\n const FUNCTIONS_RE \x3d new RegExp(\x22\\\\b(\x22 + ALLOWED_FUNCTIONS.join(\x22|\x22) + \x22)\x22 + \x22\\\\([-+*/0-9a-zA-Z.%#\\\\[\\\\], ]+\\\\)\x22, \x22g\x22);\n const COMMENT_RE \x3d /\\/\\*/;\n exports \x3d SafeStyle;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.object.object.js", true, "goog.loadModule(function(exports) {\n function forEach(obj, f, opt_obj) {\n for (const key in obj) {\n f.call(opt_obj, obj[key], key, obj);\n }\n }\n function filter(obj, f, opt_obj) {\n const res \x3d {};\n for (const key in obj) {\n if (f.call(opt_obj, obj[key], key, obj)) {\n res[key] \x3d obj[key];\n }\n }\n return res;\n }\n function map(obj, f, opt_obj) {\n const res \x3d {};\n for (const key in obj) {\n res[key] \x3d f.call(opt_obj, obj[key], key, obj);\n }\n return res;\n }\n function some(obj, f, opt_obj) {\n for (const key in obj) {\n if (f.call(opt_obj, obj[key], key, obj)) {\n return true;\n }\n }\n return false;\n }\n function every(obj, f, opt_obj) {\n for (const key in obj) {\n if (!f.call(opt_obj, obj[key], key, obj)) {\n return false;\n }\n }\n return true;\n }\n function getCount(obj) {\n let rv \x3d 0;\n for (const key in obj) {\n rv++;\n }\n return rv;\n }\n function getAnyKey(obj) {\n for (const key in obj) {\n return key;\n }\n }\n function getAnyValue(obj) {\n for (const key in obj) {\n return obj[key];\n }\n }\n function contains(obj, val) {\n return containsValue(obj, val);\n }\n function getValues(obj) {\n const res \x3d [];\n let i \x3d 0;\n for (const key in obj) {\n res[i++] \x3d obj[key];\n }\n return res;\n }\n function getKeys(obj) {\n const res \x3d [];\n let i \x3d 0;\n for (const key in obj) {\n res[i++] \x3d key;\n }\n return res;\n }\n function getValueByKeys(obj, var_args) {\n const isArrayLike \x3d goog.isArrayLike(var_args);\n const keys \x3d isArrayLike ? var_args : arguments;\n for (let i \x3d isArrayLike ? 0 : 1; i \x3c keys.length; i++) {\n if (obj \x3d\x3d null) {\n return undefined;\n }\n obj \x3d obj[keys[i]];\n }\n return obj;\n }\n function containsKey(obj, key) {\n return obj !\x3d\x3d null \x26\x26 key in obj;\n }\n function containsValue(obj, val) {\n for (const key in obj) {\n if (obj[key] \x3d\x3d val) {\n return true;\n }\n }\n return false;\n }\n function findKey(obj, f, thisObj \x3d undefined) {\n for (const key in obj) {\n if (f.call(thisObj, obj[key], key, obj)) {\n return key;\n }\n }\n return undefined;\n }\n function findValue(obj, f, thisObj \x3d undefined) {\n const key \x3d findKey(obj, f, thisObj);\n return key \x26\x26 obj[key];\n }\n function isEmpty(obj) {\n for (const key in obj) {\n return false;\n }\n return true;\n }\n function clear(obj) {\n for (const i in obj) {\n delete obj[i];\n }\n }\n function remove(obj, key) {\n let rv;\n if (rv \x3d key in obj) {\n delete obj[key];\n }\n return rv;\n }\n function add(obj, key, val) {\n if (obj !\x3d\x3d null \x26\x26 key in obj) {\n throw new Error(`The object already contains the key \x22${key}\x22`);\n }\n set(obj, key, val);\n }\n function get(obj, key, val \x3d undefined) {\n if (obj !\x3d\x3d null \x26\x26 key in obj) {\n return obj[key];\n }\n return val;\n }\n function set(obj, key, value) {\n obj[key] \x3d value;\n }\n function setIfUndefined(obj, key, value) {\n return key in obj ? obj[key] : obj[key] \x3d value;\n }\n function setWithReturnValueIfNotSet(obj, key, f) {\n if (key in obj) {\n return obj[key];\n }\n const val \x3d f();\n obj[key] \x3d val;\n return val;\n }\n function equals(a, b) {\n for (const k in a) {\n if (!(k in b) || a[k] !\x3d\x3d b[k]) {\n return false;\n }\n }\n for (const k in b) {\n if (!(k in a)) {\n return false;\n }\n }\n return true;\n }\n function clone(obj) {\n const res \x3d {};\n for (const key in obj) {\n res[key] \x3d obj[key];\n }\n return res;\n }\n function unsafeClone(obj) {\n if (!obj || typeof obj !\x3d\x3d \x22object\x22) {\n return obj;\n }\n if (typeof obj.clone \x3d\x3d\x3d \x22function\x22) {\n return obj.clone();\n }\n if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 obj instanceof Map) {\n return new Map(obj);\n } else if (typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 obj instanceof Set) {\n return new Set(obj);\n } else if (obj instanceof Date) {\n return new Date(obj.getTime());\n }\n const clone \x3d Array.isArray(obj) ? [] : typeof ArrayBuffer \x3d\x3d\x3d \x22function\x22 \x26\x26 typeof ArrayBuffer.isView \x3d\x3d\x3d \x22function\x22 \x26\x26 ArrayBuffer.isView(obj) \x26\x26 !(obj instanceof DataView) ? new obj.constructor(obj.length) : {};\n for (const key in obj) {\n clone[key] \x3d unsafeClone(obj[key]);\n }\n return clone;\n }\n function transpose(obj) {\n const transposed \x3d {};\n for (const key in obj) {\n transposed[obj[key]] \x3d key;\n }\n return transposed;\n }\n function extend(target, var_args) {\n let key;\n let source;\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n source \x3d arguments[i];\n for (key in source) {\n target[key] \x3d source[key];\n }\n for (let j \x3d 0; j \x3c PROTOTYPE_FIELDS.length; j++) {\n key \x3d PROTOTYPE_FIELDS[j];\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] \x3d source[key];\n }\n }\n }\n }\n function create(var_args) {\n const argLength \x3d arguments.length;\n if (argLength \x3d\x3d 1 \x26\x26 Array.isArray(arguments[0])) {\n return create.apply(null, arguments[0]);\n }\n if (argLength % 2) {\n throw new Error(\x22Uneven number of arguments\x22);\n }\n const rv \x3d {};\n for (let i \x3d 0; i \x3c argLength; i \x3d i + 2) {\n rv[arguments[i]] \x3d arguments[i + 1];\n }\n return rv;\n }\n function createSet(var_args) {\n const argLength \x3d arguments.length;\n if (argLength \x3d\x3d 1 \x26\x26 Array.isArray(arguments[0])) {\n return createSet.apply(null, arguments[0]);\n }\n const rv \x3d {};\n for (let i \x3d 0; i \x3c argLength; i++) {\n rv[arguments[i]] \x3d true;\n }\n return rv;\n }\n function createImmutableView(obj) {\n let result \x3d obj;\n if (Object.isFrozen \x26\x26 !Object.isFrozen(obj)) {\n result \x3d Object.create(obj);\n Object.freeze(result);\n }\n return result;\n }\n function isImmutableView(obj) {\n return !!Object.isFrozen \x26\x26 Object.isFrozen(obj);\n }\n function getAllPropertyNames(obj, includeObjectPrototype \x3d undefined, includeFunctionPrototype \x3d undefined) {\n if (!obj) {\n return [];\n }\n if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {\n return getKeys(obj);\n }\n const visitedSet \x3d {};\n let proto \x3d obj;\n for (; proto \x26\x26 (proto !\x3d\x3d Object.prototype || !!includeObjectPrototype) \x26\x26 (proto !\x3d\x3d Function.prototype || !!includeFunctionPrototype);) {\n const names \x3d Object.getOwnPropertyNames(proto);\n for (let i \x3d 0; i \x3c names.length; i++) {\n visitedSet[names[i]] \x3d true;\n }\n proto \x3d Object.getPrototypeOf(proto);\n }\n return getKeys(visitedSet);\n }\n function getSuperClass(constructor) {\n const proto \x3d Object.getPrototypeOf(constructor.prototype);\n return proto \x26\x26 proto.constructor;\n }\n \x22use strict\x22;\n goog.module(\x22goog.object\x22);\n goog.module.declareLegacyNamespace();\n const PROTOTYPE_FIELDS \x3d [\x22constructor\x22, \x22hasOwnProperty\x22, \x22isPrototypeOf\x22, \x22propertyIsEnumerable\x22, \x22toLocaleString\x22, \x22toString\x22, \x22valueOf\x22];\n exports \x3d {add, clear, clone, contains, containsKey, containsValue, create, createImmutableView, createSet, equals, every, extend, filter, findKey, findValue, forEach, get, getAllPropertyNames, getAnyKey, getAnyValue, getCount, getKeys, getSuperClass, getValueByKeys, getValues, isEmpty, isImmutableView, map, remove, set, setIfUndefined, setWithReturnValueIfNotSet, some, transpose, unsafeClone};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.html.safestylesheet.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeStyleSheet\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const SafeStyle \x3d goog.require(\x22goog.html.SafeStyle\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const googObject \x3d goog.require(\x22goog.object\x22);\n const {assert, fail} \x3d goog.require(\x22goog.asserts\x22);\n const {contains} \x3d goog.require(\x22goog.string.internal\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeStyleSheet {\n constructor(value, token) {\n if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n throw Error(\x22SafeStyleSheet is not meant to be built directly\x22);\n }\n this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ \x3d value;\n this.implementsGoogStringTypedString \x3d true;\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_.toString();\n }\n static createRule(selector, style) {\n if (contains(selector, \x22\\x3c\x22)) {\n throw new Error(`Selector does not allow \x27\x3c\x27, got: ${selector}`);\n }\n const selectorToCheck \x3d selector.replace(/(\x27|\x22)((?!\\1)[^\\r\\n\\f\\\\]|\\\\[\\s\\S])*\\1/g, \x22\x22);\n if (!/^[-_a-zA-Z0-9#.:* ,\x3e+~[\\]()\x3d\\\\^$|]+$/.test(selectorToCheck)) {\n throw new Error(\x22Selector allows only [-_a-zA-Z0-9#.:* ,\\x3e+~[\\\\]()\\x3d\\\\^$|] and \x22 + \x22strings, got: \x22 + selector);\n }\n if (!SafeStyleSheet.hasBalancedBrackets_(selectorToCheck)) {\n throw new Error(\x22() and [] in selector must be balanced, got: \x22 + selector);\n }\n if (!(style instanceof SafeStyle)) {\n style \x3d SafeStyle.create(style);\n }\n const styleSheet \x3d `${selector}{` + SafeStyle.unwrap(style).replace(/\x3c/g, \x22\\\\3C \x22) + \x22}\x22;\n return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet);\n }\n static hasBalancedBrackets_(s) {\n const brackets \x3d {\x22(\x22:\x22)\x22, \x22[\x22:\x22]\x22};\n const expectedBrackets \x3d [];\n for (let i \x3d 0; i \x3c s.length; i++) {\n const ch \x3d s[i];\n if (brackets[ch]) {\n expectedBrackets.push(brackets[ch]);\n } else if (googObject.contains(brackets, ch)) {\n if (expectedBrackets.pop() !\x3d ch) {\n return false;\n }\n }\n }\n return expectedBrackets.length \x3d\x3d 0;\n }\n static concat(var_args) {\n let result \x3d \x22\x22;\n const addArgument \x3d argument \x3d\x3e {\n if (Array.isArray(argument)) {\n argument.forEach(addArgument);\n } else {\n result \x3d result + SafeStyleSheet.unwrap(argument);\n }\n };\n Array.prototype.forEach.call(arguments, addArgument);\n return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(result);\n }\n static fromConstant(styleSheet) {\n const styleSheetString \x3d Const.unwrap(styleSheet);\n if (styleSheetString.length \x3d\x3d\x3d 0) {\n return SafeStyleSheet.EMPTY;\n }\n assert(!contains(styleSheetString, \x22\\x3c\x22), `Forbidden \x27\x3c\x27 character in style sheet string: ${styleSheetString}`);\n return SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheetString);\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;\n }\n static unwrap(safeStyleSheet) {\n if (safeStyleSheet instanceof SafeStyleSheet \x26\x26 safeStyleSheet.constructor \x3d\x3d\x3d SafeStyleSheet) {\n return safeStyleSheet.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;\n } else {\n fail(\x22expected object of type SafeStyleSheet, got \x27\x22 + safeStyleSheet + \x22\x27 of type \x22 + goog.typeOf(safeStyleSheet));\n return \x22type_error:SafeStyleSheet\x22;\n }\n }\n static createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet) {\n return new SafeStyleSheet(styleSheet, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n }\n SafeStyleSheet.EMPTY \x3d SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(\x22\x22);\n exports \x3d SafeStyleSheet;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.flags.flags.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.flags\x22);\n goog.module.declareLegacyNamespace();\n exports.USE_USER_AGENT_CLIENT_HINTS \x3d false;\n exports.ASYNC_THROW_ON_UNICODE_TO_BYTE \x3d false;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.useragent.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent\x22);\n goog.module.declareLegacyNamespace();\n const flags \x3d goog.require(\x22goog.flags\x22);\n const USE_CLIENT_HINTS_OVERRIDE \x3d goog.define(\x22goog.labs.userAgent.USE_CLIENT_HINTS_OVERRIDE\x22, \x22\x22);\n const USE_CLIENT_HINTS \x3d goog.define(\x22goog.labs.userAgent.USE_CLIENT_HINTS\x22, false);\n let forceClientHintsInTests \x3d false;\n exports.setUseClientHintsForTesting \x3d use \x3d\x3e {\n forceClientHintsInTests \x3d use;\n };\n const useClientHintsRuntimeOverride \x3d USE_CLIENT_HINTS_OVERRIDE ? !!goog.getObjectByName(USE_CLIENT_HINTS_OVERRIDE) : false;\n exports.useClientHints \x3d () \x3d\x3e {\n return flags.USE_USER_AGENT_CLIENT_HINTS || USE_CLIENT_HINTS || useClientHintsRuntimeOverride || forceClientHintsInTests;\n };\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.util.js", true, "goog.loadModule(function(exports) {\n function getNativeUserAgentString() {\n const navigator \x3d getNavigator();\n if (navigator) {\n const userAgent \x3d navigator.userAgent;\n if (userAgent) {\n return userAgent;\n }\n }\n return \x22\x22;\n }\n function getNativeUserAgentData() {\n const navigator \x3d getNavigator();\n if (navigator) {\n return navigator.userAgentData || null;\n }\n return null;\n }\n function getNavigator() {\n return goog.global.navigator;\n }\n function setUserAgent(userAgent \x3d undefined) {\n userAgentInternal \x3d typeof userAgent \x3d\x3d\x3d \x22string\x22 ? userAgent : getNativeUserAgentString();\n }\n function getUserAgent() {\n return userAgentInternal \x3d\x3d null ? getNativeUserAgentString() : userAgentInternal;\n }\n function setUserAgentData(userAgentData) {\n userAgentDataInternal \x3d userAgentData;\n }\n function resetUserAgentData() {\n userAgentDataInternal \x3d getNativeUserAgentData();\n }\n function getUserAgentData() {\n return userAgentDataInternal;\n }\n function matchUserAgentDataBrand(str) {\n if (!useClientHints()) {\n return false;\n }\n const data \x3d getUserAgentData();\n if (!data) {\n return false;\n }\n return data.brands.some(({brand}) \x3d\x3e {\n return brand \x26\x26 contains(brand, str);\n });\n }\n function matchUserAgent(str) {\n const userAgent \x3d getUserAgent();\n return contains(userAgent, str);\n }\n function matchUserAgentIgnoreCase(str) {\n const userAgent \x3d getUserAgent();\n return caseInsensitiveContains(userAgent, str);\n }\n function extractVersionTuples(userAgent) {\n const versionRegExp \x3d new RegExp(\x22([A-Z][\\\\w ]+)\x22 + \x22/\x22 + \x22([^\\\\s]+)\x22 + \x22\\\\s*\x22 + \x22(?:\\\\((.*?)\\\\))?\x22, \x22g\x22);\n const data \x3d [];\n let match;\n for (; match \x3d versionRegExp.exec(userAgent);) {\n data.push([match[1], match[2], match[3] || undefined]);\n }\n return data;\n }\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.util\x22);\n goog.module.declareLegacyNamespace();\n const {caseInsensitiveContains, contains} \x3d goog.require(\x22goog.string.internal\x22);\n const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n const ASSUME_CLIENT_HINTS_SUPPORT \x3d false;\n let userAgentInternal \x3d null;\n let userAgentDataInternal \x3d getNativeUserAgentData();\n exports \x3d {ASSUME_CLIENT_HINTS_SUPPORT, extractVersionTuples, getNativeUserAgentString, getUserAgent, getUserAgentData, matchUserAgent, matchUserAgentDataBrand, matchUserAgentIgnoreCase, resetUserAgentData, setUserAgent, setUserAgentData};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.highentropy.highentropyvalue.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n const {compareVersions} \x3d goog.require(\x22goog.string.internal\x22);\n class AsyncValue {\n getIfLoaded() {\n }\n load() {\n }\n }\n exports.AsyncValue \x3d AsyncValue;\n class HighEntropyValue {\n constructor(key) {\n this.key_ \x3d key;\n this.value_ \x3d undefined;\n this.promise_ \x3d undefined;\n this.pending_ \x3d false;\n }\n getIfLoaded() {\n const userAgentData \x3d util.getUserAgentData();\n if (!userAgentData) {\n return undefined;\n }\n return this.value_;\n }\n async load() {\n const userAgentData \x3d util.getUserAgentData();\n if (!userAgentData) {\n return undefined;\n }\n if (!this.promise_) {\n this.pending_ \x3d true;\n this.promise_ \x3d (async() \x3d\x3e {\n try {\n const dataValues \x3d await userAgentData.getHighEntropyValues([this.key_]);\n this.value_ \x3d dataValues[this.key_];\n return this.value_;\n } finally {\n this.pending_ \x3d false;\n }\n })();\n }\n return await this.promise_;\n }\n resetForTesting() {\n if (this.pending_) {\n throw new Error(\x22Unsafe call to resetForTesting\x22);\n }\n this.promise_ \x3d undefined;\n this.value_ \x3d undefined;\n this.pending_ \x3d false;\n }\n }\n exports.HighEntropyValue \x3d HighEntropyValue;\n class Version {\n constructor(versionString) {\n this.versionString_ \x3d versionString;\n }\n toVersionStringForLogging() {\n return this.versionString_;\n }\n isAtLeast(version) {\n return compareVersions(this.versionString_, version) \x3e\x3d 0;\n }\n }\n exports.Version \x3d Version;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.chromium_rebrands.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.chromiumRebrands\x22);\n goog.module.declareLegacyNamespace();\n const ChromiumRebrand \x3d {GOOGLE_CHROME:\x22Google Chrome\x22, BRAVE:\x22Brave\x22, OPERA:\x22Opera\x22, EDGE:\x22Microsoft Edge\x22};\n exports.ChromiumRebrand \x3d ChromiumRebrand;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.highentropy.highentropydata.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n const {HighEntropyValue} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n const fullVersionList \x3d new HighEntropyValue(\x22fullVersionList\x22);\n exports.fullVersionList \x3d fullVersionList;\n const platformVersion \x3d new HighEntropyValue(\x22platformVersion\x22);\n exports.platformVersion \x3d platformVersion;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.browser.js", true, "goog.loadModule(function(exports) {\n function useUserAgentDataBrand(ignoreClientHintsFlag \x3d false) {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT) {\n return true;\n }\n if (!ignoreClientHintsFlag \x26\x26 !useClientHints()) {\n return false;\n }\n const userAgentData \x3d util.getUserAgentData();\n return !!userAgentData \x26\x26 userAgentData.brands.length \x3e 0;\n }\n function hasFullVersionList() {\n return isAtLeast(Brand.CHROMIUM, 98);\n }\n function matchOpera() {\n if (useUserAgentDataBrand()) {\n return false;\n }\n return util.matchUserAgent(\x22Opera\x22);\n }\n function matchIE() {\n if (useUserAgentDataBrand()) {\n return false;\n }\n return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n }\n function matchEdgeHtml() {\n if (useUserAgentDataBrand()) {\n return false;\n }\n return util.matchUserAgent(\x22Edge\x22);\n }\n function matchEdgeChromium() {\n if (useUserAgentDataBrand()) {\n return util.matchUserAgentDataBrand(Brand.EDGE);\n }\n return util.matchUserAgent(\x22Edg/\x22);\n }\n function matchOperaChromium() {\n if (useUserAgentDataBrand()) {\n return util.matchUserAgentDataBrand(Brand.OPERA);\n }\n return util.matchUserAgent(\x22OPR\x22);\n }\n function matchFirefox() {\n return util.matchUserAgent(\x22Firefox\x22) || util.matchUserAgent(\x22FxiOS\x22);\n }\n function matchSafari() {\n return util.matchUserAgent(\x22Safari\x22) \x26\x26 !(matchChrome() || matchCoast() || matchOpera() || matchEdgeHtml() || matchEdgeChromium() || matchOperaChromium() || matchFirefox() || isSilk() || util.matchUserAgent(\x22Android\x22));\n }\n function matchCoast() {\n if (useUserAgentDataBrand()) {\n return false;\n }\n return util.matchUserAgent(\x22Coast\x22);\n }\n function matchIosWebview() {\n return (util.matchUserAgent(\x22iPad\x22) || util.matchUserAgent(\x22iPhone\x22)) \x26\x26 !matchSafari() \x26\x26 !matchChrome() \x26\x26 !matchCoast() \x26\x26 !matchFirefox() \x26\x26 util.matchUserAgent(\x22AppleWebKit\x22);\n }\n function matchChrome() {\n if (useUserAgentDataBrand()) {\n return util.matchUserAgentDataBrand(Brand.CHROMIUM);\n }\n return (util.matchUserAgent(\x22Chrome\x22) || util.matchUserAgent(\x22CriOS\x22)) \x26\x26 !matchEdgeHtml() || isSilk();\n }\n function matchAndroidBrowser() {\n return util.matchUserAgent(\x22Android\x22) \x26\x26 !(isChrome() || isFirefox() || isOpera() || isSilk());\n }\n function isSilk() {\n return util.matchUserAgent(\x22Silk\x22);\n }\n function createVersionMap(versionTuples) {\n const versionMap \x3d {};\n versionTuples.forEach(tuple \x3d\x3e {\n const key \x3d tuple[0];\n const value \x3d tuple[1];\n versionMap[key] \x3d value;\n });\n return keys \x3d\x3e {\n return versionMap[keys.find(key \x3d\x3e {\n return key in versionMap;\n })] || \x22\x22;\n };\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n if (isIE()) {\n return getIEVersion(userAgentString);\n }\n const versionTuples \x3d util.extractVersionTuples(userAgentString);\n const lookUpValueWithKeys \x3d createVersionMap(versionTuples);\n if (isOpera()) {\n return lookUpValueWithKeys([\x22Version\x22, \x22Opera\x22]);\n }\n if (isEdge()) {\n return lookUpValueWithKeys([\x22Edge\x22]);\n }\n if (isEdgeChromium()) {\n return lookUpValueWithKeys([\x22Edg\x22]);\n }\n if (isSilk()) {\n return lookUpValueWithKeys([\x22Silk\x22]);\n }\n if (isChrome()) {\n return lookUpValueWithKeys([\x22Chrome\x22, \x22CriOS\x22, \x22HeadlessChrome\x22]);\n }\n const tuple \x3d versionTuples[2];\n return tuple \x26\x26 tuple[1] || \x22\x22;\n }\n function isVersionOrHigher(version) {\n return compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n function getIEVersion(userAgent) {\n const rv \x3d /rv: *([\\d\\.]*)/.exec(userAgent);\n if (rv \x26\x26 rv[1]) {\n return rv[1];\n }\n let version \x3d \x22\x22;\n const msie \x3d /MSIE +([\\d\\.]+)/.exec(userAgent);\n if (msie \x26\x26 msie[1]) {\n const tridentVersion \x3d /Trident\\/(\\d.\\d)/.exec(userAgent);\n if (msie[1] \x3d\x3d \x227.0\x22) {\n if (tridentVersion \x26\x26 tridentVersion[1]) {\n switch(tridentVersion[1]) {\n case \x224.0\x22:\n version \x3d \x228.0\x22;\n break;\n case \x225.0\x22:\n version \x3d \x229.0\x22;\n break;\n case \x226.0\x22:\n version \x3d \x2210.0\x22;\n break;\n case \x227.0\x22:\n version \x3d \x2211.0\x22;\n break;\n }\n } else {\n version \x3d \x227.0\x22;\n }\n } else {\n version \x3d msie[1];\n }\n }\n return version;\n }\n function getFullVersionFromUserAgentString(browser) {\n const userAgentString \x3d util.getUserAgent();\n if (browser \x3d\x3d\x3d Brand.IE) {\n return isIE() ? getIEVersion(userAgentString) : \x22\x22;\n }\n const versionTuples \x3d util.extractVersionTuples(userAgentString);\n const lookUpValueWithKeys \x3d createVersionMap(versionTuples);\n switch(browser) {\n case Brand.OPERA:\n if (isOpera()) {\n return lookUpValueWithKeys([\x22Version\x22, \x22Opera\x22]);\n } else if (isOperaChromium()) {\n return lookUpValueWithKeys([\x22OPR\x22]);\n }\n break;\n case Brand.EDGE:\n if (isEdge()) {\n return lookUpValueWithKeys([\x22Edge\x22]);\n } else if (isEdgeChromium()) {\n return lookUpValueWithKeys([\x22Edg\x22]);\n }\n break;\n case Brand.CHROMIUM:\n if (isChrome()) {\n return lookUpValueWithKeys([\x22Chrome\x22, \x22CriOS\x22, \x22HeadlessChrome\x22]);\n }\n break;\n }\n if (browser \x3d\x3d\x3d Brand.FIREFOX \x26\x26 isFirefox() || browser \x3d\x3d\x3d Brand.SAFARI \x26\x26 isSafari() || browser \x3d\x3d\x3d Brand.ANDROID_BROWSER \x26\x26 isAndroidBrowser() || browser \x3d\x3d\x3d Brand.SILK \x26\x26 isSilk()) {\n const tuple \x3d versionTuples[2];\n return tuple \x26\x26 tuple[1] || \x22\x22;\n }\n return \x22\x22;\n }\n function versionOf_(browser) {\n let versionParts;\n if (useUserAgentDataBrand() \x26\x26 browser !\x3d\x3d Brand.SILK) {\n const data \x3d util.getUserAgentData();\n const matchingBrand \x3d data.brands.find(({brand}) \x3d\x3e {\n return brand \x3d\x3d\x3d browser;\n });\n if (!matchingBrand || !matchingBrand.version) {\n return NaN;\n }\n versionParts \x3d matchingBrand.version.split(\x22.\x22);\n } else {\n const fullVersion \x3d getFullVersionFromUserAgentString(browser);\n if (fullVersion \x3d\x3d\x3d \x22\x22) {\n return NaN;\n }\n versionParts \x3d fullVersion.split(\x22.\x22);\n }\n if (versionParts.length \x3d\x3d\x3d 0) {\n return NaN;\n }\n const majorVersion \x3d versionParts[0];\n return Number(majorVersion);\n }\n function isAtLeast(brand, majorVersion) {\n assert(Math.floor(majorVersion) \x3d\x3d\x3d majorVersion, \x22Major version must be an integer\x22);\n return versionOf_(brand) \x3e\x3d majorVersion;\n }\n function isAtMost(brand, majorVersion) {\n assert(Math.floor(majorVersion) \x3d\x3d\x3d majorVersion, \x22Major version must be an integer\x22);\n return versionOf_(brand) \x3c\x3d majorVersion;\n }\n async function loadFullVersions() {\n if (useUserAgentDataBrand(true)) {\n await fullVersionList.load();\n }\n preUachHasLoaded \x3d true;\n }\n function fullVersionOf(browser) {\n let fallbackVersionString \x3d \x22\x22;\n if (!hasFullVersionList()) {\n fallbackVersionString \x3d getFullVersionFromUserAgentString(browser);\n }\n const useUach \x3d browser !\x3d\x3d Brand.SILK \x26\x26 useUserAgentDataBrand(true);\n if (useUach) {\n const data \x3d util.getUserAgentData();\n if (!data.brands.find(({brand}) \x3d\x3e {\n return brand \x3d\x3d\x3d browser;\n })) {\n return undefined;\n }\n } else if (fallbackVersionString \x3d\x3d\x3d \x22\x22) {\n return undefined;\n }\n return new HighEntropyBrandVersion(browser, useUach, fallbackVersionString);\n }\n function getVersionStringForLogging(browser) {\n if (useUserAgentDataBrand(true)) {\n const fullVersionObj \x3d fullVersionOf(browser);\n if (fullVersionObj) {\n const fullVersion \x3d fullVersionObj.getIfLoaded();\n if (fullVersion) {\n return fullVersion.toVersionStringForLogging();\n }\n const data \x3d util.getUserAgentData();\n const matchingBrand \x3d data.brands.find(({brand}) \x3d\x3e {\n return brand \x3d\x3d\x3d browser;\n });\n assertExists(matchingBrand);\n return matchingBrand.version;\n }\n return \x22\x22;\n } else {\n return getFullVersionFromUserAgentString(browser);\n }\n }\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.browser\x22);\n goog.module.declareLegacyNamespace();\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n const {AsyncValue, Version} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n const {ChromiumRebrand} \x3d goog.require(\x22goog.labs.userAgent.chromiumRebrands\x22);\n const {assert, assertExists} \x3d goog.require(\x22goog.asserts\x22);\n const {compareVersions} \x3d goog.require(\x22goog.string.internal\x22);\n const {fullVersionList} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n const Brand \x3d {ANDROID_BROWSER:\x22Android Browser\x22, CHROMIUM:\x22Chromium\x22, EDGE:\x22Microsoft Edge\x22, FIREFOX:\x22Firefox\x22, IE:\x22Internet Explorer\x22, OPERA:\x22Opera\x22, SAFARI:\x22Safari\x22, SILK:\x22Silk\x22};\n exports.Brand \x3d Brand;\n let AllBrandsInternal;\n exports.AllBrands;\n const isOpera \x3d matchOpera;\n exports.isOpera \x3d isOpera;\n const isIE \x3d matchIE;\n exports.isIE \x3d isIE;\n const isEdge \x3d matchEdgeHtml;\n exports.isEdge \x3d isEdge;\n const isEdgeChromium \x3d matchEdgeChromium;\n exports.isEdgeChromium \x3d isEdgeChromium;\n const isOperaChromium \x3d matchOperaChromium;\n exports.isOperaChromium \x3d isOperaChromium;\n const isFirefox \x3d matchFirefox;\n exports.isFirefox \x3d isFirefox;\n const isSafari \x3d matchSafari;\n exports.isSafari \x3d isSafari;\n const isCoast \x3d matchCoast;\n exports.isCoast \x3d isCoast;\n const isIosWebview \x3d matchIosWebview;\n exports.isIosWebview \x3d isIosWebview;\n const isChrome \x3d matchChrome;\n exports.isChrome \x3d isChrome;\n const isAndroidBrowser \x3d matchAndroidBrowser;\n exports.isAndroidBrowser \x3d isAndroidBrowser;\n exports.isSilk \x3d isSilk;\n exports.getVersion \x3d getVersion;\n exports.isVersionOrHigher \x3d isVersionOrHigher;\n exports.isAtLeast \x3d isAtLeast;\n exports.isAtMost \x3d isAtMost;\n class HighEntropyBrandVersion {\n constructor(brand, useUach, fallbackVersion) {\n this.brand_ \x3d brand;\n this.version_ \x3d new Version(fallbackVersion);\n this.useUach_ \x3d useUach;\n }\n getIfLoaded() {\n if (this.useUach_) {\n const loadedVersionList \x3d fullVersionList.getIfLoaded();\n if (loadedVersionList !\x3d\x3d undefined) {\n const matchingBrand \x3d loadedVersionList.find(({brand}) \x3d\x3e {\n return this.brand_ \x3d\x3d\x3d brand;\n });\n assertExists(matchingBrand);\n return new Version(matchingBrand.version);\n }\n }\n if (preUachHasLoaded) {\n return this.version_;\n }\n return;\n }\n async load() {\n if (this.useUach_) {\n const loadedVersionList \x3d await fullVersionList.load();\n if (loadedVersionList !\x3d\x3d undefined) {\n const matchingBrand \x3d loadedVersionList.find(({brand}) \x3d\x3e {\n return this.brand_ \x3d\x3d\x3d brand;\n });\n assertExists(matchingBrand);\n return new Version(matchingBrand.version);\n }\n } else {\n await 0;\n }\n preUachHasLoaded \x3d true;\n return this.version_;\n }\n }\n let preUachHasLoaded \x3d false;\n exports.loadFullVersions \x3d loadFullVersions;\n exports.resetForTesting \x3d () \x3d\x3e {\n preUachHasLoaded \x3d false;\n fullVersionList.resetForTesting();\n };\n exports.fullVersionOf \x3d fullVersionOf;\n exports.getVersionStringForLogging \x3d getVersionStringForLogging;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.array.array.js", true, "goog.loadModule(function(exports) {\n function peek(array) {\n return array[array.length - 1];\n }\n function forEachRight(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d l - 1; i \x3e\x3d 0; --i) {\n if (i in arr2) {\n f.call(opt_obj, arr2[i], i, arr);\n }\n }\n }\n function count(arr, f, opt_obj) {\n let count \x3d 0;\n forEach(arr, function(element, index, arr) {\n if (f.call(opt_obj, element, index, arr)) {\n ++count;\n }\n }, opt_obj);\n return count;\n }\n function find(arr, f, opt_obj) {\n const i \x3d findIndex(arr, f, opt_obj);\n return i \x3c 0 ? null : typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.charAt(i) : arr[i];\n }\n function findIndex(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n return i;\n }\n }\n return -1;\n }\n function findRight(arr, f, opt_obj) {\n const i \x3d findIndexRight(arr, f, opt_obj);\n return i \x3c 0 ? null : typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.charAt(i) : arr[i];\n }\n function findIndexRight(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d l - 1; i \x3e\x3d 0; i--) {\n if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n return i;\n }\n }\n return -1;\n }\n function contains(arr, obj) {\n return indexOf(arr, obj) \x3e\x3d 0;\n }\n function isEmpty(arr) {\n return arr.length \x3d\x3d 0;\n }\n function clear(arr) {\n if (!Array.isArray(arr)) {\n for (let i \x3d arr.length - 1; i \x3e\x3d 0; i--) {\n delete arr[i];\n }\n }\n arr.length \x3d 0;\n }\n function insert(arr, obj) {\n if (!contains(arr, obj)) {\n arr.push(obj);\n }\n }\n function insertAt(arr, obj, opt_i) {\n splice(arr, opt_i, 0, obj);\n }\n function insertArrayAt(arr, elementsToAdd, opt_i) {\n goog.partial(splice, arr, opt_i, 0).apply(null, elementsToAdd);\n }\n function insertBefore(arr, obj, opt_obj2) {\n let i;\n if (arguments.length \x3d\x3d 2 || (i \x3d indexOf(arr, opt_obj2)) \x3c 0) {\n arr.push(obj);\n } else {\n insertAt(arr, obj, i);\n }\n }\n function remove(arr, obj) {\n const i \x3d indexOf(arr, obj);\n let rv;\n if (rv \x3d i \x3e\x3d 0) {\n removeAt(arr, i);\n }\n return rv;\n }\n function removeLast(arr, obj) {\n const i \x3d lastIndexOf(arr, obj);\n if (i \x3e\x3d 0) {\n removeAt(arr, i);\n return true;\n }\n return false;\n }\n function removeAt(arr, i) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.splice.call(arr, i, 1).length \x3d\x3d 1;\n }\n function removeIf(arr, f, opt_obj) {\n const i \x3d findIndex(arr, f, opt_obj);\n if (i \x3e\x3d 0) {\n removeAt(arr, i);\n return true;\n }\n return false;\n }\n function removeAllIf(arr, f, opt_obj) {\n let removedCount \x3d 0;\n forEachRight(arr, function(val, index) {\n if (f.call(opt_obj, val, index, arr)) {\n if (removeAt(arr, index)) {\n removedCount++;\n }\n }\n });\n return removedCount;\n }\n function concat(var_args) {\n return Array.prototype.concat.apply([], arguments);\n }\n function join(var_args) {\n return Array.prototype.concat.apply([], arguments);\n }\n function toArray(object) {\n const length \x3d object.length;\n if (length \x3e 0) {\n const rv \x3d new Array(length);\n for (let i \x3d 0; i \x3c length; i++) {\n rv[i] \x3d object[i];\n }\n return rv;\n }\n return [];\n }\n function extend(arr1, var_args) {\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n const arr2 \x3d arguments[i];\n if (goog.isArrayLike(arr2)) {\n const len1 \x3d arr1.length || 0;\n const len2 \x3d arr2.length || 0;\n arr1.length \x3d len1 + len2;\n for (let j \x3d 0; j \x3c len2; j++) {\n arr1[len1 + j] \x3d arr2[j];\n }\n } else {\n arr1.push(arr2);\n }\n }\n }\n function splice(arr, index, howMany, var_args) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.splice.apply(arr, slice(arguments, 1));\n }\n function slice(arr, start, opt_end) {\n asserts.assert(arr.length !\x3d null);\n if (arguments.length \x3c\x3d 2) {\n return Array.prototype.slice.call(arr, start);\n } else {\n return Array.prototype.slice.call(arr, start, opt_end);\n }\n }\n function removeDuplicates(arr, opt_rv, opt_hashFn) {\n const returnArray \x3d opt_rv || arr;\n const defaultHashFn \x3d function(item) {\n return goog.isObject(item) ? \x22o\x22 + goog.getUid(item) : (typeof item).charAt(0) + item;\n };\n const hashFn \x3d opt_hashFn || defaultHashFn;\n let cursorInsert \x3d 0;\n let cursorRead \x3d 0;\n const seen \x3d {};\n for (; cursorRead \x3c arr.length;) {\n const current \x3d arr[cursorRead++];\n const key \x3d hashFn(current);\n if (!Object.prototype.hasOwnProperty.call(seen, key)) {\n seen[key] \x3d true;\n returnArray[cursorInsert++] \x3d current;\n }\n }\n returnArray.length \x3d cursorInsert;\n }\n function binarySearch(arr, target, opt_compareFn) {\n return binarySearch_(arr, opt_compareFn || defaultCompare, false, target);\n }\n function binarySelect(arr, evaluator, opt_obj) {\n return binarySearch_(arr, evaluator, true, undefined, opt_obj);\n }\n function binarySearch_(arr, compareFn, isEvaluator, opt_target, opt_selfObj) {\n let left \x3d 0;\n let right \x3d arr.length;\n let found;\n for (; left \x3c right;) {\n const middle \x3d left + (right - left \x3e\x3e\x3e 1);\n let compareResult;\n if (isEvaluator) {\n compareResult \x3d compareFn.call(opt_selfObj, arr[middle], middle, arr);\n } else {\n compareResult \x3d compareFn(opt_target, arr[middle]);\n }\n if (compareResult \x3e 0) {\n left \x3d middle + 1;\n } else {\n right \x3d middle;\n found \x3d !compareResult;\n }\n }\n return found ? left : -left - 1;\n }\n function sort(arr, opt_compareFn) {\n arr.sort(opt_compareFn || defaultCompare);\n }\n function stableSort(arr, opt_compareFn) {\n function stableCompareFn(obj1, obj2) {\n return valueCompareFn(obj1.value, obj2.value) || obj1.index - obj2.index;\n }\n const compArr \x3d new Array(arr.length);\n for (let i \x3d 0; i \x3c arr.length; i++) {\n compArr[i] \x3d {index:i, value:arr[i]};\n }\n const valueCompareFn \x3d opt_compareFn || defaultCompare;\n sort(compArr, stableCompareFn);\n for (let i \x3d 0; i \x3c arr.length; i++) {\n arr[i] \x3d compArr[i].value;\n }\n }\n function sortByKey(arr, keyFn, opt_compareFn) {\n const keyCompareFn \x3d opt_compareFn || defaultCompare;\n sort(arr, function(a, b) {\n return keyCompareFn(keyFn(a), keyFn(b));\n });\n }\n function sortObjectsByKey(arr, key, opt_compareFn) {\n sortByKey(arr, function(obj) {\n return obj[key];\n }, opt_compareFn);\n }\n function isSorted(arr, opt_compareFn, opt_strict) {\n const compare \x3d opt_compareFn || defaultCompare;\n for (let i \x3d 1; i \x3c arr.length; i++) {\n const compareResult \x3d compare(arr[i - 1], arr[i]);\n if (compareResult \x3e 0 || compareResult \x3d\x3d 0 \x26\x26 opt_strict) {\n return false;\n }\n }\n return true;\n }\n function equals(arr1, arr2, opt_equalsFn) {\n if (!goog.isArrayLike(arr1) || !goog.isArrayLike(arr2) || arr1.length !\x3d arr2.length) {\n return false;\n }\n const l \x3d arr1.length;\n const equalsFn \x3d opt_equalsFn || defaultCompareEquality;\n for (let i \x3d 0; i \x3c l; i++) {\n if (!equalsFn(arr1[i], arr2[i])) {\n return false;\n }\n }\n return true;\n }\n function compare3(arr1, arr2, opt_compareFn) {\n const compare \x3d opt_compareFn || defaultCompare;\n const l \x3d Math.min(arr1.length, arr2.length);\n for (let i \x3d 0; i \x3c l; i++) {\n const result \x3d compare(arr1[i], arr2[i]);\n if (result !\x3d 0) {\n return result;\n }\n }\n return defaultCompare(arr1.length, arr2.length);\n }\n function defaultCompare(a, b) {\n return a \x3e b ? 1 : a \x3c b ? -1 : 0;\n }\n function inverseDefaultCompare(a, b) {\n return -defaultCompare(a, b);\n }\n function defaultCompareEquality(a, b) {\n return a \x3d\x3d\x3d b;\n }\n function binaryInsert(array, value, opt_compareFn) {\n const index \x3d binarySearch(array, value, opt_compareFn);\n if (index \x3c 0) {\n insertAt(array, value, -(index + 1));\n return true;\n }\n return false;\n }\n function binaryRemove(array, value, opt_compareFn) {\n const index \x3d binarySearch(array, value, opt_compareFn);\n return index \x3e\x3d 0 ? removeAt(array, index) : false;\n }\n function bucket(array, sorter, opt_obj) {\n const buckets \x3d {};\n for (let i \x3d 0; i \x3c array.length; i++) {\n const value \x3d array[i];\n const key \x3d sorter.call(opt_obj, value, i, array);\n if (key !\x3d\x3d undefined) {\n const bucket \x3d buckets[key] || (buckets[key] \x3d []);\n bucket.push(value);\n }\n }\n return buckets;\n }\n function bucketToMap(array, sorter) {\n const buckets \x3d new Map();\n for (let i \x3d 0; i \x3c array.length; i++) {\n const value \x3d array[i];\n const key \x3d sorter(value, i, array);\n if (key !\x3d\x3d undefined) {\n let bucket \x3d buckets.get(key);\n if (!bucket) {\n bucket \x3d [];\n buckets.set(key, bucket);\n }\n bucket.push(value);\n }\n }\n return buckets;\n }\n function toObject(arr, keyFunc, opt_obj) {\n const ret \x3d {};\n forEach(arr, function(element, index) {\n ret[keyFunc.call(opt_obj, element, index, arr)] \x3d element;\n });\n return ret;\n }\n function toMap(arr, keyFunc) {\n const map \x3d new Map();\n for (let i \x3d 0; i \x3c arr.length; i++) {\n const element \x3d arr[i];\n map.set(keyFunc(element, i, arr), element);\n }\n return map;\n }\n function range(startOrEnd, opt_end, opt_step) {\n const array \x3d [];\n let start \x3d 0;\n let end \x3d startOrEnd;\n const step \x3d opt_step || 1;\n if (opt_end !\x3d\x3d undefined) {\n start \x3d startOrEnd;\n end \x3d opt_end;\n }\n if (step * (end - start) \x3c 0) {\n return [];\n }\n if (step \x3e 0) {\n for (let i \x3d start; i \x3c end; i \x3d i + step) {\n array.push(i);\n }\n } else {\n for (let i \x3d start; i \x3e end; i \x3d i + step) {\n array.push(i);\n }\n }\n return array;\n }\n function repeat(value, n) {\n const array \x3d [];\n for (let i \x3d 0; i \x3c n; i++) {\n array[i] \x3d value;\n }\n return array;\n }\n function flatten(var_args) {\n const CHUNK_SIZE \x3d 8192;\n const result \x3d [];\n for (let i \x3d 0; i \x3c arguments.length; i++) {\n const element \x3d arguments[i];\n if (Array.isArray(element)) {\n for (let c \x3d 0; c \x3c element.length; c \x3d c + CHUNK_SIZE) {\n const chunk \x3d slice(element, c, c + CHUNK_SIZE);\n const recurseResult \x3d flatten.apply(null, chunk);\n for (let r \x3d 0; r \x3c recurseResult.length; r++) {\n result.push(recurseResult[r]);\n }\n }\n } else {\n result.push(element);\n }\n }\n return result;\n }\n function rotate(array, n) {\n asserts.assert(array.length !\x3d null);\n if (array.length) {\n n \x3d n % array.length;\n if (n \x3e 0) {\n Array.prototype.unshift.apply(array, array.splice(-n, n));\n } else if (n \x3c 0) {\n Array.prototype.push.apply(array, array.splice(0, -n));\n }\n }\n return array;\n }\n function moveItem(arr, fromIndex, toIndex) {\n asserts.assert(fromIndex \x3e\x3d 0 \x26\x26 fromIndex \x3c arr.length);\n asserts.assert(toIndex \x3e\x3d 0 \x26\x26 toIndex \x3c arr.length);\n const removedItems \x3d Array.prototype.splice.call(arr, fromIndex, 1);\n Array.prototype.splice.call(arr, toIndex, 0, removedItems[0]);\n }\n function zip(var_args) {\n if (!arguments.length) {\n return [];\n }\n const result \x3d [];\n let minLen \x3d arguments[0].length;\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n if (arguments[i].length \x3c minLen) {\n minLen \x3d arguments[i].length;\n }\n }\n for (let i \x3d 0; i \x3c minLen; i++) {\n const value \x3d [];\n for (let j \x3d 0; j \x3c arguments.length; j++) {\n value.push(arguments[j][i]);\n }\n result.push(value);\n }\n return result;\n }\n function shuffle(arr, opt_randFn) {\n const randFn \x3d opt_randFn || Math.random;\n for (let i \x3d arr.length - 1; i \x3e 0; i--) {\n const j \x3d Math.floor(randFn() * (i + 1));\n const tmp \x3d arr[i];\n arr[i] \x3d arr[j];\n arr[j] \x3d tmp;\n }\n }\n function copyByIndex(arr, index_arr) {\n const result \x3d [];\n forEach(index_arr, function(index) {\n result.push(arr[index]);\n });\n return result;\n }\n function concatMap(arr, f, opt_obj) {\n return concat.apply([], map(arr, f, opt_obj));\n }\n \x22use strict\x22;\n goog.module(\x22goog.array\x22);\n goog.module.declareLegacyNamespace();\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n goog.NATIVE_ARRAY_PROTOTYPES \x3d goog.define(\x22goog.NATIVE_ARRAY_PROTOTYPES\x22, goog.TRUSTED_SITE);\n const ASSUME_NATIVE_FUNCTIONS \x3d goog.define(\x22goog.array.ASSUME_NATIVE_FUNCTIONS\x22, goog.FEATURESET_YEAR \x3e 2012);\n exports.ASSUME_NATIVE_FUNCTIONS \x3d ASSUME_NATIVE_FUNCTIONS;\n exports.peek \x3d peek;\n exports.last \x3d peek;\n const indexOf \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.indexOf) ? function(arr, obj, opt_fromIndex) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.indexOf.call(arr, obj, opt_fromIndex);\n } : function(arr, obj, opt_fromIndex) {\n const fromIndex \x3d opt_fromIndex \x3d\x3d null ? 0 : opt_fromIndex \x3c 0 ? Math.max(0, arr.length + opt_fromIndex) : opt_fromIndex;\n if (typeof arr \x3d\x3d\x3d \x22string\x22) {\n if (typeof obj !\x3d\x3d \x22string\x22 || obj.length !\x3d 1) {\n return -1;\n }\n return arr.indexOf(obj, fromIndex);\n }\n for (let i \x3d fromIndex; i \x3c arr.length; i++) {\n if (i in arr \x26\x26 arr[i] \x3d\x3d\x3d obj) {\n return i;\n }\n }\n return -1;\n };\n exports.indexOf \x3d indexOf;\n const lastIndexOf \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.lastIndexOf) ? function(arr, obj, opt_fromIndex) {\n asserts.assert(arr.length !\x3d null);\n const fromIndex \x3d opt_fromIndex \x3d\x3d null ? arr.length - 1 : opt_fromIndex;\n return Array.prototype.lastIndexOf.call(arr, obj, fromIndex);\n } : function(arr, obj, opt_fromIndex) {\n let fromIndex \x3d opt_fromIndex \x3d\x3d null ? arr.length - 1 : opt_fromIndex;\n if (fromIndex \x3c 0) {\n fromIndex \x3d Math.max(0, arr.length + fromIndex);\n }\n if (typeof arr \x3d\x3d\x3d \x22string\x22) {\n if (typeof obj !\x3d\x3d \x22string\x22 || obj.length !\x3d 1) {\n return -1;\n }\n return arr.lastIndexOf(obj, fromIndex);\n }\n for (let i \x3d fromIndex; i \x3e\x3d 0; i--) {\n if (i in arr \x26\x26 arr[i] \x3d\x3d\x3d obj) {\n return i;\n }\n }\n return -1;\n };\n exports.lastIndexOf \x3d lastIndexOf;\n const forEach \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.forEach) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n Array.prototype.forEach.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2) {\n f.call(opt_obj, arr2[i], i, arr);\n }\n }\n };\n exports.forEach \x3d forEach;\n exports.forEachRight \x3d forEachRight;\n const filter \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.filter) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.filter.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const res \x3d [];\n let resLength \x3d 0;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2) {\n const val \x3d arr2[i];\n if (f.call(opt_obj, val, i, arr)) {\n res[resLength++] \x3d val;\n }\n }\n }\n return res;\n };\n exports.filter \x3d filter;\n const map \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.map) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.map.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const res \x3d new Array(l);\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2) {\n res[i] \x3d f.call(opt_obj, arr2[i], i, arr);\n }\n }\n return res;\n };\n exports.map \x3d map;\n const reduce \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduce) ? function(arr, f, val, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n if (opt_obj) {\n f \x3d goog.bind(f, opt_obj);\n }\n return Array.prototype.reduce.call(arr, f, val);\n } : function(arr, f, val, opt_obj) {\n let rval \x3d val;\n forEach(arr, function(val, index) {\n rval \x3d f.call(opt_obj, rval, val, index, arr);\n });\n return rval;\n };\n exports.reduce \x3d reduce;\n const reduceRight \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduceRight) ? function(arr, f, val, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n asserts.assert(f !\x3d null);\n if (opt_obj) {\n f \x3d goog.bind(f, opt_obj);\n }\n return Array.prototype.reduceRight.call(arr, f, val);\n } : function(arr, f, val, opt_obj) {\n let rval \x3d val;\n forEachRight(arr, function(val, index) {\n rval \x3d f.call(opt_obj, rval, val, index, arr);\n });\n return rval;\n };\n exports.reduceRight \x3d reduceRight;\n const some \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.some) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.some.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2 \x26\x26 f.call(opt_obj, arr2[i], i, arr)) {\n return true;\n }\n }\n return false;\n };\n exports.some \x3d some;\n const every \x3d goog.NATIVE_ARRAY_PROTOTYPES \x26\x26 (ASSUME_NATIVE_FUNCTIONS || Array.prototype.every) ? function(arr, f, opt_obj) {\n asserts.assert(arr.length !\x3d null);\n return Array.prototype.every.call(arr, f, opt_obj);\n } : function(arr, f, opt_obj) {\n const l \x3d arr.length;\n const arr2 \x3d typeof arr \x3d\x3d\x3d \x22string\x22 ? arr.split(\x22\x22) : arr;\n for (let i \x3d 0; i \x3c l; i++) {\n if (i in arr2 \x26\x26 !f.call(opt_obj, arr2[i], i, arr)) {\n return false;\n }\n }\n return true;\n };\n exports.every \x3d every;\n exports.count \x3d count;\n exports.find \x3d find;\n exports.findIndex \x3d findIndex;\n exports.findRight \x3d findRight;\n exports.findIndexRight \x3d findIndexRight;\n exports.contains \x3d contains;\n exports.isEmpty \x3d isEmpty;\n exports.clear \x3d clear;\n exports.insert \x3d insert;\n exports.insertAt \x3d insertAt;\n exports.insertArrayAt \x3d insertArrayAt;\n exports.insertBefore \x3d insertBefore;\n exports.remove \x3d remove;\n exports.removeLast \x3d removeLast;\n exports.removeAt \x3d removeAt;\n exports.removeIf \x3d removeIf;\n exports.removeAllIf \x3d removeAllIf;\n exports.concat \x3d concat;\n exports.join \x3d join;\n exports.toArray \x3d toArray;\n const clone \x3d toArray;\n exports.clone \x3d clone;\n exports.extend \x3d extend;\n exports.splice \x3d splice;\n exports.slice \x3d slice;\n exports.removeDuplicates \x3d removeDuplicates;\n exports.binarySearch \x3d binarySearch;\n exports.binarySelect \x3d binarySelect;\n exports.sort \x3d sort;\n exports.stableSort \x3d stableSort;\n exports.sortByKey \x3d sortByKey;\n exports.sortObjectsByKey \x3d sortObjectsByKey;\n exports.isSorted \x3d isSorted;\n exports.equals \x3d equals;\n exports.compare3 \x3d compare3;\n exports.defaultCompare \x3d defaultCompare;\n exports.inverseDefaultCompare \x3d inverseDefaultCompare;\n exports.defaultCompareEquality \x3d defaultCompareEquality;\n exports.binaryInsert \x3d binaryInsert;\n exports.binaryRemove \x3d binaryRemove;\n exports.bucket \x3d bucket;\n exports.bucketToMap \x3d bucketToMap;\n exports.toObject \x3d toObject;\n exports.toMap \x3d toMap;\n exports.range \x3d range;\n exports.repeat \x3d repeat;\n exports.flatten \x3d flatten;\n exports.rotate \x3d rotate;\n exports.moveItem \x3d moveItem;\n exports.zip \x3d zip;\n exports.shuffle \x3d shuffle;\n exports.copyByIndex \x3d copyByIndex;\n exports.concatMap \x3d concatMap;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.dom.tags.js", true, "goog.provide(\x22goog.dom.tags\x22);\ngoog.require(\x22goog.object\x22);\ngoog.dom.tags.VOID_TAGS_ \x3d goog.object.createSet(\x22area\x22, \x22base\x22, \x22br\x22, \x22col\x22, \x22command\x22, \x22embed\x22, \x22hr\x22, \x22img\x22, \x22input\x22, \x22keygen\x22, \x22link\x22, \x22meta\x22, \x22param\x22, \x22source\x22, \x22track\x22, \x22wbr\x22);\ngoog.dom.tags.isVoidTag \x3d function(tagName) {\n return goog.dom.tags.VOID_TAGS_[tagName] \x3d\x3d\x3d true;\n};\n");
SHADOW_ENV.evalLoad("goog.html.safehtml.js", true, "goog.loadModule(function(exports) {\n function getAttrNameAndValue(tagName, name, value) {\n if (value instanceof Const) {\n value \x3d Const.unwrap(value);\n } else if (name.toLowerCase() \x3d\x3d \x22style\x22) {\n if (SafeHtml.SUPPORT_STYLE_ATTRIBUTE) {\n value \x3d getStyleValue(value);\n } else {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x27Attribute \x22style\x22 not supported.\x27 : \x22\x22);\n }\n } else if (/^on/i.test(name)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Attribute \x22${name}` + \x27\x22 requires goog.string.Const value, \x22\x27 + value + \x27\x22 given.\x27 : \x22\x22);\n } else if (name.toLowerCase() in URL_ATTRIBUTES) {\n if (value instanceof TrustedResourceUrl) {\n value \x3d TrustedResourceUrl.unwrap(value);\n } else if (value instanceof SafeUrl) {\n value \x3d SafeUrl.unwrap(value);\n } else if (typeof value \x3d\x3d\x3d \x22string\x22) {\n value \x3d SafeUrl.sanitize(value).getTypedStringValue();\n } else {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Attribute \x22${name}\x22 on tag \x22${tagName}` + \x27\x22 requires goog.html.SafeUrl, goog.string.Const, or\x27 + \x27 string, value \x22\x27 + value + \x27\x22 given.\x27 : \x22\x22);\n }\n }\n if (value.implementsGoogStringTypedString) {\n value \x3d value.getTypedStringValue();\n }\n asserts.assert(typeof value \x3d\x3d\x3d \x22string\x22 || typeof value \x3d\x3d\x3d \x22number\x22, \x22String or number value expected, got \x22 + typeof value + \x22 with value: \x22 + value);\n return `${name}\x3d\x22` + internal.htmlEscape(String(value)) + \x27\x22\x27;\n }\n function getStyleValue(value) {\n if (!goog.isObject(value)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x27The \x22style\x22 attribute requires goog.html.SafeStyle or map \x27 + \x22of style properties, \x22 + typeof value + \x22 given: \x22 + value : \x22\x22);\n }\n if (!(value instanceof SafeStyle)) {\n value \x3d SafeStyle.create(value);\n }\n return SafeStyle.unwrap(value);\n }\n \x22use strict\x22;\n goog.module(\x22goog.html.SafeHtml\x22);\n goog.module.declareLegacyNamespace();\n const Const \x3d goog.require(\x22goog.string.Const\x22);\n const SafeScript \x3d goog.require(\x22goog.html.SafeScript\x22);\n const SafeStyle \x3d goog.require(\x22goog.html.SafeStyle\x22);\n const SafeStyleSheet \x3d goog.require(\x22goog.html.SafeStyleSheet\x22);\n const SafeUrl \x3d goog.require(\x22goog.html.SafeUrl\x22);\n const TagName \x3d goog.require(\x22goog.dom.TagName\x22);\n const TrustedResourceUrl \x3d goog.require(\x22goog.html.TrustedResourceUrl\x22);\n const TypedString \x3d goog.require(\x22goog.string.TypedString\x22);\n const asserts \x3d goog.require(\x22goog.asserts\x22);\n const browser \x3d goog.require(\x22goog.labs.userAgent.browser\x22);\n const googArray \x3d goog.require(\x22goog.array\x22);\n const googObject \x3d goog.require(\x22goog.object\x22);\n const internal \x3d goog.require(\x22goog.string.internal\x22);\n const tags \x3d goog.require(\x22goog.dom.tags\x22);\n const trustedtypes \x3d goog.require(\x22goog.html.trustedtypes\x22);\n const CONSTRUCTOR_TOKEN_PRIVATE \x3d {};\n class SafeHtml {\n constructor(value, token) {\n if (goog.DEBUG \x26\x26 token !\x3d\x3d CONSTRUCTOR_TOKEN_PRIVATE) {\n throw Error(\x22SafeHtml is not meant to be built directly\x22);\n }\n this.privateDoNotAccessOrElseSafeHtmlWrappedValue_ \x3d value;\n this.implementsGoogStringTypedString \x3d true;\n }\n getTypedStringValue() {\n return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString();\n }\n toString() {\n return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString();\n }\n static unwrap(safeHtml) {\n return SafeHtml.unwrapTrustedHTML(safeHtml).toString();\n }\n static unwrapTrustedHTML(safeHtml) {\n if (safeHtml instanceof SafeHtml \x26\x26 safeHtml.constructor \x3d\x3d\x3d SafeHtml) {\n return safeHtml.privateDoNotAccessOrElseSafeHtmlWrappedValue_;\n } else {\n asserts.fail(`expected object of type SafeHtml, got \x27${safeHtml}\x27 of type ` + goog.typeOf(safeHtml));\n return \x22type_error:SafeHtml\x22;\n }\n }\n static htmlEscape(textOrHtml) {\n if (textOrHtml instanceof SafeHtml) {\n return textOrHtml;\n }\n const textIsObject \x3d typeof textOrHtml \x3d\x3d \x22object\x22;\n let textAsString;\n if (textIsObject \x26\x26 textOrHtml.implementsGoogStringTypedString) {\n textAsString \x3d textOrHtml.getTypedStringValue();\n } else {\n textAsString \x3d String(textOrHtml);\n }\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.htmlEscape(textAsString));\n }\n static htmlEscapePreservingNewlines(textOrHtml) {\n if (textOrHtml instanceof SafeHtml) {\n return textOrHtml;\n }\n const html \x3d SafeHtml.htmlEscape(textOrHtml);\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.newLineToBr(SafeHtml.unwrap(html)));\n }\n static htmlEscapePreservingNewlinesAndSpaces(textOrHtml) {\n if (textOrHtml instanceof SafeHtml) {\n return textOrHtml;\n }\n const html \x3d SafeHtml.htmlEscape(textOrHtml);\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(internal.whitespaceEscape(SafeHtml.unwrap(html)));\n }\n static comment(text) {\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3c!--\x22 + internal.htmlEscape(text) + \x22--\\x3e\x22);\n }\n static create(tagName, attributes \x3d undefined, content \x3d undefined) {\n SafeHtml.verifyTagName(String(tagName));\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(tagName), attributes, content);\n }\n static verifyTagName(tagName) {\n if (!VALID_NAMES_IN_TAG.test(tagName)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Invalid tag name \x3c${tagName}\x3e.` : \x22\x22);\n }\n if (tagName.toUpperCase() in NOT_ALLOWED_TAG_NAMES) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Tag name \x3c${tagName}\x3e is not allowed for SafeHtml.` : \x22\x22);\n }\n }\n static createIframe(src \x3d undefined, srcdoc \x3d undefined, attributes \x3d undefined, content \x3d undefined) {\n if (src) {\n TrustedResourceUrl.unwrap(src);\n }\n const fixedAttributes \x3d {};\n fixedAttributes[\x22src\x22] \x3d src || null;\n fixedAttributes[\x22srcdoc\x22] \x3d srcdoc \x26\x26 SafeHtml.unwrap(srcdoc);\n const defaultAttributes \x3d {\x22sandbox\x22:\x22\x22};\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22iframe\x22, combinedAttrs, content);\n }\n static createSandboxIframe(src \x3d undefined, srcdoc \x3d undefined, attributes \x3d undefined, content \x3d undefined) {\n if (!SafeHtml.canUseSandboxIframe()) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? \x22The browser does not support sandboxed iframes.\x22 : \x22\x22);\n }\n const fixedAttributes \x3d {};\n if (src) {\n fixedAttributes[\x22src\x22] \x3d SafeUrl.unwrap(SafeUrl.sanitize(src));\n } else {\n fixedAttributes[\x22src\x22] \x3d null;\n }\n fixedAttributes[\x22srcdoc\x22] \x3d srcdoc || null;\n fixedAttributes[\x22sandbox\x22] \x3d \x22\x22;\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, {}, attributes);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22iframe\x22, combinedAttrs, content);\n }\n static canUseSandboxIframe() {\n return goog.global[\x22HTMLIFrameElement\x22] \x26\x26 \x22sandbox\x22 in goog.global[\x22HTMLIFrameElement\x22].prototype;\n }\n static createScriptSrc(src, attributes \x3d undefined) {\n TrustedResourceUrl.unwrap(src);\n const fixedAttributes \x3d {\x22src\x22:src};\n const defaultAttributes \x3d {};\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22script\x22, combinedAttrs);\n }\n static createScript(script, attributes \x3d undefined) {\n for (let attr in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, attr)) {\n const attrLower \x3d attr.toLowerCase();\n if (attrLower \x3d\x3d \x22language\x22 || attrLower \x3d\x3d \x22src\x22 || attrLower \x3d\x3d \x22text\x22) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Cannot set \x22${attrLower}\x22 attribute` : \x22\x22);\n }\n }\n }\n let content \x3d \x22\x22;\n script \x3d googArray.concat(script);\n for (let i \x3d 0; i \x3c script.length; i++) {\n content \x3d content + SafeScript.unwrap(script[i]);\n }\n const htmlContent \x3d SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22script\x22, attributes, htmlContent);\n }\n static createStyle(styleSheet, attributes \x3d undefined) {\n const fixedAttributes \x3d {\x22type\x22:\x22text/css\x22};\n const defaultAttributes \x3d {};\n const combinedAttrs \x3d SafeHtml.combineAttributes(fixedAttributes, defaultAttributes, attributes);\n let content \x3d \x22\x22;\n styleSheet \x3d googArray.concat(styleSheet);\n for (let i \x3d 0; i \x3c styleSheet.length; i++) {\n content \x3d content + SafeStyleSheet.unwrap(styleSheet[i]);\n }\n const htmlContent \x3d SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content);\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22style\x22, combinedAttrs, htmlContent);\n }\n static createMetaRefresh(url, secs \x3d undefined) {\n let unwrappedUrl \x3d SafeUrl.unwrap(SafeUrl.sanitize(url));\n if (browser.isIE() || browser.isEdge()) {\n if (internal.contains(unwrappedUrl, \x22;\x22)) {\n unwrappedUrl \x3d \x22\x27\x22 + unwrappedUrl.replace(/\x27/g, \x22%27\x22) + \x22\x27\x22;\n }\n }\n const attributes \x3d {\x22http-equiv\x22:\x22refresh\x22, \x22content\x22:(secs || 0) + \x22; url\\x3d\x22 + unwrappedUrl};\n return SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(\x22meta\x22, attributes);\n }\n static join(separator, parts) {\n const separatorHtml \x3d SafeHtml.htmlEscape(separator);\n const content \x3d [];\n const addArgument \x3d argument \x3d\x3e {\n if (Array.isArray(argument)) {\n argument.forEach(addArgument);\n } else {\n const html \x3d SafeHtml.htmlEscape(argument);\n content.push(SafeHtml.unwrap(html));\n }\n };\n parts.forEach(addArgument);\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(content.join(SafeHtml.unwrap(separatorHtml)));\n }\n static concat(var_args) {\n return SafeHtml.join(SafeHtml.EMPTY, Array.prototype.slice.call(arguments));\n }\n static createSafeHtmlSecurityPrivateDoNotAccessOrElse(html) {\n const noinlineHtml \x3d html;\n const policy \x3d trustedtypes.getPolicyPrivateDoNotAccessOrElse();\n const trustedHtml \x3d policy ? policy.createHTML(noinlineHtml) : noinlineHtml;\n return new SafeHtml(trustedHtml, CONSTRUCTOR_TOKEN_PRIVATE);\n }\n static createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(tagName, attributes \x3d undefined, content \x3d undefined) {\n let result \x3d `\x3c${tagName}`;\n result \x3d result + SafeHtml.stringifyAttributes(tagName, attributes);\n if (content \x3d\x3d null) {\n content \x3d [];\n } else if (!Array.isArray(content)) {\n content \x3d [content];\n }\n if (tags.isVoidTag(tagName.toLowerCase())) {\n asserts.assert(!content.length, `Void tag \x3c${tagName}\x3e does not allow content.`);\n result \x3d result + \x22\\x3e\x22;\n } else {\n const html \x3d SafeHtml.concat(content);\n result \x3d result + (\x22\\x3e\x22 + SafeHtml.unwrap(html) + \x22\\x3c/\x22 + tagName + \x22\\x3e\x22);\n }\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(result);\n }\n static stringifyAttributes(tagName, attributes \x3d undefined) {\n let result \x3d \x22\x22;\n if (attributes) {\n for (let name in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, name)) {\n if (!VALID_NAMES_IN_TAG.test(name)) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Invalid attribute name \x22${name}\x22.` : \x22\x22);\n }\n const value \x3d attributes[name];\n if (value \x3d\x3d null) {\n continue;\n }\n result \x3d result + (\x22 \x22 + getAttrNameAndValue(tagName, name, value));\n }\n }\n }\n return result;\n }\n static combineAttributes(fixedAttributes, defaultAttributes, attributes \x3d undefined) {\n const combinedAttributes \x3d {};\n for (const name in fixedAttributes) {\n if (Object.prototype.hasOwnProperty.call(fixedAttributes, name)) {\n asserts.assert(name.toLowerCase() \x3d\x3d name, \x22Must be lower case\x22);\n combinedAttributes[name] \x3d fixedAttributes[name];\n }\n }\n for (const name in defaultAttributes) {\n if (Object.prototype.hasOwnProperty.call(defaultAttributes, name)) {\n asserts.assert(name.toLowerCase() \x3d\x3d name, \x22Must be lower case\x22);\n combinedAttributes[name] \x3d defaultAttributes[name];\n }\n }\n if (attributes) {\n for (const name in attributes) {\n if (Object.prototype.hasOwnProperty.call(attributes, name)) {\n const nameLower \x3d name.toLowerCase();\n if (nameLower in fixedAttributes) {\n throw new Error(SafeHtml.ENABLE_ERROR_MESSAGES ? `Cannot override \x22${nameLower}\x22 attribute, got \x22` + name + \x27\x22 with value \x22\x27 + attributes[name] + \x27\x22\x27 : \x22\x22);\n }\n if (nameLower in defaultAttributes) {\n delete combinedAttributes[nameLower];\n }\n combinedAttributes[name] \x3d attributes[name];\n }\n }\n }\n return combinedAttributes;\n }\n }\n SafeHtml.ENABLE_ERROR_MESSAGES \x3d goog.define(\x22goog.html.SafeHtml.ENABLE_ERROR_MESSAGES\x22, goog.DEBUG);\n SafeHtml.SUPPORT_STYLE_ATTRIBUTE \x3d goog.define(\x22goog.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE\x22, true);\n SafeHtml.TextOrHtml_;\n SafeHtml.from \x3d SafeHtml.htmlEscape;\n const VALID_NAMES_IN_TAG \x3d /^[a-zA-Z0-9-]+$/;\n const URL_ATTRIBUTES \x3d googObject.createSet(\x22action\x22, \x22cite\x22, \x22data\x22, \x22formaction\x22, \x22href\x22, \x22manifest\x22, \x22poster\x22, \x22src\x22);\n const NOT_ALLOWED_TAG_NAMES \x3d googObject.createSet(TagName.APPLET, TagName.BASE, TagName.EMBED, TagName.IFRAME, TagName.LINK, TagName.MATH, TagName.META, TagName.OBJECT, TagName.SCRIPT, TagName.STYLE, TagName.SVG, TagName.TEMPLATE);\n SafeHtml.AttributeValue;\n SafeHtml.DOCTYPE_HTML \x3d {valueOf:function() {\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3c!DOCTYPE html\\x3e\x22);\n }}.valueOf();\n SafeHtml.EMPTY \x3d new SafeHtml(goog.global.trustedTypes \x26\x26 goog.global.trustedTypes.emptyHTML || \x22\x22, CONSTRUCTOR_TOKEN_PRIVATE);\n SafeHtml.BR \x3d {valueOf:function() {\n return SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(\x22\\x3cbr\\x3e\x22);\n }}.valueOf();\n exports \x3d SafeHtml;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.html.uncheckedconversions.js", true, "goog.provide(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.SafeStyle\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract \x3d function(justification, html) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(html);\n};\ngoog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract \x3d function(justification, script) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(script);\n};\ngoog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract \x3d function(justification, style) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(style);\n};\ngoog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract \x3d function(justification, styleSheet) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(styleSheet);\n};\ngoog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract \x3d function(justification, url) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(url);\n};\ngoog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract \x3d function(justification, url) {\n goog.asserts.assertString(goog.string.Const.unwrap(justification), \x22must provide justification\x22);\n goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(justification)), \x22must provide non-empty justification\x22);\n return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(url);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.safe.js", true, "goog.provide(\x22goog.dom.safe\x22);\ngoog.provide(\x22goog.dom.safe.InsertAdjacentHtmlPosition\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.asserts.dom\x22);\ngoog.require(\x22goog.dom.asserts\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.SafeScript\x22);\ngoog.require(\x22goog.html.SafeStyle\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.TrustedResourceUrl\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.dom.safe.InsertAdjacentHtmlPosition \x3d {AFTERBEGIN:\x22afterbegin\x22, AFTEREND:\x22afterend\x22, BEFOREBEGIN:\x22beforebegin\x22, BEFOREEND:\x22beforeend\x22};\ngoog.dom.safe.insertAdjacentHtml \x3d function(node, position, html) {\n node.insertAdjacentHTML(position, goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_ \x3d {\x22MATH\x22:true, \x22SCRIPT\x22:true, \x22STYLE\x22:true, \x22SVG\x22:true, \x22TEMPLATE\x22:true};\ngoog.dom.safe.isInnerHtmlCleanupRecursive_ \x3d goog.functions.cacheReturnValue(function() {\n if (goog.DEBUG \x26\x26 typeof document \x3d\x3d\x3d \x22undefined\x22) {\n return false;\n }\n var div \x3d document.createElement(\x22div\x22);\n var childDiv \x3d document.createElement(\x22div\x22);\n childDiv.appendChild(document.createElement(\x22div\x22));\n div.appendChild(childDiv);\n if (goog.DEBUG \x26\x26 !div.firstChild) {\n return false;\n }\n var innerChild \x3d div.firstChild.firstChild;\n div.innerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY);\n return !innerChild.parentElement;\n});\ngoog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse \x3d function(elem, html) {\n if (goog.dom.safe.isInnerHtmlCleanupRecursive_()) {\n for (; elem.lastChild;) {\n elem.removeChild(elem.lastChild);\n }\n }\n elem.innerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setInnerHtml \x3d function(elem, html) {\n if (goog.asserts.ENABLE_ASSERTS \x26\x26 elem.tagName) {\n var tagName \x3d elem.tagName.toUpperCase();\n if (goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[tagName]) {\n throw new Error(\x22goog.dom.safe.setInnerHtml cannot be used to set content of \x22 + elem.tagName + \x22.\x22);\n }\n }\n goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(elem, html);\n};\ngoog.dom.safe.setInnerHtmlFromConstant \x3d function(element, constHtml) {\n goog.dom.safe.setInnerHtml(element, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML to be immediatelly used.\x22), goog.string.Const.unwrap(constHtml)));\n};\ngoog.dom.safe.setOuterHtml \x3d function(elem, html) {\n elem.outerHTML \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setFormElementAction \x3d function(form, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n goog.asserts.dom.assertIsHtmlFormElement(form).action \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setButtonFormAction \x3d function(button, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n goog.asserts.dom.assertIsHtmlButtonElement(button).formAction \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setInputFormAction \x3d function(input, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n goog.asserts.dom.assertIsHtmlInputElement(input).formAction \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setStyle \x3d function(elem, style) {\n elem.style.cssText \x3d goog.html.SafeStyle.unwrap(style);\n};\ngoog.dom.safe.documentWrite \x3d function(doc, html) {\n doc.write(goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.setAnchorHref \x3d function(anchor, url) {\n goog.asserts.dom.assertIsHtmlAnchorElement(anchor);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n anchor.href \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setAudioSrc \x3d function(audioElement, url) {\n goog.asserts.dom.assertIsHtmlAudioElement(audioElement);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n audioElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setVideoSrc \x3d function(videoElement, url) {\n goog.asserts.dom.assertIsHtmlVideoElement(videoElement);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n videoElement.src \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.setEmbedSrc \x3d function(embed, url) {\n goog.asserts.dom.assertIsHtmlEmbedElement(embed);\n embed.src \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setFrameSrc \x3d function(frame, url) {\n goog.asserts.dom.assertIsHtmlFrameElement(frame);\n frame.src \x3d goog.html.TrustedResourceUrl.unwrap(url);\n};\ngoog.dom.safe.setIframeSrc \x3d function(iframe, url) {\n goog.asserts.dom.assertIsHtmlIFrameElement(iframe);\n iframe.src \x3d goog.html.TrustedResourceUrl.unwrap(url);\n};\ngoog.dom.safe.setIframeSrcdoc \x3d function(iframe, html) {\n goog.asserts.dom.assertIsHtmlIFrameElement(iframe);\n iframe.srcdoc \x3d goog.html.SafeHtml.unwrapTrustedHTML(html);\n};\ngoog.dom.safe.setLinkHrefAndRel \x3d function(link, url, rel) {\n goog.asserts.dom.assertIsHtmlLinkElement(link);\n link.rel \x3d rel;\n if (goog.string.internal.caseInsensitiveContains(rel, \x22stylesheet\x22)) {\n goog.asserts.assert(url instanceof goog.html.TrustedResourceUrl, \x27URL must be TrustedResourceUrl because \x22rel\x22 contains \x22stylesheet\x22\x27);\n link.href \x3d goog.html.TrustedResourceUrl.unwrap(url);\n const win \x3d link.ownerDocument \x26\x26 link.ownerDocument.defaultView;\n const nonce \x3d goog.dom.safe.getStyleNonce(win);\n if (nonce) {\n link.setAttribute(\x22nonce\x22, nonce);\n }\n } else if (url instanceof goog.html.TrustedResourceUrl) {\n link.href \x3d goog.html.TrustedResourceUrl.unwrap(url);\n } else if (url instanceof goog.html.SafeUrl) {\n link.href \x3d goog.html.SafeUrl.unwrap(url);\n } else {\n link.href \x3d goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url));\n }\n};\ngoog.dom.safe.setObjectData \x3d function(object, url) {\n goog.asserts.dom.assertIsHtmlObjectElement(object);\n object.data \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setScriptSrc \x3d function(script, url) {\n goog.asserts.dom.assertIsHtmlScriptElement(script);\n goog.dom.safe.setNonceForScriptElement_(script);\n script.src \x3d goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(url);\n};\ngoog.dom.safe.setScriptContent \x3d function(script, content) {\n goog.asserts.dom.assertIsHtmlScriptElement(script);\n goog.dom.safe.setNonceForScriptElement_(script);\n script.textContent \x3d goog.html.SafeScript.unwrapTrustedScript(content);\n};\ngoog.dom.safe.setNonceForScriptElement_ \x3d function(script) {\n var win \x3d script.ownerDocument \x26\x26 script.ownerDocument.defaultView;\n const nonce \x3d goog.dom.safe.getScriptNonce(win);\n if (nonce) {\n script.setAttribute(\x22nonce\x22, nonce);\n }\n};\ngoog.dom.safe.setLocationHref \x3d function(loc, url) {\n goog.dom.asserts.assertIsLocation(loc);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n loc.href \x3d goog.html.SafeUrl.unwrap(safeUrl);\n};\ngoog.dom.safe.assignLocation \x3d function(loc, url) {\n goog.dom.asserts.assertIsLocation(loc);\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n loc.assign(goog.html.SafeUrl.unwrap(safeUrl));\n};\ngoog.dom.safe.replaceLocation \x3d function(loc, url) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n loc.replace(goog.html.SafeUrl.unwrap(safeUrl));\n};\ngoog.dom.safe.openInWindow \x3d function(url, opt_openerWin, opt_name, opt_specs) {\n var safeUrl;\n if (url instanceof goog.html.SafeUrl) {\n safeUrl \x3d url;\n } else {\n safeUrl \x3d goog.html.SafeUrl.sanitizeJavascriptUrlAssertUnchanged(url);\n }\n var win \x3d opt_openerWin || goog.global;\n var name \x3d opt_name instanceof goog.string.Const ? goog.string.Const.unwrap(opt_name) : opt_name || \x22\x22;\n if (opt_specs !\x3d\x3d undefined) {\n return win.open(goog.html.SafeUrl.unwrap(safeUrl), name, opt_specs);\n } else {\n return win.open(goog.html.SafeUrl.unwrap(safeUrl), name);\n }\n};\ngoog.dom.safe.parseFromStringHtml \x3d function(parser, html) {\n return goog.dom.safe.parseFromString(parser, html, \x22text/html\x22);\n};\ngoog.dom.safe.parseFromString \x3d function(parser, content, type) {\n return parser.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(content), type);\n};\ngoog.dom.safe.createImageFromBlob \x3d function(blob) {\n if (!/^image\\/.*/g.test(blob.type)) {\n throw new Error(\x22goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.\x22);\n }\n var objectUrl \x3d goog.global.URL.createObjectURL(blob);\n var image \x3d new goog.global.Image();\n image.onload \x3d function() {\n goog.global.URL.revokeObjectURL(objectUrl);\n };\n image.src \x3d objectUrl;\n return image;\n};\ngoog.dom.safe.createContextualFragment \x3d function(range, html) {\n return range.createContextualFragment(goog.html.SafeHtml.unwrapTrustedHTML(html));\n};\ngoog.dom.safe.getScriptNonce \x3d function(opt_window) {\n return goog.dom.safe.getNonce_(\x22script[nonce]\x22, opt_window);\n};\ngoog.dom.safe.getStyleNonce \x3d function(opt_window) {\n return goog.dom.safe.getNonce_(\x27style[nonce],link[rel\\x3d\x22stylesheet\x22][nonce]\x27, opt_window);\n};\ngoog.dom.safe.NONCE_PATTERN_ \x3d /^[\\w+/_-]+[\x3d]{0,2}$/;\ngoog.dom.safe.getNonce_ \x3d function(selector, win) {\n const doc \x3d (win || goog.global).document;\n if (!doc.querySelector) {\n return \x22\x22;\n }\n let el \x3d doc.querySelector(selector);\n if (el) {\n const nonce \x3d el[\x22nonce\x22] || el.getAttribute(\x22nonce\x22);\n if (nonce \x26\x26 goog.dom.safe.NONCE_PATTERN_.test(nonce)) {\n return nonce;\n }\n }\n return \x22\x22;\n};\n");
SHADOW_ENV.evalLoad("goog.string.string.js", true, "goog.provide(\x22goog.string\x22);\ngoog.provide(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.string.DETECT_DOUBLE_ESCAPING \x3d goog.define(\x22goog.string.DETECT_DOUBLE_ESCAPING\x22, false);\ngoog.string.FORCE_NON_DOM_HTML_UNESCAPING \x3d goog.define(\x22goog.string.FORCE_NON_DOM_HTML_UNESCAPING\x22, false);\ngoog.string.Unicode \x3d {NBSP:\x22\xa0\x22, ZERO_WIDTH_SPACE:\x22\u200b\x22};\ngoog.string.startsWith \x3d goog.string.internal.startsWith;\ngoog.string.endsWith \x3d goog.string.internal.endsWith;\ngoog.string.caseInsensitiveStartsWith \x3d goog.string.internal.caseInsensitiveStartsWith;\ngoog.string.caseInsensitiveEndsWith \x3d goog.string.internal.caseInsensitiveEndsWith;\ngoog.string.caseInsensitiveEquals \x3d goog.string.internal.caseInsensitiveEquals;\ngoog.string.subs \x3d function(str, var_args) {\n const splitParts \x3d str.split(\x22%s\x22);\n let returnString \x3d \x22\x22;\n const subsArguments \x3d Array.prototype.slice.call(arguments, 1);\n for (; subsArguments.length \x26\x26 splitParts.length \x3e 1;) {\n returnString \x3d returnString + (splitParts.shift() + subsArguments.shift());\n }\n return returnString + splitParts.join(\x22%s\x22);\n};\ngoog.string.collapseWhitespace \x3d function(str) {\n return str.replace(/[\\s\\xa0]+/g, \x22 \x22).replace(/^\\s+|\\s+$/g, \x22\x22);\n};\ngoog.string.isEmptyOrWhitespace \x3d goog.string.internal.isEmptyOrWhitespace;\ngoog.string.isEmptyString \x3d function(str) {\n return str.length \x3d\x3d 0;\n};\ngoog.string.isEmpty \x3d goog.string.isEmptyOrWhitespace;\ngoog.string.isEmptyOrWhitespaceSafe \x3d function(str) {\n return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(str));\n};\ngoog.string.isEmptySafe \x3d goog.string.isEmptyOrWhitespaceSafe;\ngoog.string.isBreakingWhitespace \x3d function(str) {\n return !/[^\\t\\n\\r ]/.test(str);\n};\ngoog.string.isAlpha \x3d function(str) {\n return !/[^a-zA-Z]/.test(str);\n};\ngoog.string.isNumeric \x3d function(str) {\n return !/[^0-9]/.test(str);\n};\ngoog.string.isAlphaNumeric \x3d function(str) {\n return !/[^a-zA-Z0-9]/.test(str);\n};\ngoog.string.isSpace \x3d function(ch) {\n return ch \x3d\x3d \x22 \x22;\n};\ngoog.string.isUnicodeChar \x3d function(ch) {\n return ch.length \x3d\x3d 1 \x26\x26 ch \x3e\x3d \x22 \x22 \x26\x26 ch \x3c\x3d \x22~\x22 || ch \x3e\x3d \x22\x80\x22 \x26\x26 ch \x3c\x3d \x22\ufffd\x22;\n};\ngoog.string.stripNewlines \x3d function(str) {\n return str.replace(/(\\r\\n|\\r|\\n)+/g, \x22 \x22);\n};\ngoog.string.canonicalizeNewlines \x3d function(str) {\n return str.replace(/(\\r\\n|\\r|\\n)/g, \x22\\n\x22);\n};\ngoog.string.normalizeWhitespace \x3d function(str) {\n return str.replace(/\\xa0|\\s/g, \x22 \x22);\n};\ngoog.string.normalizeSpaces \x3d function(str) {\n return str.replace(/\\xa0|[ \\t]+/g, \x22 \x22);\n};\ngoog.string.collapseBreakingSpaces \x3d function(str) {\n return str.replace(/[\\t\\r\\n ]+/g, \x22 \x22).replace(/^[\\t\\r\\n ]+|[\\t\\r\\n ]+$/g, \x22\x22);\n};\ngoog.string.trim \x3d goog.string.internal.trim;\ngoog.string.trimLeft \x3d function(str) {\n return str.replace(/^[\\s\\xa0]+/, \x22\x22);\n};\ngoog.string.trimRight \x3d function(str) {\n return str.replace(/[\\s\\xa0]+$/, \x22\x22);\n};\ngoog.string.caseInsensitiveCompare \x3d goog.string.internal.caseInsensitiveCompare;\ngoog.string.numberAwareCompare_ \x3d function(str1, str2, tokenizerRegExp) {\n if (str1 \x3d\x3d str2) {\n return 0;\n }\n if (!str1) {\n return -1;\n }\n if (!str2) {\n return 1;\n }\n const tokens1 \x3d str1.toLowerCase().match(tokenizerRegExp);\n const tokens2 \x3d str2.toLowerCase().match(tokenizerRegExp);\n const count \x3d Math.min(tokens1.length, tokens2.length);\n for (let i \x3d 0; i \x3c count; i++) {\n const a \x3d tokens1[i];\n const b \x3d tokens2[i];\n if (a !\x3d b) {\n const num1 \x3d parseInt(a, 10);\n if (!isNaN(num1)) {\n const num2 \x3d parseInt(b, 10);\n if (!isNaN(num2) \x26\x26 num1 - num2) {\n return num1 - num2;\n }\n }\n return a \x3c b ? -1 : 1;\n }\n }\n if (tokens1.length !\x3d tokens2.length) {\n return tokens1.length - tokens2.length;\n }\n return str1 \x3c str2 ? -1 : 1;\n};\ngoog.string.intAwareCompare \x3d function(str1, str2) {\n return goog.string.numberAwareCompare_(str1, str2, /\\d+|\\D+/g);\n};\ngoog.string.floatAwareCompare \x3d function(str1, str2) {\n return goog.string.numberAwareCompare_(str1, str2, /\\d+|\\.\\d+|\\D+/g);\n};\ngoog.string.numerateCompare \x3d goog.string.floatAwareCompare;\ngoog.string.urlEncode \x3d function(str) {\n return encodeURIComponent(String(str));\n};\ngoog.string.urlDecode \x3d function(str) {\n return decodeURIComponent(str.replace(/\\+/g, \x22 \x22));\n};\ngoog.string.newLineToBr \x3d goog.string.internal.newLineToBr;\ngoog.string.htmlEscape \x3d function(str, opt_isLikelyToContainHtmlChars) {\n str \x3d goog.string.internal.htmlEscape(str, opt_isLikelyToContainHtmlChars);\n if (goog.string.DETECT_DOUBLE_ESCAPING) {\n str \x3d str.replace(goog.string.E_RE_, \x22\\x26#101;\x22);\n }\n return str;\n};\ngoog.string.E_RE_ \x3d /e/g;\ngoog.string.unescapeEntities \x3d function(str) {\n if (goog.string.contains(str, \x22\\x26\x22)) {\n if (!goog.string.FORCE_NON_DOM_HTML_UNESCAPING \x26\x26 \x22document\x22 in goog.global) {\n return goog.string.unescapeEntitiesUsingDom_(str);\n } else {\n return goog.string.unescapePureXmlEntities_(str);\n }\n }\n return str;\n};\ngoog.string.unescapeEntitiesWithDocument \x3d function(str, document) {\n if (goog.string.contains(str, \x22\\x26\x22)) {\n return goog.string.unescapeEntitiesUsingDom_(str, document);\n }\n return str;\n};\ngoog.string.unescapeEntitiesUsingDom_ \x3d function(str, opt_document) {\n const seen \x3d {\x22\\x26amp;\x22:\x22\\x26\x22, \x22\\x26lt;\x22:\x22\\x3c\x22, \x22\\x26gt;\x22:\x22\\x3e\x22, \x22\\x26quot;\x22:\x27\x22\x27};\n let div;\n if (opt_document) {\n div \x3d opt_document.createElement(\x22div\x22);\n } else {\n div \x3d goog.global.document.createElement(\x22div\x22);\n }\n return str.replace(goog.string.HTML_ENTITY_PATTERN_, function(s, entity) {\n let value \x3d seen[s];\n if (value) {\n return value;\n }\n if (entity.charAt(0) \x3d\x3d \x22#\x22) {\n const n \x3d Number(\x220\x22 + entity.slice(1));\n if (!isNaN(n)) {\n value \x3d String.fromCharCode(n);\n }\n }\n if (!value) {\n goog.dom.safe.setInnerHtml(div, goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Single HTML entity.\x22), s + \x22 \x22));\n value \x3d div.firstChild.nodeValue.slice(0, -1);\n }\n return seen[s] \x3d value;\n });\n};\ngoog.string.unescapePureXmlEntities_ \x3d function(str) {\n return str.replace(/\x26([^;]+);/g, function(s, entity) {\n switch(entity) {\n case \x22amp\x22:\n return \x22\\x26\x22;\n case \x22lt\x22:\n return \x22\\x3c\x22;\n case \x22gt\x22:\n return \x22\\x3e\x22;\n case \x22quot\x22:\n return \x27\x22\x27;\n default:\n if (entity.charAt(0) \x3d\x3d \x22#\x22) {\n const n \x3d Number(\x220\x22 + entity.slice(1));\n if (!isNaN(n)) {\n return String.fromCharCode(n);\n }\n }\n return s;\n }\n });\n};\ngoog.string.HTML_ENTITY_PATTERN_ \x3d /\x26([^;\\s\x3c\x26]+);?/g;\ngoog.string.whitespaceEscape \x3d function(str, opt_xml) {\n return goog.string.newLineToBr(str.replace(/ /g, \x22 \\x26#160;\x22), opt_xml);\n};\ngoog.string.preserveSpaces \x3d function(str) {\n return str.replace(/(^|[\\n ]) /g, \x22$1\x22 + goog.string.Unicode.NBSP);\n};\ngoog.string.stripQuotes \x3d function(str, quoteChars) {\n const length \x3d quoteChars.length;\n for (let i \x3d 0; i \x3c length; i++) {\n const quoteChar \x3d length \x3d\x3d 1 ? quoteChars : quoteChars.charAt(i);\n if (str.charAt(0) \x3d\x3d quoteChar \x26\x26 str.charAt(str.length - 1) \x3d\x3d quoteChar) {\n return str.substring(1, str.length - 1);\n }\n }\n return str;\n};\ngoog.string.truncate \x3d function(str, chars, opt_protectEscapedCharacters) {\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.unescapeEntities(str);\n }\n if (str.length \x3e chars) {\n str \x3d str.substring(0, chars - 3) + \x22...\x22;\n }\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.htmlEscape(str);\n }\n return str;\n};\ngoog.string.truncateMiddle \x3d function(str, chars, opt_protectEscapedCharacters, opt_trailingChars) {\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.unescapeEntities(str);\n }\n if (opt_trailingChars \x26\x26 str.length \x3e chars) {\n if (opt_trailingChars \x3e chars) {\n opt_trailingChars \x3d chars;\n }\n const endPoint \x3d str.length - opt_trailingChars;\n const startPoint \x3d chars - opt_trailingChars;\n str \x3d str.substring(0, startPoint) + \x22...\x22 + str.substring(endPoint);\n } else if (str.length \x3e chars) {\n let half \x3d Math.floor(chars / 2);\n const endPos \x3d str.length - half;\n half \x3d half + chars % 2;\n str \x3d str.substring(0, half) + \x22...\x22 + str.substring(endPos);\n }\n if (opt_protectEscapedCharacters) {\n str \x3d goog.string.htmlEscape(str);\n }\n return str;\n};\ngoog.string.specialEscapeChars_ \x3d {\x22\\x00\x22:\x22\\\\0\x22, \x22\\b\x22:\x22\\\\b\x22, \x22\\f\x22:\x22\\\\f\x22, \x22\\n\x22:\x22\\\\n\x22, \x22\\r\x22:\x22\\\\r\x22, \x22\\t\x22:\x22\\\\t\x22, \x22\\v\x22:\x22\\\\x0B\x22, \x27\x22\x27:\x27\\\\\x22\x27, \x22\\\\\x22:\x22\\\\\\\\\x22, \x22\\x3c\x22:\x22\\\\u003C\x22};\ngoog.string.jsEscapeCache_ \x3d {\x22\x27\x22:\x22\\\\\x27\x22};\ngoog.string.quote \x3d function(s) {\n s \x3d String(s);\n const sb \x3d [\x27\x22\x27];\n for (let i \x3d 0; i \x3c s.length; i++) {\n const ch \x3d s.charAt(i);\n const cc \x3d ch.charCodeAt(0);\n sb[i + 1] \x3d goog.string.specialEscapeChars_[ch] || (cc \x3e 31 \x26\x26 cc \x3c 127 ? ch : goog.string.escapeChar(ch));\n }\n sb.push(\x27\x22\x27);\n return sb.join(\x22\x22);\n};\ngoog.string.escapeString \x3d function(str) {\n const sb \x3d [];\n for (let i \x3d 0; i \x3c str.length; i++) {\n sb[i] \x3d goog.string.escapeChar(str.charAt(i));\n }\n return sb.join(\x22\x22);\n};\ngoog.string.escapeChar \x3d function(c) {\n if (c in goog.string.jsEscapeCache_) {\n return goog.string.jsEscapeCache_[c];\n }\n if (c in goog.string.specialEscapeChars_) {\n return goog.string.jsEscapeCache_[c] \x3d goog.string.specialEscapeChars_[c];\n }\n let rv \x3d c;\n const cc \x3d c.charCodeAt(0);\n if (cc \x3e 31 \x26\x26 cc \x3c 127) {\n rv \x3d c;\n } else {\n if (cc \x3c 256) {\n rv \x3d \x22\\\\x\x22;\n if (cc \x3c 16 || cc \x3e 256) {\n rv \x3d rv + \x220\x22;\n }\n } else {\n rv \x3d \x22\\\\u\x22;\n if (cc \x3c 4096) {\n rv \x3d rv + \x220\x22;\n }\n }\n rv \x3d rv + cc.toString(16).toUpperCase();\n }\n return goog.string.jsEscapeCache_[c] \x3d rv;\n};\ngoog.string.contains \x3d goog.string.internal.contains;\ngoog.string.caseInsensitiveContains \x3d goog.string.internal.caseInsensitiveContains;\ngoog.string.countOf \x3d function(s, ss) {\n return s \x26\x26 ss ? s.split(ss).length - 1 : 0;\n};\ngoog.string.removeAt \x3d function(s, index, stringLength) {\n let resultStr \x3d s;\n if (index \x3e\x3d 0 \x26\x26 index \x3c s.length \x26\x26 stringLength \x3e 0) {\n resultStr \x3d s.slice(0, index) + s.slice(index + stringLength);\n }\n return resultStr;\n};\ngoog.string.remove \x3d function(str, substr) {\n return str.replace(substr, \x22\x22);\n};\ngoog.string.removeAll \x3d function(s, ss) {\n const re \x3d new RegExp(goog.string.regExpEscape(ss), \x22g\x22);\n return s.replace(re, \x22\x22);\n};\ngoog.string.replaceAll \x3d function(s, ss, replacement) {\n const re \x3d new RegExp(goog.string.regExpEscape(ss), \x22g\x22);\n return s.replace(re, replacement.replace(/\\$/g, \x22$$$$\x22));\n};\ngoog.string.regExpEscape \x3d function(s) {\n return String(s).replace(/([-()\\[\\]{}+?*.$\\^|,:#\x3c!\\\\])/g, \x22\\\\$1\x22).replace(/\\x08/g, \x22\\\\x08\x22);\n};\ngoog.string.repeat \x3d String.prototype.repeat ? function(string, length) {\n return string.repeat(length);\n} : function(string, length) {\n return (new Array(length + 1)).join(string);\n};\ngoog.string.padNumber \x3d function(num, length, opt_precision) {\n if (!Number.isFinite(num)) {\n return String(num);\n }\n let s \x3d opt_precision !\x3d\x3d undefined ? num.toFixed(opt_precision) : String(num);\n let index \x3d s.indexOf(\x22.\x22);\n if (index \x3d\x3d\x3d -1) {\n index \x3d s.length;\n }\n const sign \x3d s[0] \x3d\x3d\x3d \x22-\x22 ? \x22-\x22 : \x22\x22;\n if (sign) {\n s \x3d s.substring(1);\n }\n return sign + goog.string.repeat(\x220\x22, Math.max(0, length - index)) + s;\n};\ngoog.string.makeSafe \x3d function(obj) {\n return obj \x3d\x3d null ? \x22\x22 : String(obj);\n};\ngoog.string.getRandomString \x3d function() {\n const x \x3d 2147483648;\n return Math.floor(Math.random() * x).toString(36) + Math.abs(Math.floor(Math.random() * x) ^ goog.now()).toString(36);\n};\ngoog.string.compareVersions \x3d goog.string.internal.compareVersions;\ngoog.string.hashCode \x3d function(str) {\n let result \x3d 0;\n for (let i \x3d 0; i \x3c str.length; ++i) {\n result \x3d 31 * result + str.charCodeAt(i) \x3e\x3e\x3e 0;\n }\n return result;\n};\ngoog.string.uniqueStringCounter_ \x3d Math.random() * 2147483648 | 0;\ngoog.string.createUniqueString \x3d function() {\n return \x22goog_\x22 + goog.string.uniqueStringCounter_++;\n};\ngoog.string.toNumber \x3d function(str) {\n const num \x3d Number(str);\n if (num \x3d\x3d 0 \x26\x26 goog.string.isEmptyOrWhitespace(str)) {\n return NaN;\n }\n return num;\n};\ngoog.string.isLowerCamelCase \x3d function(str) {\n return /^[a-z]+([A-Z][a-z]*)*$/.test(str);\n};\ngoog.string.isUpperCamelCase \x3d function(str) {\n return /^([A-Z][a-z]*)+$/.test(str);\n};\ngoog.string.toCamelCase \x3d function(str) {\n return String(str).replace(/\\-([a-z])/g, function(all, match) {\n return match.toUpperCase();\n });\n};\ngoog.string.toSelectorCase \x3d function(str) {\n return String(str).replace(/([A-Z])/g, \x22-$1\x22).toLowerCase();\n};\ngoog.string.toTitleCase \x3d function(str, opt_delimiters) {\n let delimiters \x3d typeof opt_delimiters \x3d\x3d\x3d \x22string\x22 ? goog.string.regExpEscape(opt_delimiters) : \x22\\\\s\x22;\n delimiters \x3d delimiters ? \x22|[\x22 + delimiters + \x22]+\x22 : \x22\x22;\n const regexp \x3d new RegExp(\x22(^\x22 + delimiters + \x22)([a-z])\x22, \x22g\x22);\n return str.replace(regexp, function(all, p1, p2) {\n return p1 + p2.toUpperCase();\n });\n};\ngoog.string.capitalize \x3d function(str) {\n return String(str.charAt(0)).toUpperCase() + String(str.slice(1)).toLowerCase();\n};\ngoog.string.parseInt \x3d function(value) {\n if (isFinite(value)) {\n value \x3d String(value);\n }\n if (typeof value \x3d\x3d\x3d \x22string\x22) {\n return /^\\s*-?0x/i.test(value) ? parseInt(value, 16) : parseInt(value, 10);\n }\n return NaN;\n};\ngoog.string.splitLimit \x3d function(str, separator, limit) {\n const parts \x3d str.split(separator);\n const returnVal \x3d [];\n for (; limit \x3e 0 \x26\x26 parts.length;) {\n returnVal.push(parts.shift());\n limit--;\n }\n if (parts.length) {\n returnVal.push(parts.join(separator));\n }\n return returnVal;\n};\ngoog.string.lastComponent \x3d function(str, separators) {\n if (!separators) {\n return str;\n } else if (typeof separators \x3d\x3d \x22string\x22) {\n separators \x3d [separators];\n }\n let lastSeparatorIndex \x3d -1;\n for (let i \x3d 0; i \x3c separators.length; i++) {\n if (separators[i] \x3d\x3d \x22\x22) {\n continue;\n }\n const currentSeparatorIndex \x3d str.lastIndexOf(separators[i]);\n if (currentSeparatorIndex \x3e lastSeparatorIndex) {\n lastSeparatorIndex \x3d currentSeparatorIndex;\n }\n }\n if (lastSeparatorIndex \x3d\x3d -1) {\n return str;\n }\n return str.slice(lastSeparatorIndex + 1);\n};\ngoog.string.editDistance \x3d function(a, b) {\n const v0 \x3d [];\n const v1 \x3d [];\n if (a \x3d\x3d b) {\n return 0;\n }\n if (!a.length || !b.length) {\n return Math.max(a.length, b.length);\n }\n for (let i \x3d 0; i \x3c b.length + 1; i++) {\n v0[i] \x3d i;\n }\n for (let i \x3d 0; i \x3c a.length; i++) {\n v1[0] \x3d i + 1;\n for (let j \x3d 0; j \x3c b.length; j++) {\n const cost \x3d Number(a[i] !\x3d b[j]);\n v1[j + 1] \x3d Math.min(v1[j] + 1, v0[j + 1] + 1, v0[j] + cost);\n }\n for (let j \x3d 0; j \x3c v0.length; j++) {\n v0[j] \x3d v1[j];\n }\n }\n return v1[b.length];\n};\n");
SHADOW_ENV.evalLoad("goog.collections.maps.js", true, "goog.loadModule(function(exports) {\n function setAll(map, entries) {\n if (!entries) {\n return;\n }\n for (const [k, v] of entries) {\n map.set(k, v);\n }\n }\n function hasValue(map, val, valueEqualityFn \x3d defaultEqualityFn) {\n for (const v of map.values()) {\n if (valueEqualityFn(v, val)) {\n return true;\n }\n }\n return false;\n }\n function equals(map, otherMap, valueEqualityFn \x3d defaultEqualityFn) {\n if (map \x3d\x3d\x3d otherMap) {\n return true;\n }\n if (map.size !\x3d\x3d otherMap.size) {\n return false;\n }\n for (const key of map.keys()) {\n if (!otherMap.has(key)) {\n return false;\n }\n if (!valueEqualityFn(map.get(key), otherMap.get(key))) {\n return false;\n }\n }\n return true;\n }\n function transpose(map) {\n const transposed \x3d new Map();\n for (const key of map.keys()) {\n const val \x3d map.get(key);\n transposed.set(val, key);\n }\n return transposed;\n }\n function toObject(map) {\n const obj \x3d {};\n for (const key of map.keys()) {\n obj[key] \x3d map.get(key);\n }\n return obj;\n }\n \x22use strict\x22;\n goog.module(\x22goog.collections.maps\x22);\n goog.module.declareLegacyNamespace();\n class MapLike {\n constructor() {\n this.size;\n }\n set(key, val) {\n }\n get(key) {\n }\n keys() {\n }\n values() {\n }\n has(key) {\n }\n }\n exports.MapLike \x3d MapLike;\n exports.setAll \x3d setAll;\n exports.hasValue \x3d hasValue;\n const defaultEqualityFn \x3d (a, b) \x3d\x3e {\n return a \x3d\x3d\x3d b;\n };\n exports.equals \x3d equals;\n exports.transpose \x3d transpose;\n exports.toObject \x3d toObject;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.structs.structs.js", true, "goog.provide(\x22goog.structs\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.object\x22);\ngoog.structs.getCount \x3d function(col) {\n if (col.getCount \x26\x26 typeof col.getCount \x3d\x3d \x22function\x22) {\n return col.getCount();\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return col.length;\n }\n return goog.object.getCount(col);\n};\ngoog.structs.getValues \x3d function(col) {\n if (col.getValues \x26\x26 typeof col.getValues \x3d\x3d \x22function\x22) {\n return col.getValues();\n }\n if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Map || typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Set) {\n return Array.from(col.values());\n }\n if (typeof col \x3d\x3d\x3d \x22string\x22) {\n return col.split(\x22\x22);\n }\n if (goog.isArrayLike(col)) {\n var rv \x3d [];\n var l \x3d col.length;\n var i \x3d 0;\n for (; i \x3c l; i++) {\n rv.push(col[i]);\n }\n return rv;\n }\n return goog.object.getValues(col);\n};\ngoog.structs.getKeys \x3d function(col) {\n if (col.getKeys \x26\x26 typeof col.getKeys \x3d\x3d \x22function\x22) {\n return col.getKeys();\n }\n if (col.getValues \x26\x26 typeof col.getValues \x3d\x3d \x22function\x22) {\n return undefined;\n }\n if (typeof Map !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Map) {\n return Array.from(col.keys());\n }\n if (typeof Set !\x3d\x3d \x22undefined\x22 \x26\x26 col instanceof Set) {\n return undefined;\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n var rv \x3d [];\n var l \x3d col.length;\n var i \x3d 0;\n for (; i \x3c l; i++) {\n rv.push(i);\n }\n return rv;\n }\n return goog.object.getKeys(col);\n};\ngoog.structs.contains \x3d function(col, val) {\n if (col.contains \x26\x26 typeof col.contains \x3d\x3d \x22function\x22) {\n return col.contains(val);\n }\n if (col.containsValue \x26\x26 typeof col.containsValue \x3d\x3d \x22function\x22) {\n return col.containsValue(val);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return goog.array.contains(col, val);\n }\n return goog.object.containsValue(col, val);\n};\ngoog.structs.isEmpty \x3d function(col) {\n if (col.isEmpty \x26\x26 typeof col.isEmpty \x3d\x3d \x22function\x22) {\n return col.isEmpty();\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return col.length \x3d\x3d\x3d 0;\n }\n return goog.object.isEmpty(col);\n};\ngoog.structs.clear \x3d function(col) {\n if (col.clear \x26\x26 typeof col.clear \x3d\x3d \x22function\x22) {\n col.clear();\n } else if (goog.isArrayLike(col)) {\n goog.array.clear(col);\n } else {\n goog.object.clear(col);\n }\n};\ngoog.structs.forEach \x3d function(col, f, opt_obj) {\n if (col.forEach \x26\x26 typeof col.forEach \x3d\x3d \x22function\x22) {\n col.forEach(f, opt_obj);\n } else if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n Array.prototype.forEach.call(col, f, opt_obj);\n } else {\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n var i \x3d 0;\n for (; i \x3c l; i++) {\n f.call(opt_obj, values[i], keys \x26\x26 keys[i], col);\n }\n }\n};\ngoog.structs.filter \x3d function(col, f, opt_obj) {\n if (typeof col.filter \x3d\x3d \x22function\x22) {\n return col.filter(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.filter.call(col, f, opt_obj);\n }\n var rv;\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n if (keys) {\n rv \x3d {};\n var i \x3d 0;\n for (; i \x3c l; i++) {\n if (f.call(opt_obj, values[i], keys[i], col)) {\n rv[keys[i]] \x3d values[i];\n }\n }\n } else {\n rv \x3d [];\n i \x3d 0;\n for (; i \x3c l; i++) {\n if (f.call(opt_obj, values[i], undefined, col)) {\n rv.push(values[i]);\n }\n }\n }\n return rv;\n};\ngoog.structs.map \x3d function(col, f, opt_obj) {\n if (typeof col.map \x3d\x3d \x22function\x22) {\n return col.map(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.map.call(col, f, opt_obj);\n }\n var rv;\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n if (keys) {\n rv \x3d {};\n var i \x3d 0;\n for (; i \x3c l; i++) {\n rv[keys[i]] \x3d f.call(opt_obj, values[i], keys[i], col);\n }\n } else {\n rv \x3d [];\n i \x3d 0;\n for (; i \x3c l; i++) {\n rv[i] \x3d f.call(opt_obj, values[i], undefined, col);\n }\n }\n return rv;\n};\ngoog.structs.some \x3d function(col, f, opt_obj) {\n if (typeof col.some \x3d\x3d \x22function\x22) {\n return col.some(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.some.call(col, f, opt_obj);\n }\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n var i \x3d 0;\n for (; i \x3c l; i++) {\n if (f.call(opt_obj, values[i], keys \x26\x26 keys[i], col)) {\n return true;\n }\n }\n return false;\n};\ngoog.structs.every \x3d function(col, f, opt_obj) {\n if (typeof col.every \x3d\x3d \x22function\x22) {\n return col.every(f, opt_obj);\n }\n if (goog.isArrayLike(col) || typeof col \x3d\x3d\x3d \x22string\x22) {\n return Array.prototype.every.call(col, f, opt_obj);\n }\n var keys \x3d goog.structs.getKeys(col);\n var values \x3d goog.structs.getValues(col);\n var l \x3d values.length;\n var i \x3d 0;\n for (; i \x3c l; i++) {\n if (!f.call(opt_obj, values[i], keys \x26\x26 keys[i], col)) {\n return false;\n }\n }\n return true;\n};\n");
SHADOW_ENV.evalLoad("goog.uri.utils.js", true, "goog.provide(\x22goog.uri.utils\x22);\ngoog.provide(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.provide(\x22goog.uri.utils.QueryArray\x22);\ngoog.provide(\x22goog.uri.utils.QueryValue\x22);\ngoog.provide(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.string\x22);\ngoog.uri.utils.CharCode_ \x3d {AMPERSAND:38, EQUAL:61, HASH:35, QUESTION:63};\ngoog.uri.utils.buildFromEncodedParts \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_queryData, opt_fragment) {\n var out \x3d \x22\x22;\n if (opt_scheme) {\n out \x3d out + (opt_scheme + \x22:\x22);\n }\n if (opt_domain) {\n out \x3d out + \x22//\x22;\n if (opt_userInfo) {\n out \x3d out + (opt_userInfo + \x22@\x22);\n }\n out \x3d out + opt_domain;\n if (opt_port) {\n out \x3d out + (\x22:\x22 + opt_port);\n }\n }\n if (opt_path) {\n out \x3d out + opt_path;\n }\n if (opt_queryData) {\n out \x3d out + (\x22?\x22 + opt_queryData);\n }\n if (opt_fragment) {\n out \x3d out + (\x22#\x22 + opt_fragment);\n }\n return out;\n};\ngoog.uri.utils.splitRe_ \x3d new RegExp(\x22^\x22 + \x22(?:\x22 + \x22([^:/?#.]+)\x22 + \x22:)?\x22 + \x22(?://\x22 + \x22(?:([^\\\\\\\\/?#]*)@)?\x22 + \x22([^\\\\\\\\/?#]*?)\x22 + \x22(?::([0-9]+))?\x22 + \x22(?\\x3d[\\\\\\\\/?#]|$)\x22 + \x22)?\x22 + \x22([^?#]+)?\x22 + \x22(?:\\\\?([^#]*))?\x22 + \x22(?:#([\\\\s\\\\S]*))?\x22 + \x22$\x22);\ngoog.uri.utils.ComponentIndex \x3d {SCHEME:1, USER_INFO:2, DOMAIN:3, PORT:4, PATH:5, QUERY_DATA:6, FRAGMENT:7};\ngoog.uri.utils.urlPackageSupportLoggingHandler_ \x3d null;\ngoog.uri.utils.setUrlPackageSupportLoggingHandler \x3d function(handler) {\n goog.uri.utils.urlPackageSupportLoggingHandler_ \x3d handler;\n};\ngoog.uri.utils.split \x3d function(uri) {\n var result \x3d uri.match(goog.uri.utils.splitRe_);\n if (goog.uri.utils.urlPackageSupportLoggingHandler_ \x26\x26 [\x22http\x22, \x22https\x22, \x22ws\x22, \x22wss\x22, \x22ftp\x22].indexOf(result[goog.uri.utils.ComponentIndex.SCHEME]) \x3e\x3d 0) {\n goog.uri.utils.urlPackageSupportLoggingHandler_(uri);\n }\n return result;\n};\ngoog.uri.utils.decodeIfPossible_ \x3d function(uri, opt_preserveReserved) {\n if (!uri) {\n return uri;\n }\n return opt_preserveReserved ? decodeURI(uri) : decodeURIComponent(uri);\n};\ngoog.uri.utils.getComponentByIndex_ \x3d function(componentIndex, uri) {\n return goog.uri.utils.split(uri)[componentIndex] || null;\n};\ngoog.uri.utils.getScheme \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME, uri);\n};\ngoog.uri.utils.getEffectiveScheme \x3d function(uri) {\n var scheme \x3d goog.uri.utils.getScheme(uri);\n if (!scheme \x26\x26 goog.global.self \x26\x26 goog.global.self.location) {\n var protocol \x3d goog.global.self.location.protocol;\n scheme \x3d protocol.slice(0, -1);\n }\n return scheme ? scheme.toLowerCase() : \x22\x22;\n};\ngoog.uri.utils.getUserInfoEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO, uri);\n};\ngoog.uri.utils.getUserInfo \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(uri));\n};\ngoog.uri.utils.getDomainEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN, uri);\n};\ngoog.uri.utils.getDomain \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(uri), true);\n};\ngoog.uri.utils.getPort \x3d function(uri) {\n return Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT, uri)) || null;\n};\ngoog.uri.utils.getPathEncoded \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH, uri);\n};\ngoog.uri.utils.getPath \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(uri), true);\n};\ngoog.uri.utils.getQueryData \x3d function(uri) {\n return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA, uri);\n};\ngoog.uri.utils.getFragmentEncoded \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n return hashIndex \x3c 0 ? null : uri.slice(hashIndex + 1);\n};\ngoog.uri.utils.setFragmentEncoded \x3d function(uri, fragment) {\n return goog.uri.utils.removeFragment(uri) + (fragment ? \x22#\x22 + fragment : \x22\x22);\n};\ngoog.uri.utils.getFragment \x3d function(uri) {\n return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(uri));\n};\ngoog.uri.utils.getHost \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], pieces[goog.uri.utils.ComponentIndex.USER_INFO], pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getOrigin \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(pieces[goog.uri.utils.ComponentIndex.SCHEME], null, pieces[goog.uri.utils.ComponentIndex.DOMAIN], pieces[goog.uri.utils.ComponentIndex.PORT]);\n};\ngoog.uri.utils.getPathAndAfter \x3d function(uri) {\n var pieces \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(null, null, null, null, pieces[goog.uri.utils.ComponentIndex.PATH], pieces[goog.uri.utils.ComponentIndex.QUERY_DATA], pieces[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.removeFragment \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n return hashIndex \x3c 0 ? uri : uri.slice(0, hashIndex);\n};\ngoog.uri.utils.haveSameDomain \x3d function(uri1, uri2) {\n var pieces1 \x3d goog.uri.utils.split(uri1);\n var pieces2 \x3d goog.uri.utils.split(uri2);\n return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.SCHEME] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.SCHEME] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.uri.utils.assertNoFragmentsOrQueries_ \x3d function(uri) {\n goog.asserts.assert(uri.indexOf(\x22#\x22) \x3c 0 \x26\x26 uri.indexOf(\x22?\x22) \x3c 0, \x22goog.uri.utils: Fragment or query identifiers are not supported: [%s]\x22, uri);\n};\ngoog.uri.utils.QueryValue;\ngoog.uri.utils.QueryArray;\ngoog.uri.utils.parseQueryData \x3d function(encodedQuery, callback) {\n if (!encodedQuery) {\n return;\n }\n var pairs \x3d encodedQuery.split(\x22\\x26\x22);\n var i \x3d 0;\n for (; i \x3c pairs.length; i++) {\n var indexOfEquals \x3d pairs[i].indexOf(\x22\\x3d\x22);\n var name \x3d null;\n var value \x3d null;\n if (indexOfEquals \x3e\x3d 0) {\n name \x3d pairs[i].substring(0, indexOfEquals);\n value \x3d pairs[i].substring(indexOfEquals + 1);\n } else {\n name \x3d pairs[i];\n }\n callback(name, value ? goog.string.urlDecode(value) : \x22\x22);\n }\n};\ngoog.uri.utils.splitQueryData_ \x3d function(uri) {\n var hashIndex \x3d uri.indexOf(\x22#\x22);\n if (hashIndex \x3c 0) {\n hashIndex \x3d uri.length;\n }\n var questionIndex \x3d uri.indexOf(\x22?\x22);\n var queryData;\n if (questionIndex \x3c 0 || questionIndex \x3e hashIndex) {\n questionIndex \x3d hashIndex;\n queryData \x3d \x22\x22;\n } else {\n queryData \x3d uri.substring(questionIndex + 1, hashIndex);\n }\n return [uri.slice(0, questionIndex), queryData, uri.slice(hashIndex)];\n};\ngoog.uri.utils.joinQueryData_ \x3d function(parts) {\n return parts[0] + (parts[1] ? \x22?\x22 + parts[1] : \x22\x22) + parts[2];\n};\ngoog.uri.utils.appendQueryData_ \x3d function(queryData, newData) {\n if (!newData) {\n return queryData;\n }\n return queryData ? queryData + \x22\\x26\x22 + newData : newData;\n};\ngoog.uri.utils.appendQueryDataToUri_ \x3d function(uri, queryData) {\n if (!queryData) {\n return uri;\n }\n var parts \x3d goog.uri.utils.splitQueryData_(uri);\n parts[1] \x3d goog.uri.utils.appendQueryData_(parts[1], queryData);\n return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendKeyValuePairs_ \x3d function(key, value, pairs) {\n goog.asserts.assertString(key);\n if (Array.isArray(value)) {\n goog.asserts.assertArray(value);\n var j \x3d 0;\n for (; j \x3c value.length; j++) {\n goog.uri.utils.appendKeyValuePairs_(key, String(value[j]), pairs);\n }\n } else if (value !\x3d null) {\n pairs.push(key + (value \x3d\x3d\x3d \x22\x22 ? \x22\x22 : \x22\\x3d\x22 + goog.string.urlEncode(value)));\n }\n};\ngoog.uri.utils.buildQueryData \x3d function(keysAndValues, opt_startIndex) {\n goog.asserts.assert(Math.max(keysAndValues.length - (opt_startIndex || 0), 0) % 2 \x3d\x3d 0, \x22goog.uri.utils: Key/value lists must be even in length.\x22);\n var params \x3d [];\n var i \x3d opt_startIndex || 0;\n for (; i \x3c keysAndValues.length; i \x3d i + 2) {\n var key \x3d keysAndValues[i];\n goog.uri.utils.appendKeyValuePairs_(key, keysAndValues[i + 1], params);\n }\n return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.buildQueryDataFromMap \x3d function(map) {\n var params \x3d [];\n var key;\n for (key in map) {\n goog.uri.utils.appendKeyValuePairs_(key, map[key], params);\n }\n return params.join(\x22\\x26\x22);\n};\ngoog.uri.utils.appendParams \x3d function(uri, var_args) {\n var queryData \x3d arguments.length \x3d\x3d 2 ? goog.uri.utils.buildQueryData(arguments[1], 0) : goog.uri.utils.buildQueryData(arguments, 1);\n return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParamsFromMap \x3d function(uri, map) {\n var queryData \x3d goog.uri.utils.buildQueryDataFromMap(map);\n return goog.uri.utils.appendQueryDataToUri_(uri, queryData);\n};\ngoog.uri.utils.appendParam \x3d function(uri, key, opt_value) {\n var value \x3d opt_value !\x3d null ? \x22\\x3d\x22 + goog.string.urlEncode(opt_value) : \x22\x22;\n return goog.uri.utils.appendQueryDataToUri_(uri, key + value);\n};\ngoog.uri.utils.findParam_ \x3d function(uri, startIndex, keyEncoded, hashOrEndIndex) {\n var index \x3d startIndex;\n var keyLength \x3d keyEncoded.length;\n for (; (index \x3d uri.indexOf(keyEncoded, index)) \x3e\x3d 0 \x26\x26 index \x3c hashOrEndIndex;) {\n var precedingChar \x3d uri.charCodeAt(index - 1);\n if (precedingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || precedingChar \x3d\x3d goog.uri.utils.CharCode_.QUESTION) {\n var followingChar \x3d uri.charCodeAt(index + keyLength);\n if (!followingChar || followingChar \x3d\x3d goog.uri.utils.CharCode_.EQUAL || followingChar \x3d\x3d goog.uri.utils.CharCode_.AMPERSAND || followingChar \x3d\x3d goog.uri.utils.CharCode_.HASH) {\n return index;\n }\n }\n index \x3d index + (keyLength + 1);\n }\n return -1;\n};\ngoog.uri.utils.hashOrEndRe_ \x3d /#|$/;\ngoog.uri.utils.hasParam \x3d function(uri, keyEncoded) {\n return goog.uri.utils.findParam_(uri, 0, keyEncoded, uri.search(goog.uri.utils.hashOrEndRe_)) \x3e\x3d 0;\n};\ngoog.uri.utils.getParamValue \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var foundIndex \x3d goog.uri.utils.findParam_(uri, 0, keyEncoded, hashOrEndIndex);\n if (foundIndex \x3c 0) {\n return null;\n } else {\n var endPosition \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n if (endPosition \x3c 0 || endPosition \x3e hashOrEndIndex) {\n endPosition \x3d hashOrEndIndex;\n }\n foundIndex \x3d foundIndex + (keyEncoded.length + 1);\n return goog.string.urlDecode(uri.slice(foundIndex, endPosition !\x3d\x3d -1 ? endPosition : 0));\n }\n};\ngoog.uri.utils.getParamValues \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var position \x3d 0;\n var foundIndex;\n var result \x3d [];\n for (; (foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0;) {\n position \x3d uri.indexOf(\x22\\x26\x22, foundIndex);\n if (position \x3c 0 || position \x3e hashOrEndIndex) {\n position \x3d hashOrEndIndex;\n }\n foundIndex \x3d foundIndex + (keyEncoded.length + 1);\n result.push(goog.string.urlDecode(uri.slice(foundIndex, Math.max(position, 0))));\n }\n return result;\n};\ngoog.uri.utils.trailingQueryPunctuationRe_ \x3d /[?\x26]($|#)/;\ngoog.uri.utils.removeParam \x3d function(uri, keyEncoded) {\n var hashOrEndIndex \x3d uri.search(goog.uri.utils.hashOrEndRe_);\n var position \x3d 0;\n var foundIndex;\n var buffer \x3d [];\n for (; (foundIndex \x3d goog.uri.utils.findParam_(uri, position, keyEncoded, hashOrEndIndex)) \x3e\x3d 0;) {\n buffer.push(uri.substring(position, foundIndex));\n position \x3d Math.min(uri.indexOf(\x22\\x26\x22, foundIndex) + 1 || hashOrEndIndex, hashOrEndIndex);\n }\n buffer.push(uri.slice(position));\n return buffer.join(\x22\x22).replace(goog.uri.utils.trailingQueryPunctuationRe_, \x22$1\x22);\n};\ngoog.uri.utils.setParam \x3d function(uri, keyEncoded, value) {\n return goog.uri.utils.appendParam(goog.uri.utils.removeParam(uri, keyEncoded), keyEncoded, value);\n};\ngoog.uri.utils.setParamsFromMap \x3d function(uri, params) {\n var parts \x3d goog.uri.utils.splitQueryData_(uri);\n var queryData \x3d parts[1];\n var buffer \x3d [];\n if (queryData) {\n queryData.split(\x22\\x26\x22).forEach(function(pair) {\n var indexOfEquals \x3d pair.indexOf(\x22\\x3d\x22);\n var name \x3d indexOfEquals \x3e\x3d 0 ? pair.slice(0, indexOfEquals) : pair;\n if (!params.hasOwnProperty(name)) {\n buffer.push(pair);\n }\n });\n }\n parts[1] \x3d goog.uri.utils.appendQueryData_(buffer.join(\x22\\x26\x22), goog.uri.utils.buildQueryDataFromMap(params));\n return goog.uri.utils.joinQueryData_(parts);\n};\ngoog.uri.utils.appendPath \x3d function(baseUri, path) {\n goog.uri.utils.assertNoFragmentsOrQueries_(baseUri);\n if (goog.string.endsWith(baseUri, \x22/\x22)) {\n baseUri \x3d baseUri.slice(0, -1);\n }\n if (goog.string.startsWith(path, \x22/\x22)) {\n path \x3d path.slice(1);\n }\n return \x22\x22 + baseUri + \x22/\x22 + path;\n};\ngoog.uri.utils.setPath \x3d function(uri, path) {\n if (!goog.string.startsWith(path, \x22/\x22)) {\n path \x3d \x22/\x22 + path;\n }\n var parts \x3d goog.uri.utils.split(uri);\n return goog.uri.utils.buildFromEncodedParts(parts[goog.uri.utils.ComponentIndex.SCHEME], parts[goog.uri.utils.ComponentIndex.USER_INFO], parts[goog.uri.utils.ComponentIndex.DOMAIN], parts[goog.uri.utils.ComponentIndex.PORT], path, parts[goog.uri.utils.ComponentIndex.QUERY_DATA], parts[goog.uri.utils.ComponentIndex.FRAGMENT]);\n};\ngoog.uri.utils.StandardQueryParam \x3d {RANDOM:\x22zx\x22};\ngoog.uri.utils.makeUnique \x3d function(uri) {\n return goog.uri.utils.setParam(uri, goog.uri.utils.StandardQueryParam.RANDOM, goog.string.getRandomString());\n};\n");
SHADOW_ENV.evalLoad("goog.uri.uri.js", true, "goog.provide(\x22goog.Uri\x22);\ngoog.provide(\x22goog.Uri.QueryData\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.collections.maps\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.structs\x22);\ngoog.require(\x22goog.uri.utils\x22);\ngoog.require(\x22goog.uri.utils.ComponentIndex\x22);\ngoog.require(\x22goog.uri.utils.StandardQueryParam\x22);\ngoog.Uri \x3d function(opt_uri, opt_ignoreCase) {\n this.scheme_ \x3d \x22\x22;\n this.userInfo_ \x3d \x22\x22;\n this.domain_ \x3d \x22\x22;\n this.port_ \x3d null;\n this.path_ \x3d \x22\x22;\n this.fragment_ \x3d \x22\x22;\n this.isReadOnly_ \x3d false;\n this.ignoreCase_ \x3d false;\n this.queryData_;\n var m;\n if (opt_uri instanceof goog.Uri) {\n this.ignoreCase_ \x3d opt_ignoreCase !\x3d\x3d undefined ? opt_ignoreCase : opt_uri.getIgnoreCase();\n this.setScheme(opt_uri.getScheme());\n this.setUserInfo(opt_uri.getUserInfo());\n this.setDomain(opt_uri.getDomain());\n this.setPort(opt_uri.getPort());\n this.setPath(opt_uri.getPath());\n this.setQueryData(opt_uri.getQueryData().clone());\n this.setFragment(opt_uri.getFragment());\n } else if (opt_uri \x26\x26 (m \x3d goog.uri.utils.split(String(opt_uri)))) {\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n this.setScheme(m[goog.uri.utils.ComponentIndex.SCHEME] || \x22\x22, true);\n this.setUserInfo(m[goog.uri.utils.ComponentIndex.USER_INFO] || \x22\x22, true);\n this.setDomain(m[goog.uri.utils.ComponentIndex.DOMAIN] || \x22\x22, true);\n this.setPort(m[goog.uri.utils.ComponentIndex.PORT]);\n this.setPath(m[goog.uri.utils.ComponentIndex.PATH] || \x22\x22, true);\n this.setQueryData(m[goog.uri.utils.ComponentIndex.QUERY_DATA] || \x22\x22, true);\n this.setFragment(m[goog.uri.utils.ComponentIndex.FRAGMENT] || \x22\x22, true);\n } else {\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n this.queryData_ \x3d new goog.Uri.QueryData(null, this.ignoreCase_);\n }\n};\ngoog.Uri.RANDOM_PARAM \x3d goog.uri.utils.StandardQueryParam.RANDOM;\ngoog.Uri.prototype.toString \x3d function() {\n var out \x3d [];\n var scheme \x3d this.getScheme();\n if (scheme) {\n out.push(goog.Uri.encodeSpecialChars_(scheme, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22:\x22);\n }\n var domain \x3d this.getDomain();\n if (domain || scheme \x3d\x3d \x22file\x22) {\n out.push(\x22//\x22);\n var userInfo \x3d this.getUserInfo();\n if (userInfo) {\n out.push(goog.Uri.encodeSpecialChars_(userInfo, goog.Uri.reDisallowedInSchemeOrUserInfo_, true), \x22@\x22);\n }\n out.push(goog.Uri.removeDoubleEncoding_(goog.string.urlEncode(domain)));\n var port \x3d this.getPort();\n if (port !\x3d null) {\n out.push(\x22:\x22, String(port));\n }\n }\n var path \x3d this.getPath();\n if (path) {\n if (this.hasDomain() \x26\x26 path.charAt(0) !\x3d \x22/\x22) {\n out.push(\x22/\x22);\n }\n out.push(goog.Uri.encodeSpecialChars_(path, path.charAt(0) \x3d\x3d \x22/\x22 ? goog.Uri.reDisallowedInAbsolutePath_ : goog.Uri.reDisallowedInRelativePath_, true));\n }\n var query \x3d this.getEncodedQuery();\n if (query) {\n out.push(\x22?\x22, query);\n }\n var fragment \x3d this.getFragment();\n if (fragment) {\n out.push(\x22#\x22, goog.Uri.encodeSpecialChars_(fragment, goog.Uri.reDisallowedInFragment_));\n }\n return out.join(\x22\x22);\n};\ngoog.Uri.prototype.resolve \x3d function(relativeUri) {\n var absoluteUri \x3d this.clone();\n var overridden \x3d relativeUri.hasScheme();\n if (overridden) {\n absoluteUri.setScheme(relativeUri.getScheme());\n } else {\n overridden \x3d relativeUri.hasUserInfo();\n }\n if (overridden) {\n absoluteUri.setUserInfo(relativeUri.getUserInfo());\n } else {\n overridden \x3d relativeUri.hasDomain();\n }\n if (overridden) {\n absoluteUri.setDomain(relativeUri.getDomain());\n } else {\n overridden \x3d relativeUri.hasPort();\n }\n var path \x3d relativeUri.getPath();\n if (overridden) {\n absoluteUri.setPort(relativeUri.getPort());\n } else {\n overridden \x3d relativeUri.hasPath();\n if (overridden) {\n if (path.charAt(0) !\x3d \x22/\x22) {\n if (this.hasDomain() \x26\x26 !this.hasPath()) {\n path \x3d \x22/\x22 + path;\n } else {\n var lastSlashIndex \x3d absoluteUri.getPath().lastIndexOf(\x22/\x22);\n if (lastSlashIndex !\x3d -1) {\n path \x3d absoluteUri.getPath().slice(0, lastSlashIndex + 1) + path;\n }\n }\n }\n path \x3d goog.Uri.removeDotSegments(path);\n }\n }\n if (overridden) {\n absoluteUri.setPath(path);\n } else {\n overridden \x3d relativeUri.hasQuery();\n }\n if (overridden) {\n absoluteUri.setQueryData(relativeUri.getQueryData().clone());\n } else {\n overridden \x3d relativeUri.hasFragment();\n }\n if (overridden) {\n absoluteUri.setFragment(relativeUri.getFragment());\n }\n return absoluteUri;\n};\ngoog.Uri.prototype.clone \x3d function() {\n return new goog.Uri(this);\n};\ngoog.Uri.prototype.getScheme \x3d function() {\n return this.scheme_;\n};\ngoog.Uri.prototype.setScheme \x3d function(newScheme, opt_decode) {\n this.enforceReadOnly();\n this.scheme_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newScheme, true) : newScheme;\n if (this.scheme_) {\n this.scheme_ \x3d this.scheme_.replace(/:$/, \x22\x22);\n }\n return this;\n};\ngoog.Uri.prototype.hasScheme \x3d function() {\n return !!this.scheme_;\n};\ngoog.Uri.prototype.getUserInfo \x3d function() {\n return this.userInfo_;\n};\ngoog.Uri.prototype.setUserInfo \x3d function(newUserInfo, opt_decode) {\n this.enforceReadOnly();\n this.userInfo_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newUserInfo) : newUserInfo;\n return this;\n};\ngoog.Uri.prototype.hasUserInfo \x3d function() {\n return !!this.userInfo_;\n};\ngoog.Uri.prototype.getDomain \x3d function() {\n return this.domain_;\n};\ngoog.Uri.prototype.setDomain \x3d function(newDomain, opt_decode) {\n this.enforceReadOnly();\n this.domain_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newDomain, true) : newDomain;\n return this;\n};\ngoog.Uri.prototype.hasDomain \x3d function() {\n return !!this.domain_;\n};\ngoog.Uri.prototype.getPort \x3d function() {\n return this.port_;\n};\ngoog.Uri.prototype.setPort \x3d function(newPort) {\n this.enforceReadOnly();\n if (newPort) {\n newPort \x3d Number(newPort);\n if (isNaN(newPort) || newPort \x3c 0) {\n throw new Error(\x22Bad port number \x22 + newPort);\n }\n this.port_ \x3d newPort;\n } else {\n this.port_ \x3d null;\n }\n return this;\n};\ngoog.Uri.prototype.hasPort \x3d function() {\n return this.port_ !\x3d null;\n};\ngoog.Uri.prototype.getPath \x3d function() {\n return this.path_;\n};\ngoog.Uri.prototype.setPath \x3d function(newPath, opt_decode) {\n this.enforceReadOnly();\n this.path_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newPath, true) : newPath;\n return this;\n};\ngoog.Uri.prototype.hasPath \x3d function() {\n return !!this.path_;\n};\ngoog.Uri.prototype.hasQuery \x3d function() {\n return this.queryData_.toString() !\x3d\x3d \x22\x22;\n};\ngoog.Uri.prototype.setQueryData \x3d function(queryData, opt_decode) {\n this.enforceReadOnly();\n if (queryData instanceof goog.Uri.QueryData) {\n this.queryData_ \x3d queryData;\n this.queryData_.setIgnoreCase(this.ignoreCase_);\n } else {\n if (!opt_decode) {\n queryData \x3d goog.Uri.encodeSpecialChars_(queryData, goog.Uri.reDisallowedInQuery_);\n }\n this.queryData_ \x3d new goog.Uri.QueryData(queryData, this.ignoreCase_);\n }\n return this;\n};\ngoog.Uri.prototype.setQuery \x3d function(newQuery, opt_decode) {\n return this.setQueryData(newQuery, opt_decode);\n};\ngoog.Uri.prototype.getEncodedQuery \x3d function() {\n return this.queryData_.toString();\n};\ngoog.Uri.prototype.getDecodedQuery \x3d function() {\n return this.queryData_.toDecodedString();\n};\ngoog.Uri.prototype.getQueryData \x3d function() {\n return this.queryData_;\n};\ngoog.Uri.prototype.getQuery \x3d function() {\n return this.getEncodedQuery();\n};\ngoog.Uri.prototype.setParameterValue \x3d function(key, value) {\n this.enforceReadOnly();\n this.queryData_.set(key, value);\n return this;\n};\ngoog.Uri.prototype.setParameterValues \x3d function(key, values) {\n this.enforceReadOnly();\n if (!Array.isArray(values)) {\n values \x3d [String(values)];\n }\n this.queryData_.setValues(key, values);\n return this;\n};\ngoog.Uri.prototype.getParameterValues \x3d function(name) {\n return this.queryData_.getValues(name);\n};\ngoog.Uri.prototype.getParameterValue \x3d function(paramName) {\n return this.queryData_.get(paramName);\n};\ngoog.Uri.prototype.getFragment \x3d function() {\n return this.fragment_;\n};\ngoog.Uri.prototype.setFragment \x3d function(newFragment, opt_decode) {\n this.enforceReadOnly();\n this.fragment_ \x3d opt_decode ? goog.Uri.decodeOrEmpty_(newFragment) : newFragment;\n return this;\n};\ngoog.Uri.prototype.hasFragment \x3d function() {\n return !!this.fragment_;\n};\ngoog.Uri.prototype.hasSameDomainAs \x3d function(uri2) {\n return (!this.hasDomain() \x26\x26 !uri2.hasDomain() || this.getDomain() \x3d\x3d uri2.getDomain()) \x26\x26 (!this.hasPort() \x26\x26 !uri2.hasPort() || this.getPort() \x3d\x3d uri2.getPort());\n};\ngoog.Uri.prototype.makeUnique \x3d function() {\n this.enforceReadOnly();\n this.setParameterValue(goog.Uri.RANDOM_PARAM, goog.string.getRandomString());\n return this;\n};\ngoog.Uri.prototype.removeParameter \x3d function(key) {\n this.enforceReadOnly();\n this.queryData_.remove(key);\n return this;\n};\ngoog.Uri.prototype.setReadOnly \x3d function(isReadOnly) {\n this.isReadOnly_ \x3d isReadOnly;\n return this;\n};\ngoog.Uri.prototype.isReadOnly \x3d function() {\n return this.isReadOnly_;\n};\ngoog.Uri.prototype.enforceReadOnly \x3d function() {\n if (this.isReadOnly_) {\n throw new Error(\x22Tried to modify a read-only Uri\x22);\n }\n};\ngoog.Uri.prototype.setIgnoreCase \x3d function(ignoreCase) {\n this.ignoreCase_ \x3d ignoreCase;\n if (this.queryData_) {\n this.queryData_.setIgnoreCase(ignoreCase);\n }\n return this;\n};\ngoog.Uri.prototype.getIgnoreCase \x3d function() {\n return this.ignoreCase_;\n};\ngoog.Uri.parse \x3d function(uri, opt_ignoreCase) {\n return uri instanceof goog.Uri ? uri.clone() : new goog.Uri(uri, opt_ignoreCase);\n};\ngoog.Uri.create \x3d function(opt_scheme, opt_userInfo, opt_domain, opt_port, opt_path, opt_query, opt_fragment, opt_ignoreCase) {\n var uri \x3d new goog.Uri(null, opt_ignoreCase);\n opt_scheme \x26\x26 uri.setScheme(opt_scheme);\n opt_userInfo \x26\x26 uri.setUserInfo(opt_userInfo);\n opt_domain \x26\x26 uri.setDomain(opt_domain);\n opt_port \x26\x26 uri.setPort(opt_port);\n opt_path \x26\x26 uri.setPath(opt_path);\n opt_query \x26\x26 uri.setQueryData(opt_query);\n opt_fragment \x26\x26 uri.setFragment(opt_fragment);\n return uri;\n};\ngoog.Uri.resolve \x3d function(base, rel) {\n if (!(base instanceof goog.Uri)) {\n base \x3d goog.Uri.parse(base);\n }\n if (!(rel instanceof goog.Uri)) {\n rel \x3d goog.Uri.parse(rel);\n }\n return base.resolve(rel);\n};\ngoog.Uri.removeDotSegments \x3d function(path) {\n if (path \x3d\x3d \x22..\x22 || path \x3d\x3d \x22.\x22) {\n return \x22\x22;\n } else if (!goog.string.contains(path, \x22./\x22) \x26\x26 !goog.string.contains(path, \x22/.\x22)) {\n return path;\n } else {\n var leadingSlash \x3d goog.string.startsWith(path, \x22/\x22);\n var segments \x3d path.split(\x22/\x22);\n var out \x3d [];\n var pos \x3d 0;\n for (; pos \x3c segments.length;) {\n var segment \x3d segments[pos++];\n if (segment \x3d\x3d \x22.\x22) {\n if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n out.push(\x22\x22);\n }\n } else if (segment \x3d\x3d \x22..\x22) {\n if (out.length \x3e 1 || out.length \x3d\x3d 1 \x26\x26 out[0] !\x3d \x22\x22) {\n out.pop();\n }\n if (leadingSlash \x26\x26 pos \x3d\x3d segments.length) {\n out.push(\x22\x22);\n }\n } else {\n out.push(segment);\n leadingSlash \x3d true;\n }\n }\n return out.join(\x22/\x22);\n }\n};\ngoog.Uri.decodeOrEmpty_ \x3d function(val, opt_preserveReserved) {\n if (!val) {\n return \x22\x22;\n }\n return opt_preserveReserved ? decodeURI(val.replace(/%25/g, \x22%2525\x22)) : decodeURIComponent(val);\n};\ngoog.Uri.encodeSpecialChars_ \x3d function(unescapedPart, extra, opt_removeDoubleEncoding) {\n if (typeof unescapedPart \x3d\x3d\x3d \x22string\x22) {\n var encoded \x3d encodeURI(unescapedPart).replace(extra, goog.Uri.encodeChar_);\n if (opt_removeDoubleEncoding) {\n encoded \x3d goog.Uri.removeDoubleEncoding_(encoded);\n }\n return encoded;\n }\n return null;\n};\ngoog.Uri.encodeChar_ \x3d function(ch) {\n var n \x3d ch.charCodeAt(0);\n return \x22%\x22 + (n \x3e\x3e 4 \x26 15).toString(16) + (n \x26 15).toString(16);\n};\ngoog.Uri.removeDoubleEncoding_ \x3d function(doubleEncodedString) {\n return doubleEncodedString.replace(/%25([0-9a-fA-F]{2})/g, \x22%$1\x22);\n};\ngoog.Uri.reDisallowedInSchemeOrUserInfo_ \x3d /[#\\/\\?@]/g;\ngoog.Uri.reDisallowedInRelativePath_ \x3d /[#\\?:]/g;\ngoog.Uri.reDisallowedInAbsolutePath_ \x3d /[#\\?]/g;\ngoog.Uri.reDisallowedInQuery_ \x3d /[#\\?@]/g;\ngoog.Uri.reDisallowedInFragment_ \x3d /#/g;\ngoog.Uri.haveSameDomain \x3d function(uri1String, uri2String) {\n var pieces1 \x3d goog.uri.utils.split(uri1String);\n var pieces2 \x3d goog.uri.utils.split(uri2String);\n return pieces1[goog.uri.utils.ComponentIndex.DOMAIN] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.DOMAIN] \x26\x26 pieces1[goog.uri.utils.ComponentIndex.PORT] \x3d\x3d pieces2[goog.uri.utils.ComponentIndex.PORT];\n};\ngoog.Uri.QueryData \x3d function(opt_query, opt_ignoreCase) {\n this.keyMap_ \x3d null;\n this.count_ \x3d null;\n this.encodedQuery_ \x3d opt_query || null;\n this.ignoreCase_ \x3d !!opt_ignoreCase;\n};\ngoog.Uri.QueryData.prototype.ensureKeyMapInitialized_ \x3d function() {\n if (!this.keyMap_) {\n this.keyMap_ \x3d new Map();\n this.count_ \x3d 0;\n if (this.encodedQuery_) {\n var self \x3d this;\n goog.uri.utils.parseQueryData(this.encodedQuery_, function(name, value) {\n self.add(goog.string.urlDecode(name), value);\n });\n }\n }\n};\ngoog.Uri.QueryData.createFromMap \x3d function(map, opt_ignoreCase) {\n var keys \x3d goog.structs.getKeys(map);\n if (typeof keys \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22Keys are undefined\x22);\n }\n var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n var values \x3d goog.structs.getValues(map);\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var value \x3d values[i];\n if (!Array.isArray(value)) {\n queryData.add(key, value);\n } else {\n queryData.setValues(key, value);\n }\n }\n return queryData;\n};\ngoog.Uri.QueryData.createFromKeysValues \x3d function(keys, values, opt_ignoreCase) {\n if (keys.length !\x3d values.length) {\n throw new Error(\x22Mismatched lengths for keys/values\x22);\n }\n var queryData \x3d new goog.Uri.QueryData(null, opt_ignoreCase);\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n queryData.add(keys[i], values[i]);\n }\n return queryData;\n};\ngoog.Uri.QueryData.prototype.getCount \x3d function() {\n this.ensureKeyMapInitialized_();\n return this.count_;\n};\ngoog.Uri.QueryData.prototype.add \x3d function(key, value) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n key \x3d this.getKeyName_(key);\n var values \x3d this.keyMap_.get(key);\n if (!values) {\n this.keyMap_.set(key, values \x3d []);\n }\n values.push(value);\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n return this;\n};\ngoog.Uri.QueryData.prototype.remove \x3d function(key) {\n this.ensureKeyMapInitialized_();\n key \x3d this.getKeyName_(key);\n if (this.keyMap_.has(key)) {\n this.invalidateCache_();\n this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n return this.keyMap_.delete(key);\n }\n return false;\n};\ngoog.Uri.QueryData.prototype.clear \x3d function() {\n this.invalidateCache_();\n this.keyMap_ \x3d null;\n this.count_ \x3d 0;\n};\ngoog.Uri.QueryData.prototype.isEmpty \x3d function() {\n this.ensureKeyMapInitialized_();\n return this.count_ \x3d\x3d 0;\n};\ngoog.Uri.QueryData.prototype.containsKey \x3d function(key) {\n this.ensureKeyMapInitialized_();\n key \x3d this.getKeyName_(key);\n return this.keyMap_.has(key);\n};\ngoog.Uri.QueryData.prototype.containsValue \x3d function(value) {\n var vals \x3d this.getValues();\n return goog.array.contains(vals, value);\n};\ngoog.Uri.QueryData.prototype.forEach \x3d function(f, opt_scope) {\n this.ensureKeyMapInitialized_();\n this.keyMap_.forEach(function(values, key) {\n values.forEach(function(value) {\n f.call(opt_scope, value, key, this);\n }, this);\n }, this);\n};\ngoog.Uri.QueryData.prototype.getKeys \x3d function() {\n this.ensureKeyMapInitialized_();\n const vals \x3d Array.from(this.keyMap_.values());\n const keys \x3d Array.from(this.keyMap_.keys());\n const rv \x3d [];\n for (let i \x3d 0; i \x3c keys.length; i++) {\n const val \x3d vals[i];\n for (let j \x3d 0; j \x3c val.length; j++) {\n rv.push(keys[i]);\n }\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.getValues \x3d function(opt_key) {\n this.ensureKeyMapInitialized_();\n let rv \x3d [];\n if (typeof opt_key \x3d\x3d\x3d \x22string\x22) {\n if (this.containsKey(opt_key)) {\n rv \x3d rv.concat(this.keyMap_.get(this.getKeyName_(opt_key)));\n }\n } else {\n const values \x3d Array.from(this.keyMap_.values());\n for (let i \x3d 0; i \x3c values.length; i++) {\n rv \x3d rv.concat(values[i]);\n }\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.set \x3d function(key, value) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n key \x3d this.getKeyName_(key);\n if (this.containsKey(key)) {\n this.count_ \x3d goog.asserts.assertNumber(this.count_) - this.keyMap_.get(key).length;\n }\n this.keyMap_.set(key, [value]);\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + 1;\n return this;\n};\ngoog.Uri.QueryData.prototype.get \x3d function(key, opt_default) {\n if (!key) {\n return opt_default;\n }\n var values \x3d this.getValues(key);\n return values.length \x3e 0 ? String(values[0]) : opt_default;\n};\ngoog.Uri.QueryData.prototype.setValues \x3d function(key, values) {\n this.remove(key);\n if (values.length \x3e 0) {\n this.invalidateCache_();\n this.keyMap_.set(this.getKeyName_(key), goog.array.clone(values));\n this.count_ \x3d goog.asserts.assertNumber(this.count_) + values.length;\n }\n};\ngoog.Uri.QueryData.prototype.toString \x3d function() {\n if (this.encodedQuery_) {\n return this.encodedQuery_;\n }\n if (!this.keyMap_) {\n return \x22\x22;\n }\n const sb \x3d [];\n const keys \x3d Array.from(this.keyMap_.keys());\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n const key \x3d keys[i];\n const encodedKey \x3d goog.string.urlEncode(key);\n const val \x3d this.getValues(key);\n var j \x3d 0;\n for (; j \x3c val.length; j++) {\n var param \x3d encodedKey;\n if (val[j] !\x3d\x3d \x22\x22) {\n param \x3d param + (\x22\\x3d\x22 + goog.string.urlEncode(val[j]));\n }\n sb.push(param);\n }\n }\n return this.encodedQuery_ \x3d sb.join(\x22\\x26\x22);\n};\ngoog.Uri.QueryData.prototype.toDecodedString \x3d function() {\n return goog.Uri.decodeOrEmpty_(this.toString());\n};\ngoog.Uri.QueryData.prototype.invalidateCache_ \x3d function() {\n this.encodedQuery_ \x3d null;\n};\ngoog.Uri.QueryData.prototype.filterKeys \x3d function(keys) {\n this.ensureKeyMapInitialized_();\n this.keyMap_.forEach(function(value, key) {\n if (!goog.array.contains(keys, key)) {\n this.remove(key);\n }\n }, this);\n return this;\n};\ngoog.Uri.QueryData.prototype.clone \x3d function() {\n var rv \x3d new goog.Uri.QueryData();\n rv.encodedQuery_ \x3d this.encodedQuery_;\n if (this.keyMap_) {\n rv.keyMap_ \x3d new Map(this.keyMap_);\n rv.count_ \x3d this.count_;\n }\n return rv;\n};\ngoog.Uri.QueryData.prototype.getKeyName_ \x3d function(arg) {\n var keyName \x3d String(arg);\n if (this.ignoreCase_) {\n keyName \x3d keyName.toLowerCase();\n }\n return keyName;\n};\ngoog.Uri.QueryData.prototype.setIgnoreCase \x3d function(ignoreCase) {\n var resetKeys \x3d ignoreCase \x26\x26 !this.ignoreCase_;\n if (resetKeys) {\n this.ensureKeyMapInitialized_();\n this.invalidateCache_();\n this.keyMap_.forEach(function(value, key) {\n var lowerCase \x3d key.toLowerCase();\n if (key !\x3d lowerCase) {\n this.remove(key);\n this.setValues(lowerCase, value);\n }\n }, this);\n }\n this.ignoreCase_ \x3d ignoreCase;\n};\ngoog.Uri.QueryData.prototype.extend \x3d function(var_args) {\n var i \x3d 0;\n for (; i \x3c arguments.length; i++) {\n var data \x3d arguments[i];\n goog.structs.forEach(data, function(value, key) {\n this.add(key, value);\n }, this);\n }\n};\n");
SHADOW_ENV.evalLoad("goog.string.stringbuffer.js", true, "goog.provide(\x22goog.string.StringBuffer\x22);\ngoog.string.StringBuffer \x3d function(opt_a1, var_args) {\n if (opt_a1 !\x3d null) {\n this.append.apply(this, arguments);\n }\n};\ngoog.string.StringBuffer.prototype.buffer_ \x3d \x22\x22;\ngoog.string.StringBuffer.prototype.set \x3d function(s) {\n this.buffer_ \x3d \x22\x22 + s;\n};\ngoog.string.StringBuffer.prototype.append \x3d function(a1, opt_a2, var_args) {\n this.buffer_ +\x3d String(a1);\n if (opt_a2 !\x3d null) {\n for (let i \x3d 1; i \x3c arguments.length; i++) {\n this.buffer_ +\x3d arguments[i];\n }\n }\n return this;\n};\ngoog.string.StringBuffer.prototype.clear \x3d function() {\n this.buffer_ \x3d \x22\x22;\n};\ngoog.string.StringBuffer.prototype.getLength \x3d function() {\n return this.buffer_.length;\n};\ngoog.string.StringBuffer.prototype.toString \x3d function() {\n return this.buffer_;\n};\n");
SHADOW_ENV.evalLoad("cljs.core.js", true, "goog.provide(\x27cljs.core\x27);\ngoog.scope(function(){\n cljs.core.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n cljs.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cljs.core.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\ncljs.core._STAR_clojurescript_version_STAR_ \x3d \x221.12.42\x22;\ncljs.core._STAR_unchecked_if_STAR_ \x3d false;\ncljs.core._STAR_unchecked_arrays_STAR_ \x3d false;\ncljs.core._STAR_warn_on_infer_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.PROTOCOL_SENTINEL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.PROTOCOL_SENTINEL \x3d ({});\n}\ncljs.core.MODULE_URIS \x3d null;\ncljs.core.MODULE_INFOS \x3d null;\n/**\n * Var bound to the name value of the compiler build :target option.\n * For example, if the compiler build :target is :nodejs, *target* will be bound\n * to \x22nodejs\x22. *target* is a Google Closure define and can be set by compiler\n * :closure-defines option.\n * @define {string}\n */\ncljs.core._STAR_target_STAR_ \x3d goog.define(\x22cljs.core._STAR_target_STAR_\x22,\x22default\x22);\n/**\n * Manually set the JavaScript global context. Only \x22window\x22, \x22self\x22\n * , and \x22global\x22 supported. \n * @define {string}\n */\ncljs.core._STAR_global_STAR_ \x3d goog.define(\x22cljs.core._STAR_global_STAR_\x22,\x22default\x22);\n/**\n * Var bound to the current namespace. Only used for bootstrapping.\n * @type {*}\n */\ncljs.core._STAR_ns_STAR_ \x3d null;\n/**\n * @type {*}\n */\ncljs.core._STAR_out_STAR_ \x3d null;\ncljs.core._STAR_assert_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print output.\n * Whatever function *print-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_fn_STAR_ \x3d null;\n}\n/**\n * Arranges to have tap functions executed via the supplied f, a\n * function of no arguments. Returns true if successful, false otherwise.\n */\ncljs.core._STAR_exec_tap_fn_STAR_ \x3d (function cljs$core$_STAR_exec_tap_fn_STAR_(f){\nvar and__5023__auto__ \x3d (typeof setTimeout !\x3d\x3d \x27undefined\x27);\nif(and__5023__auto__){\nvar G__26886 \x3d setTimeout(f,(0));\nreturn (cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1 ? cljs.core.boolean$.cljs$core$IFn$_invoke$arity$1(G__26886) : cljs.core.boolean$.call(null,G__26886));\n} else {\nreturn and__5023__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_print_err_fn_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Each runtime environment provides a different way to print error output.\n * Whatever function *print-err-fn* is bound to will be passed any\n * Strings which should be printed.\n */\ncljs.core._STAR_print_err_fn_STAR_ \x3d null;\n}\n/**\n * Set *print-fn* to f.\n */\ncljs.core.set_print_fn_BANG_ \x3d (function cljs$core$set_print_fn_BANG_(f){\nreturn (cljs.core._STAR_print_fn_STAR_ \x3d f);\n});\n/**\n * Set *print-err-fn* to f.\n */\ncljs.core.set_print_err_fn_BANG_ \x3d (function cljs$core$set_print_err_fn_BANG_(f){\nreturn (cljs.core._STAR_print_err_fn_STAR_ \x3d f);\n});\n/**\n * When set to true, output will be flushed whenever a newline is printed.\n * \n * Defaults to true.\n */\ncljs.core._STAR_flush_on_newline_STAR_ \x3d true;\n/**\n * When set to logical false will drop newlines from printing calls.\n * This is to work around the implicit newlines emitted by standard JavaScript\n * console objects.\n */\ncljs.core._STAR_print_newline_STAR_ \x3d true;\n/**\n * When set to logical false, strings and characters will be printed with\n * non-alphanumeric characters converted to the appropriate escape sequences.\n * \n * Defaults to true\n */\ncljs.core._STAR_print_readably_STAR_ \x3d true;\n/**\n * If set to logical true, when printing an object, its metadata will also\n * be printed in a form that can be read back by the reader.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_meta_STAR_ \x3d false;\n/**\n * When set to logical true, objects will be printed in a way that preserves\n * their type when read in later.\n * \n * Defaults to false.\n */\ncljs.core._STAR_print_dup_STAR_ \x3d false;\n/**\n * *print-namespace-maps* controls whether the printer will print\n * namespace map literal syntax.\n * \n * Defaults to false, but the REPL binds it to true.\n */\ncljs.core._STAR_print_namespace_maps_STAR_ \x3d false;\n/**\n * *print-length* controls how many items of each collection the\n * printer will print. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * number of items of each collection to print. If a collection contains\n * more items, the printer will print items up to the limit followed by\n * \x27...\x27 to represent the remaining items. The root binding is nil\n * indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_length_STAR_ \x3d null;\n/**\n * *print-level* controls how many levels deep the printer will\n * print nested objects. If it is bound to logical false, there is no\n * limit. Otherwise, it must be bound to an integer indicating the maximum\n * level to print. Each argument to print is at level 0; if an argument is a\n * collection, its items are at level 1; and so on. If an object is a\n * collection and is at a level greater than or equal to the value bound to\n * *print-level*, the printer prints \x27#\x27 to represent it. The root binding\n * is nil indicating no limit.\n * @type {null|number}\n */\ncljs.core._STAR_print_level_STAR_ \x3d null;\n/**\n * *print-fns-bodies* controls whether functions print their source or\n * only their names.\n */\ncljs.core._STAR_print_fn_bodies_STAR_ \x3d false;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_loaded_libs_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core._STAR_loaded_libs_STAR_ \x3d null;\n}\ncljs.core.pr_opts \x3d (function cljs$core$pr_opts(){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939),cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),cljs.core._STAR_print_readably_STAR_,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),cljs.core._STAR_print_meta_STAR_,new cljs.core.Keyword(null,\x22dup\x22,\x22dup\x22,556298533),cljs.core._STAR_print_dup_STAR_,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),cljs.core._STAR_print_length_STAR_], null);\n});\n/**\n * Set *print-fn* to console.log\n */\ncljs.core.enable_console_print_BANG_ \x3d (function cljs$core$enable_console_print_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.log.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\ncljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nreturn console.error.apply(console,cljs.core.goog$module$goog$array.clone(xs));\n}));\n\nreturn null;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.truth_ \x3d (function cljs$core$truth_(x){\nreturn (x !\x3d null \x26\x26 x !\x3d\x3d false);\n});\ncljs.core.not_native \x3d null;\n\n/**\n * Tests if 2 arguments are the same object\n */\ncljs.core.identical_QMARK_ \x3d (function cljs$core$identical_QMARK_(x,y){\nreturn (x \x3d\x3d\x3d y);\n});\n/**\n * Returns true if x is nil, false otherwise.\n */\ncljs.core.nil_QMARK_ \x3d (function cljs$core$nil_QMARK_(x){\nreturn (x \x3d\x3d null);\n});\n/**\n * Returns true if x is a JavaScript array.\n */\ncljs.core.array_QMARK_ \x3d (function cljs$core$array_QMARK_(x){\nif((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nodejs\x22)){\nreturn Array.isArray(x);\n} else {\nreturn (x instanceof Array);\n}\n});\n/**\n * Returns true if x is a JavaScript number.\n */\ncljs.core.number_QMARK_ \x3d (function cljs$core$number_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true if x is logical false, false otherwise.\n */\ncljs.core.not \x3d (function cljs$core$not(x){\nif((x \x3d\x3d null)){\nreturn true;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Returns true if x is not nil, false otherwise.\n */\ncljs.core.some_QMARK_ \x3d (function cljs$core$some_QMARK_(x){\nreturn (!((x \x3d\x3d null)));\n});\n/**\n * Returns true if x\x27s constructor is Object\n */\ncljs.core.object_QMARK_ \x3d (function cljs$core$object_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nreturn (x.constructor \x3d\x3d\x3d Object);\n} else {\nreturn false;\n}\n});\n/**\n * Returns true if x is a JavaScript string.\n */\ncljs.core.string_QMARK_ \x3d (function cljs$core$string_QMARK_(x){\nreturn (\x22string\x22 \x3d\x3d\x3d goog.typeOf(x));\n});\n/**\n * Returns true if x is a JavaScript string of length one.\n */\ncljs.core.char_QMARK_ \x3d (function cljs$core$char_QMARK_(x){\nreturn ((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 (((1) \x3d\x3d\x3d x.length)));\n});\n/**\n * Returns true if given any argument.\n */\ncljs.core.any_QMARK_ \x3d (function cljs$core$any_QMARK_(x){\nreturn true;\n});\n/**\n * Internal - do not use!\n */\ncljs.core.native_satisfies_QMARK_ \x3d (function cljs$core$native_satisfies_QMARK_(p,x){\nvar x__$1 \x3d (((x \x3d\x3d null))?null:x);\nif((p[goog.typeOf(x__$1)])){\nreturn true;\n} else {\nif((p[\x22_\x22])){\nreturn true;\n} else {\nreturn false;\n\n}\n}\n});\ncljs.core.is_proto_ \x3d (function cljs$core$is_proto_(x){\nreturn (x.constructor.prototype \x3d\x3d\x3d x);\n});\n/**\n * When compiled for a command-line target, whatever function\n * *main-cli-fn* is set to will be called with the command-line\n * argv as arguments\n */\ncljs.core._STAR_main_cli_fn_STAR_ \x3d null;\n/**\n * A sequence of the supplied command line arguments, or nil if\n * none were supplied\n */\ncljs.core._STAR_command_line_args_STAR_ \x3d null;\n/**\n * Return x\x27s constructor.\n */\ncljs.core.type \x3d (function cljs$core$type(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn x.constructor;\n}\n});\ncljs.core.missing_protocol \x3d (function cljs$core$missing_protocol(proto,obj){\nvar ty \x3d cljs.core.type(obj);\nvar ty__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d ty;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ty.cljs$lang$type;\n} else {\nreturn and__5023__auto__;\n}\n})())?ty.cljs$lang$ctorStr:goog.typeOf(obj));\nreturn (new Error([\x22No protocol method \x22,proto,\x22 defined for type \x22,ty__$1,\x22: \x22,obj].join(\x22\x22)));\n});\ncljs.core.type__GT_str \x3d (function cljs$core$type__GT_str(ty){\nvar temp__5821__auto__ \x3d ty.cljs$lang$ctorStr;\nif(cljs.core.truth_(temp__5821__auto__)){\nvar s \x3d temp__5821__auto__;\nreturn s;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(ty);\n}\n});\ncljs.core.load_file \x3d (function cljs$core$load_file(file){\nif(cljs.core.truth_(COMPILED)){\nreturn null;\n} else {\nreturn goog.nodeGlobalRequire(file);\n}\n});\nif((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((goog.typeOf(Symbol) \x3d\x3d\x3d \x22function\x22)))){\ncljs.core.ITER_SYMBOL \x3d Symbol.iterator;\n} else {\ncljs.core.ITER_SYMBOL \x3d \x22@@iterator\x22;\n}\n/**\n * @enum {string}\n */\ncljs.core.CHAR_MAP \x3d ({\x22]\x22: \x22_RBRACK_\x22, \x22\x27\x22: \x22_SINGLEQUOTE_\x22, \x22\x3d\x22: \x22_EQ_\x22, \x22\\\x22\x22: \x22_DOUBLEQUOTE_\x22, \x22!\x22: \x22_BANG_\x22, \x22*\x22: \x22_STAR_\x22, \x22%\x22: \x22_PERCENT_\x22, \x22|\x22: \x22_BAR_\x22, \x22~\x22: \x22_TILDE_\x22, \x22/\x22: \x22_SLASH_\x22, \x22\\\\\x22: \x22_BSLASH_\x22, \x22-\x22: \x22_\x22, \x22?\x22: \x22_QMARK_\x22, \x22\x26\x22: \x22_AMPERSAND_\x22, \x22:\x22: \x22_COLON_\x22, \x22\x3c\x22: \x22_LT_\x22, \x22{\x22: \x22_LBRACE_\x22, \x22}\x22: \x22_RBRACE_\x22, \x22[\x22: \x22_LBRACK_\x22, \x22#\x22: \x22_SHARP_\x22, \x22^\x22: \x22_CARET_\x22, \x22+\x22: \x22_PLUS_\x22, \x22@\x22: \x22_CIRCA_\x22, \x22\x3e\x22: \x22_GT_\x22});\n/**\n * @enum {string}\n */\ncljs.core.DEMUNGE_MAP \x3d ({\x22_RBRACE_\x22: \x22}\x22, \x22_COLON_\x22: \x22:\x22, \x22_BANG_\x22: \x22!\x22, \x22_QMARK_\x22: \x22?\x22, \x22_BSLASH_\x22: \x22\\\\\\\\\x22, \x22_SLASH_\x22: \x22/\x22, \x22_PERCENT_\x22: \x22%\x22, \x22_PLUS_\x22: \x22+\x22, \x22_SHARP_\x22: \x22#\x22, \x22_LBRACE_\x22: \x22{\x22, \x22_BAR_\x22: \x22|\x22, \x22_LBRACK_\x22: \x22[\x22, \x22_EQ_\x22: \x22\x3d\x22, \x22_\x22: \x22-\x22, \x22_TILDE_\x22: \x22~\x22, \x22_RBRACK_\x22: \x22]\x22, \x22_GT_\x22: \x22\x3e\x22, \x22_SINGLEQUOTE_\x22: \x22\x27\x22, \x22_CIRCA_\x22: \x22@\x22, \x22_AMPERSAND_\x22: \x22\x26\x22, \x22_DOUBLEQUOTE_\x22: \x22\\\\\\\x22\x22, \x22_CARET_\x22: \x22^\x22, \x22_LT_\x22: \x22\x3c\x22, \x22_STAR_\x22: \x22*\x22});\ncljs.core.DEMUNGE_PATTERN \x3d null;\n/**\n * Returns highest resolution time offered by host in milliseconds.\n */\ncljs.core.system_time \x3d (function cljs$core$system_time(){\nif((((typeof performance !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((performance.now \x3d\x3d null)))))){\nreturn performance.now();\n} else {\nif((((typeof process !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((process.hrtime \x3d\x3d null)))))){\nvar t \x3d process.hrtime();\nreturn ((((t[(0)]) * 1.0E9) + (t[(1)])) / 1000000.0);\n} else {\nreturn (new Date()).getTime();\n\n}\n}\n});\n/**\n * Construct a JavaScript array of the specified dimensions. Accepts ignored\n * type argument for compatibility with Clojure. Note that there is no efficient\n * way to allocate multi-dimensional arrays in JavaScript; as such, this function\n * will run in polynomial time when called with 3 or more arguments.\n */\ncljs.core.make_array \x3d (function cljs$core$make_array(var_args){\nvar G__26891 \x3d arguments.length;\nswitch (G__26891) {\ncase 1:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28617 \x3d arguments.length;\nvar i__5750__auto___28618 \x3d (0);\nwhile(true){\nif((i__5750__auto___28618 \x3c len__5749__auto___28617)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28618]));\n\nvar G__28619 \x3d (i__5750__auto___28618 + (1));\ni__5750__auto___28618 \x3d G__28619;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,size){\nreturn (new Array(size));\n}));\n\n(cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,size,more_sizes){\nvar dims \x3d more_sizes;\nvar dimarray \x3d (new Array(size));\nvar n__5616__auto___28622 \x3d dimarray.length;\nvar i_28624 \x3d (0);\nwhile(true){\nif((i_28624 \x3c n__5616__auto___28622)){\n(dimarray[i_28624] \x3d (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,dims) : cljs.core.apply.call(null,cljs.core.make_array,null,dims)));\n\nvar G__28625 \x3d (i_28624 + (1));\ni_28624 \x3d G__28625;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn dimarray;\n}));\n\n/** @this {Function} */\n(cljs.core.make_array.cljs$lang$applyTo \x3d (function (seq26888){\nvar G__26889 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26888) : cljs.core.first.call(null,seq26888));\nvar seq26888__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26888) : cljs.core.next.call(null,seq26888));\nvar G__26890 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26888__$1) : cljs.core.first.call(null,seq26888__$1));\nvar seq26888__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26888__$1) : cljs.core.next.call(null,seq26888__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26889,G__26890,seq26888__$2);\n}));\n\n(cljs.core.make_array.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a javascript array, cloned from the passed in array\n */\ncljs.core.aclone \x3d (function cljs$core$aclone(arr){\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(len));\nvar n__5616__auto___28630 \x3d len;\nvar i_28631 \x3d (0);\nwhile(true){\nif((i_28631 \x3c n__5616__auto___28630)){\n(new_arr[i_28631] \x3d (arr[i_28631]));\n\nvar G__28632 \x3d (i_28631 + (1));\ni_28631 \x3d G__28632;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_arr;\n});\n/**\n * Creates a new javascript array.\n * @param {...*} var_args\n */\ncljs.core.array \x3d (function cljs$core$array(var_args){\nvar a \x3d (new Array(arguments.length));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c a.length)){\n(a[i] \x3d (arguments[i]));\n\nvar G__28636 \x3d (i + (1));\ni \x3d G__28636;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n});\ncljs.core.maybe_warn \x3d (function cljs$core$maybe_warn(e){\nif(cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)){\nreturn cljs.core._STAR_print_err_fn_STAR_.call(null,e);\n} else {\nreturn null;\n}\n});\ncljs.core.checked_aget \x3d (function cljs$core$checked_aget(var_args){\nvar G__26896 \x3d arguments.length;\nswitch (G__26896) {\ncase 2:\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28640 \x3d arguments.length;\nvar i__5750__auto___28641 \x3d (0);\nwhile(true){\nif((i__5750__auto___28641 \x3c len__5749__auto___28640)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28641]));\n\nvar G__28643 \x3d (i__5750__auto___28641 + (1));\ni__5750__auto___28641 \x3d G__28643;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\ntry{if(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e26897){var e_28649 \x3d e26897;\ncljs.core.maybe_warn(e_28649);\n}\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__26898 \x3d cljs.core.checked_aget;\nvar G__26899 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26900 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__26898,G__26899,G__26900) : cljs.core.apply.call(null,G__26898,G__26899,G__26900));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget.cljs$lang$applyTo \x3d (function (seq26893){\nvar G__26894 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26893) : cljs.core.first.call(null,seq26893));\nvar seq26893__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26893) : cljs.core.next.call(null,seq26893));\nvar G__26895 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26893__$1) : cljs.core.first.call(null,seq26893__$1));\nvar seq26893__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26893__$1) : cljs.core.next.call(null,seq26893__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26894,G__26895,seq26893__$2);\n}));\n\n(cljs.core.checked_aget.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset \x3d (function cljs$core$checked_aset(var_args){\nvar G__26906 \x3d arguments.length;\nswitch (G__26906) {\ncase 3:\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28656 \x3d arguments.length;\nvar i__5750__auto___28657 \x3d (0);\nwhile(true){\nif((i__5750__auto___28657 \x3c len__5749__auto___28656)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28657]));\n\nvar G__28658 \x3d (i__5750__auto___28657 + (1));\ni__5750__auto___28657 \x3d G__28658;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\ntry{if(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n}catch (e26907){var e_28663 \x3d e26907;\ncljs.core.maybe_warn(e_28663);\n}\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__26908 \x3d cljs.core.checked_aset;\nvar G__26909 \x3d cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26910 \x3d idx2;\nvar G__26911 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__26908,G__26909,G__26910,G__26911) : cljs.core.apply.call(null,G__26908,G__26909,G__26910,G__26911));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset.cljs$lang$applyTo \x3d (function (seq26902){\nvar G__26903 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26902) : cljs.core.first.call(null,seq26902));\nvar seq26902__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26902) : cljs.core.next.call(null,seq26902));\nvar G__26904 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26902__$1) : cljs.core.first.call(null,seq26902__$1));\nvar seq26902__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26902__$1) : cljs.core.next.call(null,seq26902__$1));\nvar G__26905 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26902__$2) : cljs.core.first.call(null,seq26902__$2));\nvar seq26902__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26902__$2) : cljs.core.next.call(null,seq26902__$2));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26903,G__26904,G__26905,seq26902__$3);\n}));\n\n(cljs.core.checked_aset.cljs$lang$maxFixedArity \x3d (3));\n\ncljs.core.checked_aget_SINGLEQUOTE_ \x3d (function cljs$core$checked_aget_SINGLEQUOTE_(var_args){\nvar G__26916 \x3d arguments.length;\nswitch (G__26916) {\ncase 2:\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28671 \x3d arguments.length;\nvar i__5750__auto___28672 \x3d (0);\nwhile(true){\nif((i__5750__auto___28672 \x3c len__5749__auto___28671)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28672]));\n\nvar G__28673 \x3d (i__5750__auto___28672 + (1));\ni__5750__auto___28672 \x3d G__28673;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx]);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__26917 \x3d cljs.core.checked_aget_SINGLEQUOTE_;\nvar G__26918 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26919 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__26917,G__26918,G__26919) : cljs.core.apply.call(null,G__26917,G__26918,G__26919));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq26913){\nvar G__26914 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26913) : cljs.core.first.call(null,seq26913));\nvar seq26913__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26913) : cljs.core.next.call(null,seq26913));\nvar G__26915 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26913__$1) : cljs.core.first.call(null,seq26913__$1));\nvar seq26913__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26913__$1) : cljs.core.next.call(null,seq26913__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26914,G__26915,seq26913__$2);\n}));\n\n(cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.checked_aset_SINGLEQUOTE_ \x3d (function cljs$core$checked_aset_SINGLEQUOTE_(var_args){\nvar G__26925 \x3d arguments.length;\nswitch (G__26925) {\ncase 3:\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28682 \x3d arguments.length;\nvar i__5750__auto___28683 \x3d (0);\nwhile(true){\nif((i__5750__auto___28683 \x3c len__5749__auto___28682)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28683]));\n\nvar G__28685 \x3d (i__5750__auto___28683 + (1));\ni__5750__auto___28683 \x3d G__28685;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.array_QMARK_(array);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.isArrayLike(array);\n}\n})())){\n} else {\nthrow (new Error(\x22Assert failed: (or (array? array) (goog/isArrayLike array))\x22));\n}\n\nif(typeof idx \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? idx)\x22));\n}\n\nif((!((idx \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? idx))\x22));\n}\n\nif((idx \x3c array.length)){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c idx (alength array))\x22));\n}\n\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__26926 \x3d cljs.core.checked_aset_SINGLEQUOTE_;\nvar G__26927 \x3d cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx);\nvar G__26928 \x3d idx2;\nvar G__26929 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__26926,G__26927,G__26928,G__26929) : cljs.core.apply.call(null,G__26926,G__26927,G__26928,G__26929));\n}));\n\n/** @this {Function} */\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo \x3d (function (seq26921){\nvar G__26922 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26921) : cljs.core.first.call(null,seq26921));\nvar seq26921__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26921) : cljs.core.next.call(null,seq26921));\nvar G__26923 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26921__$1) : cljs.core.first.call(null,seq26921__$1));\nvar seq26921__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26921__$1) : cljs.core.next.call(null,seq26921__$1));\nvar G__26924 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26921__$2) : cljs.core.first.call(null,seq26921__$2));\nvar seq26921__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26921__$2) : cljs.core.next.call(null,seq26921__$2));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26922,G__26923,G__26924,seq26921__$3);\n}));\n\n(cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the value at the index/indices. Works on JavaScript arrays.\n */\ncljs.core.aget \x3d (function cljs$core$aget(var_args){\nvar G__26934 \x3d arguments.length;\nswitch (G__26934) {\ncase 2:\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28701 \x3d arguments.length;\nvar i__5750__auto___28702 \x3d (0);\nwhile(true){\nif((i__5750__auto___28702 \x3c len__5749__auto___28701)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28702]));\n\nvar G__28703 \x3d (i__5750__auto___28702 + (1));\ni__5750__auto___28702 \x3d G__28703;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,idx){\nreturn (array[idx]);\n}));\n\n(cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idxs){\nvar G__26935 \x3d cljs.core.aget;\nvar G__26936 \x3d (array[idx]);\nvar G__26937 \x3d idxs;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$3 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$3(G__26935,G__26936,G__26937) : cljs.core.apply.call(null,G__26935,G__26936,G__26937));\n}));\n\n/** @this {Function} */\n(cljs.core.aget.cljs$lang$applyTo \x3d (function (seq26931){\nvar G__26932 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26931) : cljs.core.first.call(null,seq26931));\nvar seq26931__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26931) : cljs.core.next.call(null,seq26931));\nvar G__26933 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26931__$1) : cljs.core.first.call(null,seq26931__$1));\nvar seq26931__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26931__$1) : cljs.core.next.call(null,seq26931__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26932,G__26933,seq26931__$2);\n}));\n\n(cljs.core.aget.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Sets the value at the index/indices. Works on JavaScript arrays.\n * Returns val.\n */\ncljs.core.aset \x3d (function cljs$core$aset(var_args){\nvar G__26943 \x3d arguments.length;\nswitch (G__26943) {\ncase 3:\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28726 \x3d arguments.length;\nvar i__5750__auto___28727 \x3d (0);\nwhile(true){\nif((i__5750__auto___28727 \x3c len__5749__auto___28726)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28727]));\n\nvar G__28731 \x3d (i__5750__auto___28727 + (1));\ni__5750__auto___28727 \x3d G__28731;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$3 \x3d (function (array,idx,val){\nreturn (array[idx] \x3d val);\n}));\n\n(cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic \x3d (function (array,idx,idx2,idxv){\nvar G__26944 \x3d cljs.core.aset;\nvar G__26945 \x3d (array[idx]);\nvar G__26946 \x3d idx2;\nvar G__26947 \x3d idxv;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$4 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$4(G__26944,G__26945,G__26946,G__26947) : cljs.core.apply.call(null,G__26944,G__26945,G__26946,G__26947));\n}));\n\n/** @this {Function} */\n(cljs.core.aset.cljs$lang$applyTo \x3d (function (seq26939){\nvar G__26940 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26939) : cljs.core.first.call(null,seq26939));\nvar seq26939__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26939) : cljs.core.next.call(null,seq26939));\nvar G__26941 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26939__$1) : cljs.core.first.call(null,seq26939__$1));\nvar seq26939__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26939__$1) : cljs.core.next.call(null,seq26939__$1));\nvar G__26942 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26939__$2) : cljs.core.first.call(null,seq26939__$2));\nvar seq26939__$3 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26939__$2) : cljs.core.next.call(null,seq26939__$2));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26940,G__26941,G__26942,seq26939__$3);\n}));\n\n(cljs.core.aset.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the length of the array. Works on arrays of all types.\n */\ncljs.core.alength \x3d (function cljs$core$alength(array){\nreturn array.length;\n});\n/**\n * Returns an array with components set to the values in aseq. Optional type\n * argument accepted for compatibility with Clojure.\n */\ncljs.core.into_array \x3d (function cljs$core$into_array(var_args){\nvar G__26949 \x3d arguments.length;\nswitch (G__26949) {\ncase 1:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (aseq){\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,aseq);\n}));\n\n(cljs.core.into_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,aseq){\nvar G__26950 \x3d (function (a,x){\na.push(x);\n\nreturn a;\n});\nvar G__26951 \x3d [];\nvar G__26952 \x3d aseq;\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__26950,G__26951,G__26952) : cljs.core.reduce.call(null,G__26950,G__26951,G__26952));\n}));\n\n(cljs.core.into_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Invoke JavaScript object method via string. Needed when the\n * string is not a valid unquoted property name.\n */\ncljs.core.js_invoke \x3d (function cljs$core$js_invoke(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___28755 \x3d arguments.length;\nvar i__5750__auto___28758 \x3d (0);\nwhile(true){\nif((i__5750__auto___28758 \x3c len__5749__auto___28755)){\nargs__5755__auto__.push((arguments[i__5750__auto___28758]));\n\nvar G__28759 \x3d (i__5750__auto___28758 + (1));\ni__5750__auto___28758 \x3d G__28759;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,s,args){\nreturn (obj[s]).apply(obj,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));\n}));\n\n(cljs.core.js_invoke.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.js_invoke.cljs$lang$applyTo \x3d (function (seq26953){\nvar G__26954 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26953) : cljs.core.first.call(null,seq26953));\nvar seq26953__$1 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26953) : cljs.core.next.call(null,seq26953));\nvar G__26955 \x3d (cljs.core.first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.first.cljs$core$IFn$_invoke$arity$1(seq26953__$1) : cljs.core.first.call(null,seq26953__$1));\nvar seq26953__$2 \x3d (cljs.core.next.cljs$core$IFn$_invoke$arity$1 ? cljs.core.next.cljs$core$IFn$_invoke$arity$1(seq26953__$1) : cljs.core.next.call(null,seq26953__$1));\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__26954,G__26955,seq26953__$2);\n}));\n\n/**\n * Returns true if x is an instance of Symbol\n */\ncljs.core.js_symbol_QMARK_ \x3d (function cljs$core$js_symbol_QMARK_(x){\nreturn (((goog.typeOf(x) \x3d\x3d\x3d \x22symbol\x22)) || ((((typeof Symbol !\x3d\x3d \x27undefined\x27)) \x26\x26 ((x instanceof Symbol)))));\n});\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.Fn \x3d function(){};\n\n\n/**\n * Protocol for adding the ability to invoke an object as a function.\n * For example, a vector can also be used to look up a value:\n * ([1 2 3 4] 1) \x3d\x3e 2\n * @interface\n */\ncljs.core.IFn \x3d function(){};\n\nvar cljs$core$IFn$_invoke$dyn_28776 \x3d (function() {\nvar G__28777 \x3d null;\nvar G__28777__1 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__2 \x3d (function (this$,a){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5374__auto__.call(null,this$,a));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__5372__auto__.call(null,this$,a));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__3 \x3d (function (this$,a,b){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5374__auto__.call(null,this$,a,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__5372__auto__.call(null,this$,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__4 \x3d (function (this$,a,b,c){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5374__auto__.call(null,this$,a,b,c));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__5372__auto__.call(null,this$,a,b,c));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__5 \x3d (function (this$,a,b,c,d){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5374__auto__.call(null,this$,a,b,c,d));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__5372__auto__.call(null,this$,a,b,c,d));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__6 \x3d (function (this$,a,b,c,d,e){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5374__auto__.call(null,this$,a,b,c,d,e));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$6 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__5372__auto__.call(null,this$,a,b,c,d,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__7 \x3d (function (this$,a,b,c,d,e,f){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5374__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$7 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__5372__auto__.call(null,this$,a,b,c,d,e,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__8 \x3d (function (this$,a,b,c,d,e,f,g){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$8 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$9 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$10 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$11 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$12 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$13 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$14 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$15 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$16 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5374__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__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$17 ? m__5372__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__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5374__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__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$18 ? m__5372__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__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5374__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__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$19 ? m__5372__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__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5374__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__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$20 ? m__5372__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__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5374__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, new cljs.core.IndexedSeq([t],0,null)) : m__5374__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5372__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, new cljs.core.IndexedSeq([t],0,null)) : m__5372__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nvar G__28777__22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5374__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, new cljs.core.IndexedSeq([t,rest],0,null)) : m__5374__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));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$21 ? m__5372__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, new cljs.core.IndexedSeq([t,rest],0,null)) : m__5372__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));\n} else {\nthrow cljs.core.missing_protocol(\x22IFn.-invoke\x22,this$);\n}\n}\n});\nG__28777 \x3d function(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nswitch(arguments.length){\ncase 1:\nreturn G__28777__1.call(this,this$);\ncase 2:\nreturn G__28777__2.call(this,this$,a);\ncase 3:\nreturn G__28777__3.call(this,this$,a,b);\ncase 4:\nreturn G__28777__4.call(this,this$,a,b,c);\ncase 5:\nreturn G__28777__5.call(this,this$,a,b,c,d);\ncase 6:\nreturn G__28777__6.call(this,this$,a,b,c,d,e);\ncase 7:\nreturn G__28777__7.call(this,this$,a,b,c,d,e,f);\ncase 8:\nreturn G__28777__8.call(this,this$,a,b,c,d,e,f,g);\ncase 9:\nreturn G__28777__9.call(this,this$,a,b,c,d,e,f,g,h);\ncase 10:\nreturn G__28777__10.call(this,this$,a,b,c,d,e,f,g,h,i);\ncase 11:\nreturn G__28777__11.call(this,this$,a,b,c,d,e,f,g,h,i,j);\ncase 12:\nreturn G__28777__12.call(this,this$,a,b,c,d,e,f,g,h,i,j,k);\ncase 13:\nreturn G__28777__13.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l);\ncase 14:\nreturn G__28777__14.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\ncase 15:\nreturn G__28777__15.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\ncase 16:\nreturn G__28777__16.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\ncase 17:\nreturn G__28777__17.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\ncase 18:\nreturn G__28777__18.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\ncase 19:\nreturn G__28777__19.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\ncase 20:\nreturn G__28777__20.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\ncase 21:\nreturn G__28777__21.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\ncase 22:\nreturn G__28777__22.call(this,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__28777.cljs$core$IFn$_invoke$arity$1 \x3d G__28777__1;\nG__28777.cljs$core$IFn$_invoke$arity$2 \x3d G__28777__2;\nG__28777.cljs$core$IFn$_invoke$arity$3 \x3d G__28777__3;\nG__28777.cljs$core$IFn$_invoke$arity$4 \x3d G__28777__4;\nG__28777.cljs$core$IFn$_invoke$arity$5 \x3d G__28777__5;\nG__28777.cljs$core$IFn$_invoke$arity$6 \x3d G__28777__6;\nG__28777.cljs$core$IFn$_invoke$arity$7 \x3d G__28777__7;\nG__28777.cljs$core$IFn$_invoke$arity$8 \x3d G__28777__8;\nG__28777.cljs$core$IFn$_invoke$arity$9 \x3d G__28777__9;\nG__28777.cljs$core$IFn$_invoke$arity$10 \x3d G__28777__10;\nG__28777.cljs$core$IFn$_invoke$arity$11 \x3d G__28777__11;\nG__28777.cljs$core$IFn$_invoke$arity$12 \x3d G__28777__12;\nG__28777.cljs$core$IFn$_invoke$arity$13 \x3d G__28777__13;\nG__28777.cljs$core$IFn$_invoke$arity$14 \x3d G__28777__14;\nG__28777.cljs$core$IFn$_invoke$arity$15 \x3d G__28777__15;\nG__28777.cljs$core$IFn$_invoke$arity$16 \x3d G__28777__16;\nG__28777.cljs$core$IFn$_invoke$arity$17 \x3d G__28777__17;\nG__28777.cljs$core$IFn$_invoke$arity$18 \x3d G__28777__18;\nG__28777.cljs$core$IFn$_invoke$arity$19 \x3d G__28777__19;\nG__28777.cljs$core$IFn$_invoke$arity$20 \x3d G__28777__20;\nG__28777.cljs$core$IFn$_invoke$arity$21 \x3d G__28777__21;\nG__28777.cljs$core$IFn$_invoke$arity$22 \x3d G__28777__22;\nreturn G__28777;\n})()\n;\ncljs.core._invoke \x3d (function cljs$core$_invoke(var_args){\nvar G__26957 \x3d arguments.length;\nswitch (G__26957) {\ncase 1:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core._invoke.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase 8:\nreturn 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)]));\n\nbreak;\ncase 9:\nreturn 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)]));\n\nbreak;\ncase 10:\nreturn 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)]));\n\nbreak;\ncase 11:\nreturn 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)]));\n\nbreak;\ncase 12:\nreturn 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)]));\n\nbreak;\ncase 13:\nreturn 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)]));\n\nbreak;\ncase 14:\nreturn 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)]));\n\nbreak;\ncase 15:\nreturn 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)]));\n\nbreak;\ncase 16:\nreturn 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)]));\n\nbreak;\ncase 17:\nreturn 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)]));\n\nbreak;\ncase 18:\nreturn 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)]));\n\nbreak;\ncase 19:\nreturn 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)]));\n\nbreak;\ncase 20:\nreturn 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)]));\n\nbreak;\ncase 21:\nreturn 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)]));\n\nbreak;\ncase 22:\nreturn 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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$1 \x3d (function (this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$1(this$);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$2 \x3d (function (this$,a){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$2(this$,a);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$3 \x3d (function (this$,a,b){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$3(this$,a,b);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$4 \x3d (function (this$,a,b,c){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$4 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$4(this$,a,b,c);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$5 \x3d (function (this$,a,b,c,d){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$6 \x3d (function (this$,a,b,c,d,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$6 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$7 \x3d (function (this$,a,b,c,d,e,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$7 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$8 \x3d (function (this$,a,b,c,d,e,f,g){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$8 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$9 \x3d (function (this$,a,b,c,d,e,f,g,h){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$9 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$10 \x3d (function (this$,a,b,c,d,e,f,g,h,i){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$10 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$11 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$11 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$12 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$12 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$13 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$13 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$14 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$14 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$15 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$15 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$16 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$16 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$17 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$17 \x3d\x3d null)))))){\nreturn this$.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$18 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$18 \x3d\x3d null)))))){\nreturn 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);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$19 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$19 \x3d\x3d null)))))){\nreturn 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);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$20 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$20 \x3d\x3d null)))))){\nreturn 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);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$21 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$21 \x3d\x3d null)))))){\nreturn 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);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);\n}\n}));\n\n(cljs.core._invoke.cljs$core$IFn$_invoke$arity$22 \x3d (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IFn$_invoke$arity$22 \x3d\x3d null)))))){\nreturn 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);\n} else {\nreturn cljs$core$IFn$_invoke$dyn_28776(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);\n}\n}));\n\n(cljs.core._invoke.cljs$lang$maxFixedArity \x3d 22);\n\n\n\n/**\n * Protocol for cloning a value.\n * @interface\n */\ncljs.core.ICloneable \x3d function(){};\n\nvar cljs$core$ICloneable$_clone$dyn_29076 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (cljs.core._clone[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._clone[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22ICloneable.-clone\x22,value);\n}\n}\n});\n/**\n * Creates a clone of value.\n */\ncljs.core._clone \x3d (function cljs$core$_clone(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.cljs$core$ICloneable$_clone$arity$1 \x3d\x3d null)))))){\nreturn value.cljs$core$ICloneable$_clone$arity$1(value);\n} else {\nreturn cljs$core$ICloneable$_clone$dyn_29076(value);\n}\n});\n\n\n/**\n * Protocol for adding the ability to count a collection in constant time.\n * @interface\n */\ncljs.core.ICounted \x3d function(){};\n\nvar cljs$core$ICounted$_count$dyn_29092 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._count[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._count[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ICounted.-count\x22,coll);\n}\n}\n});\n/**\n * Calculates the count of coll in constant time. Used by cljs.core/count.\n */\ncljs.core._count \x3d (function cljs$core$_count(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICounted$_count$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICounted$_count$arity$1(coll);\n} else {\nreturn cljs$core$ICounted$_count$dyn_29092(coll);\n}\n});\n\n\n/**\n * Protocol for creating an empty collection.\n * @interface\n */\ncljs.core.IEmptyableCollection \x3d function(){};\n\nvar cljs$core$IEmptyableCollection$_empty$dyn_29100 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._empty[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._empty[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEmptyableCollection.-empty\x22,coll);\n}\n}\n});\n/**\n * Returns an empty collection of the same category as coll. Used\n * by cljs.core/empty.\n */\ncljs.core._empty \x3d (function cljs$core$_empty(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll);\n} else {\nreturn cljs$core$IEmptyableCollection$_empty$dyn_29100(coll);\n}\n});\n\n\n/**\n * Protocol for adding to a collection.\n * @interface\n */\ncljs.core.ICollection \x3d function(){};\n\nvar cljs$core$ICollection$_conj$dyn_29105 \x3d (function (coll,o){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._conj[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5374__auto__.call(null,coll,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._conj[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__5372__auto__.call(null,coll,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ICollection.-conj\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with o added to it. The new item\n * should be added to the most efficient place, e.g.\n * (conj [1 2 3 4] 5) \x3d\x3e [1 2 3 4 5]\n * (conj \x27(2 3 4 5) 1) \x3d\x3e \x27(1 2 3 4 5)\n */\ncljs.core._conj \x3d (function cljs$core$_conj(coll,o){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ICollection$_conj$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ICollection$_conj$arity$2(coll,o);\n} else {\nreturn cljs$core$ICollection$_conj$dyn_29105(coll,o);\n}\n});\n\n\n/**\n * Protocol for collections to provide indexed-based access to their items.\n * @interface\n */\ncljs.core.IIndexed \x3d function(){};\n\nvar cljs$core$IIndexed$_nth$dyn_29119 \x3d (function() {\nvar G__29120 \x3d null;\nvar G__29120__2 \x3d (function (coll,n){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5374__auto__.call(null,coll,n));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5372__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nvar G__29120__3 \x3d (function (coll,n,not_found){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._nth[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5374__auto__.call(null,coll,n,not_found));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._nth[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__5372__auto__.call(null,coll,n,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22IIndexed.-nth\x22,coll);\n}\n}\n});\nG__29120 \x3d function(coll,n,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__29120__2.call(this,coll,n);\ncase 3:\nreturn G__29120__3.call(this,coll,n,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29120.cljs$core$IFn$_invoke$arity$2 \x3d G__29120__2;\nG__29120.cljs$core$IFn$_invoke$arity$3 \x3d G__29120__3;\nreturn G__29120;\n})()\n;\n/**\n * Returns the value at the index n in the collection coll.\n * Returns not-found if index n is out of bounds and not-found is supplied.\n */\ncljs.core._nth \x3d (function cljs$core$_nth(var_args){\nvar G__26959 \x3d arguments.length;\nswitch (G__26959) {\ncase 2:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(coll,n);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_29119(coll,n);\n}\n}));\n\n(cljs.core._nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIndexed$_nth$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(coll,n,not_found);\n} else {\nreturn cljs$core$IIndexed$_nth$dyn_29119(coll,n,not_found);\n}\n}));\n\n(cljs.core._nth.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Marker protocol indicating an array sequence.\n * @interface\n */\ncljs.core.ASeq \x3d function(){};\n\n\n/**\n * Protocol for collections to provide access to their items as sequences.\n * @interface\n */\ncljs.core.ISeq \x3d function(){};\n\nvar cljs$core$ISeq$_first$dyn_29156 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._first[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._first[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first item in the collection coll. Used by cljs.core/first.\n */\ncljs.core._first \x3d (function cljs$core$_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_first$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_first$dyn_29156(coll);\n}\n});\n\nvar cljs$core$ISeq$_rest$dyn_29168 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._rest[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._rest[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeq.-rest\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. It should\n * always return a seq, e.g.\n * (rest []) \x3d\x3e ()\n * (rest nil) \x3d\x3e ()\n */\ncljs.core._rest \x3d (function cljs$core$_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISeq$_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISeq$_rest$arity$1(coll);\n} else {\nreturn cljs$core$ISeq$_rest$dyn_29168(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the next items of a collection.\n * @interface\n */\ncljs.core.INext \x3d function(){};\n\nvar cljs$core$INext$_next$dyn_29180 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._next[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._next[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22INext.-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first item. In contrast to\n * rest, it should return nil if there are no more items, e.g.\n * (next []) \x3d\x3e nil\n * (next nil) \x3d\x3e nil\n */\ncljs.core._next \x3d (function cljs$core$_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$INext$_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$INext$_next$arity$1(coll);\n} else {\nreturn cljs$core$INext$_next$dyn_29180(coll);\n}\n});\n\n\n/**\n * Protocol for looking up a value in a data structure.\n * @interface\n */\ncljs.core.ILookup \x3d function(){};\n\nvar cljs$core$ILookup$_lookup$dyn_29190 \x3d (function() {\nvar G__29191 \x3d null;\nvar G__29191__2 \x3d (function (o,k){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5374__auto__.call(null,o,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__5372__auto__.call(null,o,k));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nvar G__29191__3 \x3d (function (o,k,not_found){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._lookup[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5374__auto__.call(null,o,k,not_found));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._lookup[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__5372__auto__.call(null,o,k,not_found));\n} else {\nthrow cljs.core.missing_protocol(\x22ILookup.-lookup\x22,o);\n}\n}\n});\nG__29191 \x3d function(o,k,not_found){\nswitch(arguments.length){\ncase 2:\nreturn G__29191__2.call(this,o,k);\ncase 3:\nreturn G__29191__3.call(this,o,k,not_found);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29191.cljs$core$IFn$_invoke$arity$2 \x3d G__29191__2;\nG__29191.cljs$core$IFn$_invoke$arity$3 \x3d G__29191__3;\nreturn G__29191;\n})()\n;\n/**\n * Use k to look up a value in o. If not-found is supplied and k is not\n * a valid value that can be used for look up, not-found is returned.\n */\ncljs.core._lookup \x3d (function cljs$core$_lookup(var_args){\nvar G__26961 \x3d arguments.length;\nswitch (G__26961) {\ncase 2:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$2(o,k);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_29190(o,k);\n}\n}));\n\n(cljs.core._lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ILookup$_lookup$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ILookup$_lookup$arity$3(o,k,not_found);\n} else {\nreturn cljs$core$ILookup$_lookup$dyn_29190(o,k,not_found);\n}\n}));\n\n(cljs.core._lookup.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for adding associativity to collections.\n * @interface\n */\ncljs.core.IAssociative \x3d function(){};\n\nvar cljs$core$IAssociative$_contains_key_QMARK_$dyn_29210 \x3d (function (coll,k){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._contains_key_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5374__auto__.call(null,coll,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._contains_key_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5372__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-contains-key?\x22,coll);\n}\n}\n});\n/**\n * Returns true if k is a key in coll.\n */\ncljs.core._contains_key_QMARK_ \x3d (function cljs$core$_contains_key_QMARK_(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll,k);\n} else {\nreturn cljs$core$IAssociative$_contains_key_QMARK_$dyn_29210(coll,k);\n}\n});\n\nvar cljs$core$IAssociative$_assoc$dyn_29214 \x3d (function (coll,k,v){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._assoc[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5374__auto__.call(null,coll,k,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5372__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IAssociative.-assoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll with a mapping from key k to\n * value v added to it.\n */\ncljs.core._assoc \x3d (function cljs$core$_assoc(coll,k,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IAssociative$_assoc$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(coll,k,v);\n} else {\nreturn cljs$core$IAssociative$_assoc$dyn_29214(coll,k,v);\n}\n});\n\n\n/**\n * Protocol for implementing entry finding in collections.\n * @interface\n */\ncljs.core.IFind \x3d function(){};\n\nvar cljs$core$IFind$_find$dyn_29220 \x3d (function (coll,k){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._find[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5374__auto__.call(null,coll,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._find[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5372__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IFind.-find\x22,coll);\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core._find \x3d (function cljs$core$_find(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IFind$_find$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IFind$_find$arity$2(coll,k);\n} else {\nreturn cljs$core$IFind$_find$dyn_29220(coll,k);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to collections.\n * @interface\n */\ncljs.core.IMap \x3d function(){};\n\nvar cljs$core$IMap$_dissoc$dyn_29228 \x3d (function (coll,k){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._dissoc[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5374__auto__.call(null,coll,k));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._dissoc[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__5372__auto__.call(null,coll,k));\n} else {\nthrow cljs.core.missing_protocol(\x22IMap.-dissoc\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the mapping for key k.\n */\ncljs.core._dissoc \x3d (function cljs$core$_dissoc(coll,k){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMap$_dissoc$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMap$_dissoc$arity$2(coll,k);\n} else {\nreturn cljs$core$IMap$_dissoc$dyn_29228(coll,k);\n}\n});\n\n\n/**\n * Protocol for examining a map entry.\n * @interface\n */\ncljs.core.IMapEntry \x3d function(){};\n\nvar cljs$core$IMapEntry$_key$dyn_29233 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._key[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._key[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core._key \x3d (function cljs$core$_key(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_key$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_key$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_key$dyn_29233(coll);\n}\n});\n\nvar cljs$core$IMapEntry$_val$dyn_29239 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._val[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._val[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IMapEntry.-val\x22,coll);\n}\n}\n});\n/**\n * Returns the value of the map entry.\n */\ncljs.core._val \x3d (function cljs$core$_val(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IMapEntry$_val$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IMapEntry$_val$arity$1(coll);\n} else {\nreturn cljs$core$IMapEntry$_val$dyn_29239(coll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a collection.\n * @interface\n */\ncljs.core.ISet \x3d function(){};\n\nvar cljs$core$ISet$_disjoin$dyn_29246 \x3d (function (coll,v){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._disjoin[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5374__auto__.call(null,coll,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._disjoin[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__5372__auto__.call(null,coll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ISet.-disjoin\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll that does not contain v.\n */\ncljs.core._disjoin \x3d (function cljs$core$_disjoin(coll,v){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISet$_disjoin$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISet$_disjoin$arity$2(coll,v);\n} else {\nreturn cljs$core$ISet$_disjoin$dyn_29246(coll,v);\n}\n});\n\n\n/**\n * Protocol for collections to provide access to their items as stacks. The top\n * of the stack should be accessed in the most efficient way for the different\n * data structures.\n * @interface\n */\ncljs.core.IStack \x3d function(){};\n\nvar cljs$core$IStack$_peek$dyn_29252 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._peek[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._peek[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-peek\x22,coll);\n}\n}\n});\n/**\n * Returns the item from the top of the stack. Is used by cljs.core/peek.\n */\ncljs.core._peek \x3d (function cljs$core$_peek(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_peek$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_peek$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_peek$dyn_29252(coll);\n}\n});\n\nvar cljs$core$IStack$_pop$dyn_29257 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._pop[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._pop[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IStack.-pop\x22,coll);\n}\n}\n});\n/**\n * Returns a new stack without the item on top of the stack. Is used\n * by cljs.core/pop.\n */\ncljs.core._pop \x3d (function cljs$core$_pop(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IStack$_pop$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IStack$_pop$arity$1(coll);\n} else {\nreturn cljs$core$IStack$_pop$dyn_29257(coll);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to collections.\n * @interface\n */\ncljs.core.IVector \x3d function(){};\n\nvar cljs$core$IVector$_assoc_n$dyn_29262 \x3d (function (coll,n,val){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._assoc_n[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5374__auto__.call(null,coll,n,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc_n[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__5372__auto__.call(null,coll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22IVector.-assoc-n\x22,coll);\n}\n}\n});\n/**\n * Returns a new vector with value val added at position n.\n */\ncljs.core._assoc_n \x3d (function cljs$core$_assoc_n(coll,n,val){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IVector$_assoc_n$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IVector$_assoc_n$arity$3(coll,n,val);\n} else {\nreturn cljs$core$IVector$_assoc_n$dyn_29262(coll,n,val);\n}\n});\n\n\n/**\n * Protocol for adding dereference functionality to a reference.\n * @interface\n */\ncljs.core.IDeref \x3d function(){};\n\nvar cljs$core$IDeref$_deref$dyn_29273 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._deref[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._deref[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IDeref.-deref\x22,o);\n}\n}\n});\n/**\n * Returns the value of the reference o.\n */\ncljs.core._deref \x3d (function cljs$core$_deref(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDeref$_deref$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IDeref$_deref$arity$1(o);\n} else {\nreturn cljs$core$IDeref$_deref$dyn_29273(o);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.IDerefWithTimeout \x3d function(){};\n\nvar cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_29284 \x3d (function (o,msec,timeout_val){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._deref_with_timeout[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5374__auto__.call(null,o,msec,timeout_val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._deref_with_timeout[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__5372__auto__.call(null,o,msec,timeout_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IDerefWithTimeout.-deref-with-timeout\x22,o);\n}\n}\n});\ncljs.core._deref_with_timeout \x3d (function cljs$core$_deref_with_timeout(o,msec,timeout_val){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o,msec,timeout_val);\n} else {\nreturn cljs$core$IDerefWithTimeout$_deref_with_timeout$dyn_29284(o,msec,timeout_val);\n}\n});\n\n\n/**\n * Protocol for accessing the metadata of an object.\n * @interface\n */\ncljs.core.IMeta \x3d function(){};\n\nvar cljs$core$IMeta$_meta$dyn_29296 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._meta[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._meta[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IMeta.-meta\x22,o);\n}\n}\n});\n/**\n * Returns the metadata of object o.\n */\ncljs.core._meta \x3d (function cljs$core$_meta(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IMeta$_meta$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IMeta$_meta$arity$1(o);\n} else {\nreturn cljs$core$IMeta$_meta$dyn_29296(o);\n}\n});\n\n\n/**\n * Protocol for adding metadata to an object.\n * @interface\n */\ncljs.core.IWithMeta \x3d function(){};\n\nvar cljs$core$IWithMeta$_with_meta$dyn_29304 \x3d (function (o,meta){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._with_meta[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5374__auto__.call(null,o,meta));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._with_meta[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__5372__auto__.call(null,o,meta));\n} else {\nthrow cljs.core.missing_protocol(\x22IWithMeta.-with-meta\x22,o);\n}\n}\n});\n/**\n * Returns a new object with value of o and metadata meta added to it.\n */\ncljs.core._with_meta \x3d (function cljs$core$_with_meta(o,meta){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IWithMeta$_with_meta$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IWithMeta$_with_meta$arity$2(o,meta);\n} else {\nreturn cljs$core$IWithMeta$_with_meta$dyn_29304(o,meta);\n}\n});\n\n\n/**\n * Protocol for seq types that can reduce themselves.\n * Called by cljs.core/reduce.\n * @interface\n */\ncljs.core.IReduce \x3d function(){};\n\nvar cljs$core$IReduce$_reduce$dyn_29324 \x3d (function() {\nvar G__29327 \x3d null;\nvar G__29327__2 \x3d (function (coll,f){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5374__auto__.call(null,coll,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__5372__auto__.call(null,coll,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nvar G__29327__3 \x3d (function (coll,f,start){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._reduce[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5374__auto__.call(null,coll,f,start));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reduce[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__5372__auto__.call(null,coll,f,start));\n} else {\nthrow cljs.core.missing_protocol(\x22IReduce.-reduce\x22,coll);\n}\n}\n});\nG__29327 \x3d function(coll,f,start){\nswitch(arguments.length){\ncase 2:\nreturn G__29327__2.call(this,coll,f);\ncase 3:\nreturn G__29327__3.call(this,coll,f,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29327.cljs$core$IFn$_invoke$arity$2 \x3d G__29327__2;\nG__29327.cljs$core$IFn$_invoke$arity$3 \x3d G__29327__3;\nreturn G__29327;\n})()\n;\n/**\n * f should be a function of 2 arguments. If start is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc.\n */\ncljs.core._reduce \x3d (function cljs$core$_reduce(var_args){\nvar G__26963 \x3d arguments.length;\nswitch (G__26963) {\ncase 2:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(coll,f);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_29324(coll,f);\n}\n}));\n\n(cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,start){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReduce$_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(coll,f,start);\n} else {\nreturn cljs$core$IReduce$_reduce$dyn_29324(coll,f,start);\n}\n}));\n\n(cljs.core._reduce.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * Protocol for associative types that can reduce themselves\n * via a function of key and val. Called by cljs.core/reduce-kv.\n * @interface\n */\ncljs.core.IKVReduce \x3d function(){};\n\nvar cljs$core$IKVReduce$_kv_reduce$dyn_29346 \x3d (function (coll,f,init){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._kv_reduce[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5374__auto__.call(null,coll,f,init));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._kv_reduce[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__5372__auto__.call(null,coll,f,init));\n} else {\nthrow cljs.core.missing_protocol(\x22IKVReduce.-kv-reduce\x22,coll);\n}\n}\n});\n/**\n * Reduces an associative collection and returns the result. f should be\n * a function that takes three arguments.\n */\ncljs.core._kv_reduce \x3d (function cljs$core$_kv_reduce(coll,f,init){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll,f,init);\n} else {\nreturn cljs$core$IKVReduce$_kv_reduce$dyn_29346(coll,f,init);\n}\n});\n\n\n/**\n * Protocol for adding value comparison functionality to a type.\n * @interface\n */\ncljs.core.IEquiv \x3d function(){};\n\nvar cljs$core$IEquiv$_equiv$dyn_29358 \x3d (function (o,other){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._equiv[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5374__auto__.call(null,o,other));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._equiv[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__5372__auto__.call(null,o,other));\n} else {\nthrow cljs.core.missing_protocol(\x22IEquiv.-equiv\x22,o);\n}\n}\n});\n/**\n * Returns true if o and other are equal, false otherwise.\n */\ncljs.core._equiv \x3d (function cljs$core$_equiv(o,other){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IEquiv$_equiv$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IEquiv$_equiv$arity$2(o,other);\n} else {\nreturn cljs$core$IEquiv$_equiv$dyn_29358(o,other);\n}\n});\n\n\n/**\n * Protocol for adding hashing functionality to a type.\n * @interface\n */\ncljs.core.IHash \x3d function(){};\n\nvar cljs$core$IHash$_hash$dyn_29370 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._hash[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._hash[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22IHash.-hash\x22,o);\n}\n}\n});\n/**\n * Returns the hash code of o.\n */\ncljs.core._hash \x3d (function cljs$core$_hash(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IHash$_hash$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$IHash$_hash$arity$1(o);\n} else {\nreturn cljs$core$IHash$_hash$dyn_29370(o);\n}\n});\n\n\n/**\n * Protocol for adding the ability to a type to be transformed into a sequence.\n * @interface\n */\ncljs.core.ISeqable \x3d function(){};\n\nvar cljs$core$ISeqable$_seq$dyn_29378 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._seq[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._seq[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22ISeqable.-seq\x22,o);\n}\n}\n});\n/**\n * Returns a seq of o, or nil if o is empty.\n */\ncljs.core._seq \x3d (function cljs$core$_seq(o){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISeqable$_seq$arity$1 \x3d\x3d null)))))){\nreturn o.cljs$core$ISeqable$_seq$arity$1(o);\n} else {\nreturn cljs$core$ISeqable$_seq$dyn_29378(o);\n}\n});\n\n\n/**\n * Marker interface indicating a persistent collection of sequential items\n * @interface\n */\ncljs.core.ISequential \x3d function(){};\n\n\n/**\n * Marker interface indicating a persistent list\n * @interface\n */\ncljs.core.IList \x3d function(){};\n\n\n/**\n * Marker interface indicating a record object\n * @interface\n */\ncljs.core.IRecord \x3d function(){};\n\n\n/**\n * Protocol for reversing a seq.\n * @interface\n */\ncljs.core.IReversible \x3d function(){};\n\nvar cljs$core$IReversible$_rseq$dyn_29398 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._rseq[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._rseq[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IReversible.-rseq\x22,coll);\n}\n}\n});\n/**\n * Returns a seq of the items in coll in reversed order.\n */\ncljs.core._rseq \x3d (function cljs$core$_rseq(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IReversible$_rseq$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IReversible$_rseq$arity$1(coll);\n} else {\nreturn cljs$core$IReversible$_rseq$dyn_29398(coll);\n}\n});\n\n\n/**\n * Protocol for a collection which can represent their items\n * in a sorted manner. \n * @interface\n */\ncljs.core.ISorted \x3d function(){};\n\nvar cljs$core$ISorted$_sorted_seq$dyn_29420 \x3d (function (coll,ascending_QMARK_){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._sorted_seq[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5374__auto__.call(null,coll,ascending_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._sorted_seq[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__5372__auto__.call(null,coll,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n */\ncljs.core._sorted_seq \x3d (function cljs$core$_sorted_seq(coll,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq$arity$2(coll,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq$dyn_29420(coll,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_sorted_seq_from$dyn_29441 \x3d (function (coll,k,ascending_QMARK_){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._sorted_seq_from[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5374__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._sorted_seq_from[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__5372__auto__.call(null,coll,k,ascending_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-sorted-seq-from\x22,coll);\n}\n}\n});\n/**\n * Returns a sorted seq from coll in either ascending or descending order.\n * If ascending is true, the result should contain all items which are \x3e or \x3e\x3d\n * than k. If ascending is false, the result should contain all items which\n * are \x3c or \x3c\x3d than k, e.g.\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) \x3d\x3e (3 4 5)\n * (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) \x3d\x3e (3 2 1)\n */\ncljs.core._sorted_seq_from \x3d (function cljs$core$_sorted_seq_from(coll,k,ascending_QMARK_){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll,k,ascending_QMARK_);\n} else {\nreturn cljs$core$ISorted$_sorted_seq_from$dyn_29441(coll,k,ascending_QMARK_);\n}\n});\n\nvar cljs$core$ISorted$_entry_key$dyn_29449 \x3d (function (coll,entry){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._entry_key[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5374__auto__.call(null,coll,entry));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._entry_key[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__5372__auto__.call(null,coll,entry));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-entry-key\x22,coll);\n}\n}\n});\n/**\n * Returns the key for entry.\n */\ncljs.core._entry_key \x3d (function cljs$core$_entry_key(coll,entry){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_entry_key$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_entry_key$arity$2(coll,entry);\n} else {\nreturn cljs$core$ISorted$_entry_key$dyn_29449(coll,entry);\n}\n});\n\nvar cljs$core$ISorted$_comparator$dyn_29455 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._comparator[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._comparator[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22ISorted.-comparator\x22,coll);\n}\n}\n});\n/**\n * Returns the comparator for coll.\n */\ncljs.core._comparator \x3d (function cljs$core$_comparator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$ISorted$_comparator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$ISorted$_comparator$arity$1(coll);\n} else {\nreturn cljs$core$ISorted$_comparator$dyn_29455(coll);\n}\n});\n\n\n/**\n * Protocol for writing. Currently only implemented by StringBufferWriter.\n * @interface\n */\ncljs.core.IWriter \x3d function(){};\n\nvar cljs$core$IWriter$_write$dyn_29462 \x3d (function (writer,s){\nvar x__5373__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5374__auto__ \x3d (cljs.core._write[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5374__auto__.call(null,writer,s));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._write[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__5372__auto__.call(null,writer,s));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-write\x22,writer);\n}\n}\n});\n/**\n * Writes s with writer and returns the result.\n */\ncljs.core._write \x3d (function cljs$core$_write(writer,s){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_write$arity$2 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_write$arity$2(writer,s);\n} else {\nreturn cljs$core$IWriter$_write$dyn_29462(writer,s);\n}\n});\n\nvar cljs$core$IWriter$_flush$dyn_29469 \x3d (function (writer){\nvar x__5373__auto__ \x3d (((writer \x3d\x3d null))?null:writer);\nvar m__5374__auto__ \x3d (cljs.core._flush[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5374__auto__.call(null,writer));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._flush[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__5372__auto__.call(null,writer));\n} else {\nthrow cljs.core.missing_protocol(\x22IWriter.-flush\x22,writer);\n}\n}\n});\n/**\n * Flush writer.\n */\ncljs.core._flush \x3d (function cljs$core$_flush(writer){\nif((((!((writer \x3d\x3d null)))) \x26\x26 ((!((writer.cljs$core$IWriter$_flush$arity$1 \x3d\x3d null)))))){\nreturn writer.cljs$core$IWriter$_flush$arity$1(writer);\n} else {\nreturn cljs$core$IWriter$_flush$dyn_29469(writer);\n}\n});\n\n\n/**\n * The old IPrintable protocol\x27s implementation consisted of building a giant\n * list of strings to concatenate. This involved lots of concat calls,\n * intermediate vectors, and lazy-seqs, and was very slow in some older JS\n * engines. IPrintWithWriter implements printing via the IWriter protocol, so it\n * be implemented efficiently in terms of e.g. a StringBuffer append.\n * @interface\n */\ncljs.core.IPrintWithWriter \x3d function(){};\n\nvar cljs$core$IPrintWithWriter$_pr_writer$dyn_29473 \x3d (function (o,writer,opts){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._pr_writer[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5374__auto__.call(null,o,writer,opts));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._pr_writer[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__5372__auto__.call(null,o,writer,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrintWithWriter.-pr-writer\x22,o);\n}\n}\n});\ncljs.core._pr_writer \x3d (function cljs$core$_pr_writer(o,writer,opts){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$IPrintWithWriter$_pr_writer$arity$3(o,writer,opts);\n} else {\nreturn cljs$core$IPrintWithWriter$_pr_writer$dyn_29473(o,writer,opts);\n}\n});\n\n\n/**\n * Protocol for types which can have a deferred realization. Currently only\n * implemented by Delay and LazySeq.\n * @interface\n */\ncljs.core.IPending \x3d function(){};\n\nvar cljs$core$IPending$_realized_QMARK_$dyn_29485 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._realized_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._realized_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IPending.-realized?\x22,x);\n}\n}\n});\n/**\n * Returns true if a value for x has been produced, false otherwise.\n */\ncljs.core._realized_QMARK_ \x3d (function cljs$core$_realized_QMARK_(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IPending$_realized_QMARK_$arity$1(x);\n} else {\nreturn cljs$core$IPending$_realized_QMARK_$dyn_29485(x);\n}\n});\n\n\n/**\n * Protocol for types that can be watched. Currently only implemented by Atom.\n * @interface\n */\ncljs.core.IWatchable \x3d function(){};\n\nvar cljs$core$IWatchable$_notify_watches$dyn_29497 \x3d (function (this$,oldval,newval){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._notify_watches[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5374__auto__.call(null,this$,oldval,newval));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._notify_watches[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__5372__auto__.call(null,this$,oldval,newval));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-notify-watches\x22,this$);\n}\n}\n});\n/**\n * Calls all watchers with this, oldval and newval.\n */\ncljs.core._notify_watches \x3d (function cljs$core$_notify_watches(this$,oldval,newval){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_notify_watches$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_notify_watches$arity$3(this$,oldval,newval);\n} else {\nreturn cljs$core$IWatchable$_notify_watches$dyn_29497(this$,oldval,newval);\n}\n});\n\nvar cljs$core$IWatchable$_add_watch$dyn_29505 \x3d (function (this$,key,f){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._add_watch[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5374__auto__.call(null,this$,key,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._add_watch[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__5372__auto__.call(null,this$,key,f));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-add-watch\x22,this$);\n}\n}\n});\n/**\n * Adds a watcher function f to this. Keys must be unique per reference,\n * and can be used to remove the watch with -remove-watch.\n */\ncljs.core._add_watch \x3d (function cljs$core$_add_watch(this$,key,f){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_add_watch$arity$3 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_add_watch$arity$3(this$,key,f);\n} else {\nreturn cljs$core$IWatchable$_add_watch$dyn_29505(this$,key,f);\n}\n});\n\nvar cljs$core$IWatchable$_remove_watch$dyn_29520 \x3d (function (this$,key){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core._remove_watch[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5374__auto__.call(null,this$,key));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._remove_watch[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__5372__auto__.call(null,this$,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IWatchable.-remove-watch\x22,this$);\n}\n}\n});\n/**\n * Removes watcher that corresponds to key from this.\n */\ncljs.core._remove_watch \x3d (function cljs$core$_remove_watch(this$,key){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$IWatchable$_remove_watch$arity$2 \x3d\x3d null)))))){\nreturn this$.cljs$core$IWatchable$_remove_watch$arity$2(this$,key);\n} else {\nreturn cljs$core$IWatchable$_remove_watch$dyn_29520(this$,key);\n}\n});\n\n\n/**\n * Protocol for collections which can transformed to transients.\n * @interface\n */\ncljs.core.IEditableCollection \x3d function(){};\n\nvar cljs$core$IEditableCollection$_as_transient$dyn_29525 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._as_transient[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._as_transient[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IEditableCollection.-as-transient\x22,coll);\n}\n}\n});\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core._as_transient \x3d (function cljs$core$_as_transient(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll);\n} else {\nreturn cljs$core$IEditableCollection$_as_transient$dyn_29525(coll);\n}\n});\n\n\n/**\n * Protocol for adding basic functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientCollection \x3d function(){};\n\nvar cljs$core$ITransientCollection$_conj_BANG_$dyn_29533 \x3d (function (tcoll,val){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._conj_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5374__auto__.call(null,tcoll,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._conj_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__5372__auto__.call(null,tcoll,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-conj!\x22,tcoll);\n}\n}\n});\n/**\n * Adds value val to tcoll and returns tcoll.\n */\ncljs.core._conj_BANG_ \x3d (function cljs$core$_conj_BANG_(tcoll,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll,val);\n} else {\nreturn cljs$core$ITransientCollection$_conj_BANG_$dyn_29533(tcoll,val);\n}\n});\n\nvar cljs$core$ITransientCollection$_persistent_BANG_$dyn_29538 \x3d (function (tcoll){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._persistent_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5374__auto__.call(null,tcoll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._persistent_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5372__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientCollection.-persistent!\x22,tcoll);\n}\n}\n});\n/**\n * Creates a persistent data structure from tcoll and returns it.\n */\ncljs.core._persistent_BANG_ \x3d (function cljs$core$_persistent_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientCollection$_persistent_BANG_$dyn_29538(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding associativity to transient collections.\n * @interface\n */\ncljs.core.ITransientAssociative \x3d function(){};\n\nvar cljs$core$ITransientAssociative$_assoc_BANG_$dyn_29543 \x3d (function (tcoll,key,val){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._assoc_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5374__auto__.call(null,tcoll,key,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__5372__auto__.call(null,tcoll,key,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientAssociative.-assoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll with a mapping from key to\n * val added to it.\n */\ncljs.core._assoc_BANG_ \x3d (function cljs$core$_assoc_BANG_(tcoll,key,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll,key,val);\n} else {\nreturn cljs$core$ITransientAssociative$_assoc_BANG_$dyn_29543(tcoll,key,val);\n}\n});\n\n\n/**\n * Protocol for adding mapping functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientMap \x3d function(){};\n\nvar cljs$core$ITransientMap$_dissoc_BANG_$dyn_29550 \x3d (function (tcoll,key){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._dissoc_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5374__auto__.call(null,tcoll,key));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._dissoc_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__5372__auto__.call(null,tcoll,key));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientMap.-dissoc!\x22,tcoll);\n}\n}\n});\n/**\n * Returns a new transient collection of tcoll without the mapping for key.\n */\ncljs.core._dissoc_BANG_ \x3d (function cljs$core$_dissoc_BANG_(tcoll,key){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll,key);\n} else {\nreturn cljs$core$ITransientMap$_dissoc_BANG_$dyn_29550(tcoll,key);\n}\n});\n\n\n/**\n * Protocol for adding vector functionality to transient collections.\n * @interface\n */\ncljs.core.ITransientVector \x3d function(){};\n\nvar cljs$core$ITransientVector$_assoc_n_BANG_$dyn_29559 \x3d (function (tcoll,n,val){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._assoc_n_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5374__auto__.call(null,tcoll,n,val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._assoc_n_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__5372__auto__.call(null,tcoll,n,val));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-assoc-n!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with value val added at position n.\n */\ncljs.core._assoc_n_BANG_ \x3d (function cljs$core$_assoc_n_BANG_(tcoll,n,val){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll,n,val);\n} else {\nreturn cljs$core$ITransientVector$_assoc_n_BANG_$dyn_29559(tcoll,n,val);\n}\n});\n\nvar cljs$core$ITransientVector$_pop_BANG_$dyn_29567 \x3d (function (tcoll){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._pop_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5374__auto__.call(null,tcoll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._pop_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__5372__auto__.call(null,tcoll));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientVector.-pop!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll with the last item removed from it.\n */\ncljs.core._pop_BANG_ \x3d (function cljs$core$_pop_BANG_(tcoll){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll);\n} else {\nreturn cljs$core$ITransientVector$_pop_BANG_$dyn_29567(tcoll);\n}\n});\n\n\n/**\n * Protocol for adding set functionality to a transient collection.\n * @interface\n */\ncljs.core.ITransientSet \x3d function(){};\n\nvar cljs$core$ITransientSet$_disjoin_BANG_$dyn_29568 \x3d (function (tcoll,v){\nvar x__5373__auto__ \x3d (((tcoll \x3d\x3d null))?null:tcoll);\nvar m__5374__auto__ \x3d (cljs.core._disjoin_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5374__auto__.call(null,tcoll,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._disjoin_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__5372__auto__.call(null,tcoll,v));\n} else {\nthrow cljs.core.missing_protocol(\x22ITransientSet.-disjoin!\x22,tcoll);\n}\n}\n});\n/**\n * Returns tcoll without v.\n */\ncljs.core._disjoin_BANG_ \x3d (function cljs$core$_disjoin_BANG_(tcoll,v){\nif((((!((tcoll \x3d\x3d null)))) \x26\x26 ((!((tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d\x3d null)))))){\nreturn tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll,v);\n} else {\nreturn cljs$core$ITransientSet$_disjoin_BANG_$dyn_29568(tcoll,v);\n}\n});\n\n\n/**\n * Protocol for values that can be compared.\n * @interface\n */\ncljs.core.IComparable \x3d function(){};\n\nvar cljs$core$IComparable$_compare$dyn_29572 \x3d (function (x,y){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._compare[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5374__auto__.call(null,x,y));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._compare[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__5372__auto__.call(null,x,y));\n} else {\nthrow cljs.core.missing_protocol(\x22IComparable.-compare\x22,x);\n}\n}\n});\n/**\n * Returns a negative number, zero, or a positive number when x is logically\n * \x27less than\x27, \x27equal to\x27, or \x27greater than\x27 y.\n */\ncljs.core._compare \x3d (function cljs$core$_compare(x,y){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IComparable$_compare$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IComparable$_compare$arity$2(x,y);\n} else {\nreturn cljs$core$IComparable$_compare$dyn_29572(x,y);\n}\n});\n\n\n/**\n * Protocol for accessing the items of a chunk.\n * @interface\n */\ncljs.core.IChunk \x3d function(){};\n\nvar cljs$core$IChunk$_drop_first$dyn_29584 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._drop_first[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._drop_first[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunk.-drop-first\x22,coll);\n}\n}\n});\n/**\n * Return a new chunk of coll with the first item removed.\n */\ncljs.core._drop_first \x3d (function cljs$core$_drop_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunk$_drop_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunk$_drop_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunk$_drop_first$dyn_29584(coll);\n}\n});\n\n\n/**\n * Protocol for accessing a collection as sequential chunks.\n * @interface\n */\ncljs.core.IChunkedSeq \x3d function(){};\n\nvar cljs$core$IChunkedSeq$_chunked_first$dyn_29597 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._chunked_first[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._chunked_first[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-first\x22,coll);\n}\n}\n});\n/**\n * Returns the first chunk in coll.\n */\ncljs.core._chunked_first \x3d (function cljs$core$_chunked_first(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_first$dyn_29597(coll);\n}\n});\n\nvar cljs$core$IChunkedSeq$_chunked_rest$dyn_29605 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._chunked_rest[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._chunked_rest[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedSeq.-chunked-rest\x22,coll);\n}\n}\n});\n/**\n * Return a new collection of coll with the first chunk removed.\n */\ncljs.core._chunked_rest \x3d (function cljs$core$_chunked_rest(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedSeq$_chunked_rest$dyn_29605(coll);\n}\n});\n\n\n/**\n * Protocol for accessing the chunks of a collection.\n * @interface\n */\ncljs.core.IChunkedNext \x3d function(){};\n\nvar cljs$core$IChunkedNext$_chunked_next$dyn_29614 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._chunked_next[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._chunked_next[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IChunkedNext.-chunked-next\x22,coll);\n}\n}\n});\n/**\n * Returns a new collection of coll without the first chunk.\n */\ncljs.core._chunked_next \x3d (function cljs$core$_chunked_next(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll);\n} else {\nreturn cljs$core$IChunkedNext$_chunked_next$dyn_29614(coll);\n}\n});\n\n\n/**\n * Protocol for adding a name.\n * @interface\n */\ncljs.core.INamed \x3d function(){};\n\nvar cljs$core$INamed$_name$dyn_29620 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._name[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._name[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-name\x22,x);\n}\n}\n});\n/**\n * Returns the name String of x.\n */\ncljs.core._name \x3d (function cljs$core$_name(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_name$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_name$arity$1(x);\n} else {\nreturn cljs$core$INamed$_name$dyn_29620(x);\n}\n});\n\nvar cljs$core$INamed$_namespace$dyn_29642 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._namespace[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._namespace[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22INamed.-namespace\x22,x);\n}\n}\n});\n/**\n * Returns the namespace String of x.\n */\ncljs.core._namespace \x3d (function cljs$core$_namespace(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$INamed$_namespace$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$INamed$_namespace$arity$1(x);\n} else {\nreturn cljs$core$INamed$_namespace$dyn_29642(x);\n}\n});\n\n\n/**\n * Marker protocol indicating an atom.\n * @interface\n */\ncljs.core.IAtom \x3d function(){};\n\n\n/**\n * Protocol for adding resetting functionality.\n * @interface\n */\ncljs.core.IReset \x3d function(){};\n\nvar cljs$core$IReset$_reset_BANG_$dyn_29648 \x3d (function (o,new_value){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._reset_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5374__auto__.call(null,o,new_value));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reset_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5372__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IReset.-reset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of o to new-value.\n */\ncljs.core._reset_BANG_ \x3d (function cljs$core$_reset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IReset$_reset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IReset$_reset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IReset$_reset_BANG_$dyn_29648(o,new_value);\n}\n});\n\n\n/**\n * Protocol for adding swapping functionality.\n * @interface\n */\ncljs.core.ISwap \x3d function(){};\n\nvar cljs$core$ISwap$_swap_BANG_$dyn_29655 \x3d (function() {\nvar G__29657 \x3d null;\nvar G__29657__2 \x3d (function (o,f){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5374__auto__.call(null,o,f));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__5372__auto__.call(null,o,f));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__29657__3 \x3d (function (o,f,a){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5374__auto__.call(null,o,f,a));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__5372__auto__.call(null,o,f,a));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__29657__4 \x3d (function (o,f,a,b){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5374__auto__.call(null,o,f,a,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__5372__auto__.call(null,o,f,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nvar G__29657__5 \x3d (function (o,f,a,b,xs){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._swap_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5374__auto__.call(null,o,f,a,b,xs));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._swap_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__5372__auto__.call(null,o,f,a,b,xs));\n} else {\nthrow cljs.core.missing_protocol(\x22ISwap.-swap!\x22,o);\n}\n}\n});\nG__29657 \x3d function(o,f,a,b,xs){\nswitch(arguments.length){\ncase 2:\nreturn G__29657__2.call(this,o,f);\ncase 3:\nreturn G__29657__3.call(this,o,f,a);\ncase 4:\nreturn G__29657__4.call(this,o,f,a,b);\ncase 5:\nreturn G__29657__5.call(this,o,f,a,b,xs);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29657.cljs$core$IFn$_invoke$arity$2 \x3d G__29657__2;\nG__29657.cljs$core$IFn$_invoke$arity$3 \x3d G__29657__3;\nG__29657.cljs$core$IFn$_invoke$arity$4 \x3d G__29657__4;\nG__29657.cljs$core$IFn$_invoke$arity$5 \x3d G__29657__5;\nreturn G__29657;\n})()\n;\n/**\n * Swaps the value of o to be (apply f current-value-of-atom args).\n */\ncljs.core._swap_BANG_ \x3d (function cljs$core$_swap_BANG_(var_args){\nvar G__26965 \x3d arguments.length;\nswitch (G__26965) {\ncase 2:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,f){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$2(o,f);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29655(o,f);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,f,a){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$3 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$3(o,f,a);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29655(o,f,a);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (o,f,a,b){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$4 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$4(o,f,a,b);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29655(o,f,a,b);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5 \x3d (function (o,f,a,b,xs){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$ISwap$_swap_BANG_$arity$5 \x3d\x3d null)))))){\nreturn o.cljs$core$ISwap$_swap_BANG_$arity$5(o,f,a,b,xs);\n} else {\nreturn cljs$core$ISwap$_swap_BANG_$dyn_29655(o,f,a,b,xs);\n}\n}));\n\n(cljs.core._swap_BANG_.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n/**\n * Protocol for adding volatile functionality.\n * @interface\n */\ncljs.core.IVolatile \x3d function(){};\n\nvar cljs$core$IVolatile$_vreset_BANG_$dyn_29696 \x3d (function (o,new_value){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (cljs.core._vreset_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5374__auto__.call(null,o,new_value));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._vreset_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__5372__auto__.call(null,o,new_value));\n} else {\nthrow cljs.core.missing_protocol(\x22IVolatile.-vreset!\x22,o);\n}\n}\n});\n/**\n * Sets the value of volatile o to new-value without regard for the\n * current value. Returns new-value.\n */\ncljs.core._vreset_BANG_ \x3d (function cljs$core$_vreset_BANG_(o,new_value){\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d\x3d null)))))){\nreturn o.cljs$core$IVolatile$_vreset_BANG_$arity$2(o,new_value);\n} else {\nreturn cljs$core$IVolatile$_vreset_BANG_$dyn_29696(o,new_value);\n}\n});\n\n\n/**\n * Protocol for iterating over a collection.\n * @interface\n */\ncljs.core.IIterable \x3d function(){};\n\nvar cljs$core$IIterable$_iterator$dyn_29697 \x3d (function (coll){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._iterator[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5374__auto__.call(null,coll));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._iterator[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__5372__auto__.call(null,coll));\n} else {\nthrow cljs.core.missing_protocol(\x22IIterable.-iterator\x22,coll);\n}\n}\n});\n/**\n * Returns an iterator for coll.\n */\ncljs.core._iterator \x3d (function cljs$core$_iterator(coll){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IIterable$_iterator$arity$1 \x3d\x3d null)))))){\nreturn coll.cljs$core$IIterable$_iterator$arity$1(coll);\n} else {\nreturn cljs$core$IIterable$_iterator$dyn_29697(coll);\n}\n});\n\n\n/**\n * Protocol for persistent or algorithmically defined collections to provide a\n * means of dropping N items that is more efficient than sequential walking.\n * @interface\n */\ncljs.core.IDrop \x3d function(){};\n\nvar cljs$core$IDrop$_drop$dyn_29698 \x3d (function (coll,n){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (cljs.core._drop[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5374__auto__.call(null,coll,n));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._drop[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__5372__auto__.call(null,coll,n));\n} else {\nthrow cljs.core.missing_protocol(\x22IDrop.-drop\x22,coll);\n}\n}\n});\n/**\n * Returns a collection that is ISequential, ISeq, and IReduce, or nil if past\n * the end. The number of items to drop n must be \x3e 0. It is also useful if the\n * returned coll implements IDrop for subsequent use in a partition-like scenario.\n */\ncljs.core._drop \x3d (function cljs$core$_drop(coll,n){\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.cljs$core$IDrop$_drop$arity$2 \x3d\x3d null)))))){\nreturn coll.cljs$core$IDrop$_drop$arity$2(coll,n);\n} else {\nreturn cljs$core$IDrop$_drop$dyn_29698(coll,n);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ncljs.core.StringBufferWriter \x3d (function (sb){\nthis.sb \x3d sb;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.sb.append(s);\n}));\n\n(cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.StringBufferWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null)], null);\n}));\n\n(cljs.core.StringBufferWriter.cljs$lang$type \x3d true);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorStr \x3d \x22cljs.core/StringBufferWriter\x22);\n\n(cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/StringBufferWriter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringBufferWriter.\n */\ncljs.core.__GT_StringBufferWriter \x3d (function cljs$core$__GT_StringBufferWriter(sb){\nreturn (new cljs.core.StringBufferWriter(sb));\n});\n\n/**\n * Support so that collections can implement toString without\n * loading all the printing machinery.\n */\ncljs.core.pr_str_STAR_ \x3d (function cljs$core$pr_str_STAR_(obj){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\nobj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,cljs.core.pr_opts());\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\ncljs.core.int_rotate_left \x3d (function cljs$core$int_rotate_left(x,n){\nreturn ((x \x3c\x3c n) | (x \x3e\x3e\x3e (- n)));\n});\nif((((typeof Math !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof Math.imul !\x3d\x3d \x27undefined\x27)) \x26\x26 ((!((Math.imul((4294967295),(5)) \x3d\x3d\x3d (0))))))){\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nreturn Math.imul(a,b);\n});\n} else {\ncljs.core.imul \x3d (function cljs$core$imul(a,b){\nvar ah \x3d ((a \x3e\x3e\x3e (16)) \x26 (65535));\nvar al \x3d (a \x26 (65535));\nvar bh \x3d ((b \x3e\x3e\x3e (16)) \x26 (65535));\nvar bl \x3d (b \x26 (65535));\nreturn (((al * bl) + ((((ah * bl) + (al * bh)) \x3c\x3c (16)) \x3e\x3e\x3e (0))) | (0));\n});\n}\ncljs.core.m3_seed \x3d (0);\ncljs.core.m3_C1 \x3d ((3432918353) | (0));\ncljs.core.m3_C2 \x3d ((461845907) | (0));\ncljs.core.m3_mix_K1 \x3d (function cljs$core$m3_mix_K1(k1){\nreturn cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul((k1 | (0)),cljs.core.m3_C1),(15)),cljs.core.m3_C2);\n});\ncljs.core.m3_mix_H1 \x3d (function cljs$core$m3_mix_H1(h1,k1){\nreturn ((cljs.core.imul(cljs.core.int_rotate_left(((h1 | (0)) ^ (k1 | (0))),(13)),(5)) + ((3864292196) | (0))) | (0));\n});\ncljs.core.m3_fmix \x3d (function cljs$core$m3_fmix(h1,len){\nvar h1__$1 \x3d (h1 | (0));\nvar h1__$2 \x3d (h1__$1 ^ len);\nvar h1__$3 \x3d (h1__$2 ^ (h1__$2 \x3e\x3e\x3e (16)));\nvar h1__$4 \x3d cljs.core.imul(h1__$3,((2246822507) | (0)));\nvar h1__$5 \x3d (h1__$4 ^ (h1__$4 \x3e\x3e\x3e (13)));\nvar h1__$6 \x3d cljs.core.imul(h1__$5,((3266489909) | (0)));\nreturn (h1__$6 ^ (h1__$6 \x3e\x3e\x3e (16)));\n});\ncljs.core.m3_hash_int \x3d (function cljs$core$m3_hash_int(in$){\nif((in$ \x3d\x3d\x3d (0))){\nreturn in$;\n} else {\nvar k1 \x3d cljs.core.m3_mix_K1(in$);\nvar h1 \x3d cljs.core.m3_mix_H1(cljs.core.m3_seed,k1);\nreturn cljs.core.m3_fmix(h1,(4));\n}\n});\ncljs.core.hash_long \x3d (function cljs$core$hash_long(high,low){\nreturn (high ^ low);\n});\ncljs.core.hash_double \x3d (function cljs$core$hash_double(f){\nvar arr \x3d (function (){var G__26966 \x3d (new Float64Array((1)));\n(G__26966[(0)] \x3d f);\n\nreturn G__26966;\n})();\nvar buf \x3d arr.buffer;\nvar high \x3d (new DataView(buf,(0),(4))).getInt32();\nvar low \x3d (new DataView(buf,(4),(4))).getInt32();\nreturn cljs.core.hash_long(high,low);\n});\ncljs.core.m3_hash_unencoded_chars \x3d (function cljs$core$m3_hash_unencoded_chars(in$){\nvar h1 \x3d (function (){var i \x3d (1);\nvar h1 \x3d cljs.core.m3_seed;\nwhile(true){\nif((i \x3c in$.length)){\nvar G__29712 \x3d (i + (2));\nvar G__29713 \x3d cljs.core.m3_mix_H1(h1,cljs.core.m3_mix_K1((in$.charCodeAt((i - (1))) | (in$.charCodeAt(i) \x3c\x3c (16)))));\ni \x3d G__29712;\nh1 \x3d G__29713;\ncontinue;\n} else {\nreturn h1;\n}\nbreak;\n}\n})();\nvar h1__$1 \x3d ((((in$.length \x26 (1)) \x3d\x3d\x3d (1)))?(h1 ^ cljs.core.m3_mix_K1(in$.charCodeAt((in$.length - (1))))):h1);\nreturn cljs.core.m3_fmix(h1__$1,cljs.core.imul((2),in$.length));\n});\n\n\n\ncljs.core.string_hash_cache \x3d ({});\ncljs.core.string_hash_cache_count \x3d (0);\ncljs.core.hash_string_STAR_ \x3d (function cljs$core$hash_string_STAR_(s){\nif((!((s \x3d\x3d null)))){\nvar len \x3d s.length;\nif((len \x3e (0))){\nvar i \x3d (0);\nvar hash \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__29727 \x3d (i + (1));\nvar G__29728 \x3d (cljs.core.imul((31),hash) + s.charCodeAt(i));\ni \x3d G__29727;\nhash \x3d G__29728;\ncontinue;\n} else {\nreturn hash;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.add_to_string_hash_cache \x3d (function cljs$core$add_to_string_hash_cache(k){\nvar h \x3d cljs.core.hash_string_STAR_(k);\ncljs.core.goog$module$goog$object.set(cljs.core.string_hash_cache,k,h);\n\n(cljs.core.string_hash_cache_count \x3d (cljs.core.string_hash_cache_count + (1)));\n\nreturn h;\n});\ncljs.core.hash_string \x3d (function cljs$core$hash_string(k){\nif((cljs.core.string_hash_cache_count \x3e (255))){\n(cljs.core.string_hash_cache \x3d ({}));\n\n(cljs.core.string_hash_cache_count \x3d (0));\n} else {\n}\n\nif((k \x3d\x3d null)){\nreturn (0);\n} else {\nvar h \x3d (cljs.core.string_hash_cache[k]);\nif(typeof h \x3d\x3d\x3d \x27number\x27){\nreturn h;\n} else {\nreturn cljs.core.add_to_string_hash_cache(k);\n}\n}\n});\n/**\n * Returns the hash code of its argument. Note this is the hash code\n * consistent with \x3d.\n */\ncljs.core.hash \x3d (function cljs$core$hash(o){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (4194304))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IHash$))))?true:false):false)){\nreturn (o.cljs$core$IHash$_hash$arity$1(null) ^ (0));\n} else {\nif(typeof o \x3d\x3d\x3d \x27number\x27){\nif(isFinite(o)){\nif((!(Number.isSafeInteger(o)))){\nreturn cljs.core.hash_double(o);\n} else {\nreturn (Math.floor(o) % (2147483647));\n}\n} else {\nvar G__26972 \x3d o;\nswitch (G__26972) {\ncase Infinity:\nreturn (2146435072);\n\nbreak;\ncase -Infinity:\nreturn (-1048576);\n\nbreak;\ndefault:\nreturn (2146959360);\n\n}\n}\n} else {\nif(o \x3d\x3d\x3d true){\nreturn (1231);\n} else {\nif(o \x3d\x3d\x3d false){\nreturn (1237);\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.m3_hash_int(cljs.core.hash_string(o));\n} else {\nif((o instanceof Date)){\nreturn (o.valueOf() ^ (0));\n} else {\nif((o \x3d\x3d null)){\nreturn (0);\n} else {\nreturn (cljs.core._hash(o) ^ (0));\n\n}\n}\n}\n}\n}\n}\n}\n});\ncljs.core.hash_combine \x3d (function cljs$core$hash_combine(seed,hash){\nreturn (seed ^ (((hash + (2654435769)) + (seed \x3c\x3c (6))) + (seed \x3e\x3e (2))));\n});\n/**\n * Evaluates x and tests if it is an instance of the type\n * c. Returns true or false\n */\ncljs.core.instance_QMARK_ \x3d (function cljs$core$instance_QMARK_(c,x){\nreturn (x instanceof c);\n});\n/**\n * Return true if x is a Symbol\n */\ncljs.core.symbol_QMARK_ \x3d (function cljs$core$symbol_QMARK_(x){\nreturn (x instanceof cljs.core.Symbol);\n});\ncljs.core.hash_symbol \x3d (function cljs$core$hash_symbol(sym){\nreturn cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(sym.name),cljs.core.hash_string(sym.ns));\n});\ncljs.core.compare_symbols \x3d (function cljs$core$compare_symbols(a,b){\nif((a.str \x3d\x3d\x3d b.str)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(a.ns);\nif(and__5023__auto__){\nreturn b.ns;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Symbol \x3d (function (ns,name,str,_hash,_meta){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.str \x3d str;\nthis._hash \x3d _hash;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2154168321;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Symbol.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.str;\n}));\n\n(cljs.core.Symbol.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Symbol)){\nreturn (self__.str \x3d\x3d\x3d other.str);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Symbol.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__26974 \x3d (arguments.length - (1));\nswitch (G__26974) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Symbol.prototype.apply \x3d (function (self__,args26973){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args26973)));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$2 ? cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym) : cljs.core.get.call(null,coll,sym));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar sym \x3d this;\nreturn (cljs.core.get.cljs$core$IFn$_invoke$arity$3 ? cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found) : cljs.core.get.call(null,coll,sym,not_found));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Symbol(self__.ns,self__.name,self__.str,self__._hash,new_meta));\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (sym){\nvar self__ \x3d this;\nvar sym__$1 \x3d this;\nvar h__5134__auto__ \x3d self__._hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_symbol(sym__$1);\n(self__._hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,self__.str);\n}));\n\n(cljs.core.Symbol.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Symbol.cljs$lang$type \x3d true);\n\n(cljs.core.Symbol.cljs$lang$ctorStr \x3d \x22cljs.core/Symbol\x22);\n\n(cljs.core.Symbol.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Symbol\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Symbol.\n */\ncljs.core.__GT_Symbol \x3d (function cljs$core$__GT_Symbol(ns,name,str,_hash,_meta){\nreturn (new cljs.core.Symbol(ns,name,str,_hash,_meta));\n});\n\n/**\n * Returns true if v is of type cljs.core.Var\n */\ncljs.core.var_QMARK_ \x3d (function cljs$core$var_QMARK_(v){\nreturn (v instanceof cljs.core.Var);\n});\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n * on strings, keywords, and vars.\n */\ncljs.core.symbol \x3d (function cljs$core$symbol(var_args){\nvar G__26976 \x3d arguments.length;\nswitch (G__26976) {\ncase 1:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nwhile(true){\nif((name instanceof cljs.core.Symbol)){\nreturn name;\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar idx \x3d name.indexOf(\x22/\x22);\nif((idx \x3c (1))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,name);\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(name.substring((0),idx),name.substring((idx + (1)),name.length));\n}\n} else {\nif(cljs.core.var_QMARK_(name)){\nreturn name.sym;\n} else {\nif((name instanceof cljs.core.Keyword)){\nvar G__29763 \x3d name.fqn;\nname \x3d G__29763;\ncontinue;\n} else {\nthrow (new Error(\x22no conversion to symbol\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar sym_str \x3d (((!((ns \x3d\x3d null))))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27):name);\nreturn (new cljs.core.Symbol(ns,name,sym_str,null,null));\n}));\n\n(cljs.core.symbol.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.Var \x3d (function (val,sym,_meta){\nthis.val \x3d val;\nthis.sym \x3d sym;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6717441;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Var.prototype.isMacro \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)).cljs$lang$macro;\n}));\n\n(cljs.core.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.sym)].join(\x27\x27);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Var(self__.val,self__.sym,new_meta));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.Var)){\nvar G__26978 \x3d this$__$1.sym;\nvar G__26979 \x3d other.sym;\nreturn (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 ? cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(G__26978,G__26979) : cljs.core._EQ_.call(null,G__26978,G__26979));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash_symbol(self__.sym);\n}));\n\n(cljs.core.Var.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__26980 \x3d (arguments.length - (1));\nswitch (G__26980) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((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)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((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)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((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)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((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)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((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)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((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)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((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)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((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)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Var.prototype.apply \x3d (function (self__,args26977){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args26977)));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26981 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26981.cljs$core$IFn$_invoke$arity$0 ? fexpr__26981.cljs$core$IFn$_invoke$arity$0() : fexpr__26981.call(null));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26982 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26982.cljs$core$IFn$_invoke$arity$1 ? fexpr__26982.cljs$core$IFn$_invoke$arity$1(a) : fexpr__26982.call(null,a));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26983 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26983.cljs$core$IFn$_invoke$arity$2 ? fexpr__26983.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__26983.call(null,a,b));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26984 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26984.cljs$core$IFn$_invoke$arity$3 ? fexpr__26984.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__26984.call(null,a,b,c));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26985 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26985.cljs$core$IFn$_invoke$arity$4 ? fexpr__26985.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__26985.call(null,a,b,c,d));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26986 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26986.cljs$core$IFn$_invoke$arity$5 ? fexpr__26986.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__26986.call(null,a,b,c,d,e));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26987 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26987.cljs$core$IFn$_invoke$arity$6 ? fexpr__26987.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__26987.call(null,a,b,c,d,e,f));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26988 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26988.cljs$core$IFn$_invoke$arity$7 ? fexpr__26988.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__26988.call(null,a,b,c,d,e,f,g));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26989 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26989.cljs$core$IFn$_invoke$arity$8 ? fexpr__26989.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__26989.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26990 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26990.cljs$core$IFn$_invoke$arity$9 ? fexpr__26990.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__26990.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26991 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26991.cljs$core$IFn$_invoke$arity$10 ? fexpr__26991.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__26991.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26992 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26992.cljs$core$IFn$_invoke$arity$11 ? fexpr__26992.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__26992.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26993 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26993.cljs$core$IFn$_invoke$arity$12 ? fexpr__26993.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__26993.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26994 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26994.cljs$core$IFn$_invoke$arity$13 ? fexpr__26994.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__26994.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26995 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26995.cljs$core$IFn$_invoke$arity$14 ? fexpr__26995.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__26995.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26996 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26996.cljs$core$IFn$_invoke$arity$15 ? fexpr__26996.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__26996.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26997 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26997.cljs$core$IFn$_invoke$arity$16 ? fexpr__26997.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__26997.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26998 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26998.cljs$core$IFn$_invoke$arity$17 ? fexpr__26998.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__26998.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__26999 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__26999.cljs$core$IFn$_invoke$arity$18 ? fexpr__26999.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__26999.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27000 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27000.cljs$core$IFn$_invoke$arity$19 ? fexpr__27000.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__27000.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar fexpr__27001 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nreturn (fexpr__27001.cljs$core$IFn$_invoke$arity$20 ? fexpr__27001.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__27001.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar G__27002 \x3d (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));\nvar G__27003 \x3d a;\nvar G__27004 \x3d b;\nvar G__27005 \x3d c;\nvar G__27006 \x3d d;\nvar G__27007 \x3d e;\nvar G__27008 \x3d f;\nvar G__27009 \x3d g;\nvar G__27010 \x3d h;\nvar G__27011 \x3d i;\nvar G__27012 \x3d j;\nvar G__27013 \x3d k;\nvar G__27014 \x3d l;\nvar G__27015 \x3d m;\nvar G__27016 \x3d n;\nvar G__27017 \x3d o;\nvar G__27018 \x3d p;\nvar G__27019 \x3d q;\nvar G__27020 \x3d r;\nvar G__27021 \x3d s;\nvar G__27022 \x3d t;\nvar G__27023 \x3d rest;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$21 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$21(G__27002,G__27003,G__27004,G__27005,G__27006,G__27007,G__27008,G__27009,G__27010,G__27011,G__27012,G__27013,G__27014,G__27015,G__27016,G__27017,G__27018,G__27019,G__27020,G__27021, new cljs.core.IndexedSeq([G__27022,G__27023],0,null)) : cljs.core.apply.call(null,G__27002,G__27003,G__27004,G__27005,G__27006,G__27007,G__27008,G__27009,G__27010,G__27011,G__27012,G__27013,G__27014,G__27015,G__27016,G__27017,G__27018,G__27019,G__27020,G__27021,G__27022,G__27023));\n}));\n\n(cljs.core.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.Var.cljs$lang$type \x3d true);\n\n(cljs.core.Var.cljs$lang$ctorStr \x3d \x22cljs.core/Var\x22);\n\n(cljs.core.Var.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Var\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Var.\n */\ncljs.core.__GT_Var \x3d (function cljs$core$__GT_Var(val,sym,_meta){\nreturn (new cljs.core.Var(val,sym,_meta));\n});\n\n\n\n/**\n * Return true if x implements IIterable protocol.\n */\ncljs.core.iterable_QMARK_ \x3d (function cljs$core$iterable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIterable$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);\n}\n});\n/**\n * Return true if x has a JavaScript iterator property\n */\ncljs.core.js_iterable_QMARK_ \x3d (function cljs$core$js_iterable_QMARK_(x){\nreturn (((!((x \x3d\x3d null)))) \x26\x26 ((!((x[cljs.core.ITER_SYMBOL] \x3d\x3d null)))));\n});\n/**\n * Clone the supplied value which must implement ICloneable.\n */\ncljs.core.clone \x3d (function cljs$core$clone(value){\nreturn cljs.core._clone(value);\n});\n/**\n * Return true if x implements ICloneable protocol.\n */\ncljs.core.cloneable_QMARK_ \x3d (function cljs$core$cloneable_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition1$ \x26 (8192))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$ICloneable$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);\n}\n});\n/**\n * Returns a seq on the collection. If the collection is\n * empty, returns nil. (seq nil) returns nil. seq also works on\n * Strings.\n */\ncljs.core.seq \x3d (function cljs$core$seq(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn coll.cljs$core$ISeqable$_seq$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif((coll.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nreturn (new cljs.core.IndexedSeq(coll,(0),null));\n}\n} else {\nif(cljs.core.js_iterable_QMARK_(coll)){\nvar G__27027 \x3d cljs.core.goog$module$goog$object.get(coll,cljs.core.ITER_SYMBOL).call(coll);\nreturn (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(G__27027) : cljs.core.es6_iterator_seq.call(null,G__27027));\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,coll)){\nreturn cljs.core._seq(coll);\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll),\x22 is not ISeqable\x22].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\n/**\n * Returns the first item in the collection. Calls seq on its\n * argument. If coll is nil, returns nil.\n */\ncljs.core.first \x3d (function cljs$core$first(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_first$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._first(s);\n}\n}\n}\n});\n/**\n * Returns a possibly empty seq of the items after the first. Calls seq on its\n * argument.\n */\ncljs.core.rest \x3d (function cljs$core$rest(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn coll.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nvar s \x3d cljs.core.seq(coll);\nif(s){\nreturn s.cljs$core$ISeq$_rest$arity$1(null);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a seq of the items after the first. Calls seq on its\n * argument. If there are no more items, returns nil\n */\ncljs.core.next \x3d (function cljs$core$next(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n}\n});\n/**\n * Equality. Returns true if x equals y, false if not. Compares\n * numbers and collections in a type-independent manner. Clojure\x27s immutable data\n * structures define -equiv (and thus \x3d) as a value, not an identity,\n * comparison.\n */\ncljs.core._EQ_ \x3d (function cljs$core$_EQ_(var_args){\nvar G__27035 \x3d arguments.length;\nswitch (G__27035) {\ncase 1:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___29829 \x3d arguments.length;\nvar i__5750__auto___29830 \x3d (0);\nwhile(true){\nif((i__5750__auto___29830 \x3c len__5749__auto___29829)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___29830]));\n\nvar G__29831 \x3d (i__5750__auto___29830 + (1));\ni__5750__auto___29830 \x3d G__29831;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nif((x \x3d\x3d null)){\nreturn (y \x3d\x3d null);\n} else {\nreturn (((x \x3d\x3d\x3d y)) || (cljs.core._equiv(x,y)));\n}\n}));\n\n(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\nif(cljs.core.next(more)){\nvar G__29839 \x3d y;\nvar G__29840 \x3d cljs.core.first(more);\nvar G__29841 \x3d cljs.core.next(more);\nx \x3d G__29839;\ny \x3d G__29840;\nmore \x3d G__29841;\ncontinue;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ_.cljs$lang$applyTo \x3d (function (seq27032){\nvar G__27033 \x3d cljs.core.first(seq27032);\nvar seq27032__$1 \x3d cljs.core.next(seq27032);\nvar G__27034 \x3d cljs.core.first(seq27032__$1);\nvar seq27032__$2 \x3d cljs.core.next(seq27032__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27033,G__27034,seq27032__$2);\n}));\n\n(cljs.core._EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6Iterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6Iterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: x, \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6Iterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6Iterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6Iterator\x22);\n\n(cljs.core.ES6Iterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6Iterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6Iterator.\n */\ncljs.core.__GT_ES6Iterator \x3d (function cljs$core$__GT_ES6Iterator(s){\nreturn (new cljs.core.ES6Iterator(s));\n});\n\n/**\n * Return a ES2015+ compatible iterator for coll.\n */\ncljs.core.es6_iterator \x3d (function cljs$core$es6_iterator(coll){\nreturn (new cljs.core.ES6Iterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n*/\ncljs.core.ES6IteratorSeq \x3d (function (value,iter,_rest){\nthis.value \x3d value;\nthis.iter \x3d iter;\nthis._rest \x3d _rest;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8388672;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.value;\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((self__._rest \x3d\x3d null)){\n(self__._rest \x3d (cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.es6_iterator_seq.cljs$core$IFn$_invoke$arity$1(self__.iter) : cljs.core.es6_iterator_seq.call(null,self__.iter)));\n} else {\n}\n\nreturn self__._rest;\n}));\n\n(cljs.core.ES6IteratorSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_rest\x22,\x22_rest\x22,-2100466189,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6IteratorSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ES6IteratorSeq\x22);\n\n(cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6IteratorSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6IteratorSeq.\n */\ncljs.core.__GT_ES6IteratorSeq \x3d (function cljs$core$__GT_ES6IteratorSeq(value,iter,_rest){\nreturn (new cljs.core.ES6IteratorSeq(value,iter,_rest));\n});\n\n/**\n * Given an ES2015+ compatible iterator return a seq.\n */\ncljs.core.es6_iterator_seq \x3d (function cljs$core$es6_iterator_seq(iter){\nvar v \x3d iter.next();\nif(cljs.core.truth_(v.done)){\nreturn null;\n} else {\nreturn (new cljs.core.ES6IteratorSeq(v.value,iter,null));\n}\n});\n/**\n * Mix final collection hash for ordered or unordered collections.\n * hash-basis is the combined collection hash, count is the number\n * of elements included in the basis. Note this is the hash code\n * consistent with \x3d, different from .hashCode.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.mix_collection_hash \x3d (function cljs$core$mix_collection_hash(hash_basis,count){\nvar h1 \x3d cljs.core.m3_seed;\nvar k1 \x3d cljs.core.m3_mix_K1(hash_basis);\nvar h1__$1 \x3d cljs.core.m3_mix_H1(h1,k1);\nreturn cljs.core.m3_fmix(h1__$1,count);\n});\n/**\n * Returns the hash code, consistent with \x3d, for an external ordered\n * collection implementing Iterable.\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_ordered_coll \x3d (function cljs$core$hash_ordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (1);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__29854 \x3d (n + (1));\nvar G__29855 \x3d ((cljs.core.imul((31),hash_code) + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__29856 \x3d cljs.core.next(coll__$1);\nn \x3d G__29854;\nhash_code \x3d G__29855;\ncoll__$1 \x3d G__29856;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_ordered_hash \x3d cljs.core.mix_collection_hash((1),(0));\n/**\n * Returns the hash code, consistent with \x3d, for an external unordered\n * collection implementing Iterable. For maps, the iterator should\n * return map entries whose hash is computed as\n * (hash-ordered-coll [k v]).\n * See http://clojure.org/data_structures#hash for full algorithms.\n */\ncljs.core.hash_unordered_coll \x3d (function cljs$core$hash_unordered_coll(coll){\nvar n \x3d (0);\nvar hash_code \x3d (0);\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__29860 \x3d (n + (1));\nvar G__29861 \x3d ((hash_code + cljs.core.hash(cljs.core.first(coll__$1))) | (0));\nvar G__29862 \x3d cljs.core.next(coll__$1);\nn \x3d G__29860;\nhash_code \x3d G__29861;\ncoll__$1 \x3d G__29862;\ncontinue;\n} else {\nreturn cljs.core.mix_collection_hash(hash_code,n);\n}\nbreak;\n}\n});\ncljs.core.empty_unordered_hash \x3d cljs.core.mix_collection_hash((0),(0));\n\n\n(cljs.core.ICounted[\x22null\x22] \x3d true);\n\n(cljs.core._count[\x22null\x22] \x3d (function (_){\nreturn (0);\n}));\n(Date.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar o__$1 \x3d this;\nreturn (((other instanceof Date)) \x26\x26 ((o__$1.valueOf() \x3d\x3d\x3d other.valueOf())));\n}));\n\n(Date.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof Date)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(this$__$1.valueOf(),other.valueOf());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n/**\n * @interface\n */\ncljs.core.Inst \x3d function(){};\n\nvar cljs$core$Inst$inst_ms_STAR_$dyn_29865 \x3d (function (inst){\nvar x__5373__auto__ \x3d (((inst \x3d\x3d null))?null:inst);\nvar m__5374__auto__ \x3d (cljs.core.inst_ms_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5374__auto__.call(null,inst));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.inst_ms_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__5372__auto__.call(null,inst));\n} else {\nthrow cljs.core.missing_protocol(\x22Inst.inst-ms*\x22,inst);\n}\n}\n});\ncljs.core.inst_ms_STAR_ \x3d (function cljs$core$inst_ms_STAR_(inst){\nif((((!((inst \x3d\x3d null)))) \x26\x26 ((!((inst.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d\x3d null)))))){\nreturn inst.cljs$core$Inst$inst_ms_STAR_$arity$1(inst);\n} else {\nreturn cljs$core$Inst$inst_ms_STAR_$dyn_29865(inst);\n}\n});\n\n(Date.prototype.cljs$core$Inst$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1 \x3d (function (inst){\nvar inst__$1 \x3d this;\nreturn inst__$1.getTime();\n}));\n/**\n * Return the number of milliseconds since January 1, 1970, 00:00:00 GMT\n */\ncljs.core.inst_ms \x3d (function cljs$core$inst_ms(inst){\nreturn cljs.core.inst_ms_STAR_(inst);\n});\n/**\n * Return true if x satisfies Inst\n */\ncljs.core.inst_QMARK_ \x3d (function cljs$core$inst_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$Inst$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);\n}\n});\n(cljs.core.IEquiv[\x22number\x22] \x3d true);\n\n(cljs.core._equiv[\x22number\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n(cljs.core.Fn[\x22function\x22] \x3d true);\n\n(cljs.core.IMeta[\x22function\x22] \x3d true);\n\n(cljs.core._meta[\x22function\x22] \x3d (function (_){\nreturn null;\n}));\n(cljs.core.IHash[\x22_\x22] \x3d true);\n\n(cljs.core._hash[\x22_\x22] \x3d (function (o){\nreturn goog.getUid(o);\n}));\n(cljs.core.IHash[\x22symbol\x22] \x3d true);\n\n(cljs.core._hash[\x22symbol\x22] \x3d (function (o){\nreturn cljs.core.hash(o.toString());\n}));\n/**\n * Returns a number one greater than num.\n */\ncljs.core.inc \x3d (function cljs$core$inc(x){\nreturn (x + (1));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Reduced \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (o){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Reduced.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.Reduced.cljs$lang$type \x3d true);\n\n(cljs.core.Reduced.cljs$lang$ctorStr \x3d \x22cljs.core/Reduced\x22);\n\n(cljs.core.Reduced.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Reduced\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Reduced.\n */\ncljs.core.__GT_Reduced \x3d (function cljs$core$__GT_Reduced(val){\nreturn (new cljs.core.Reduced(val));\n});\n\n/**\n * Wraps x in a way such that a reduce will terminate with the value x\n */\ncljs.core.reduced \x3d (function cljs$core$reduced(x){\nreturn (new cljs.core.Reduced(x));\n});\n/**\n * Returns true if x is the result of a call to reduced\n */\ncljs.core.reduced_QMARK_ \x3d (function cljs$core$reduced_QMARK_(r){\nreturn (r instanceof cljs.core.Reduced);\n});\n/**\n * If x is already reduced?, returns it, else returns (reduced x)\n */\ncljs.core.ensure_reduced \x3d (function cljs$core$ensure_reduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn x;\n} else {\nreturn cljs.core.reduced(x);\n}\n});\n/**\n * If x is reduced?, returns (deref x), else returns x\n */\ncljs.core.unreduced \x3d (function cljs$core$unreduced(x){\nif(cljs.core.reduced_QMARK_(x)){\nreturn (cljs.core.deref.cljs$core$IFn$_invoke$arity$1 ? cljs.core.deref.cljs$core$IFn$_invoke$arity$1(x) : cljs.core.deref.call(null,x));\n} else {\nreturn x;\n}\n});\n/**\n * Also reader macro: @var/@atom/@delay. Returns the\n * most-recently-committed value of ref. When applied to a var\n * or atom, returns its current state. When applied to a delay, forces\n * it if not already forced. See also - realized?.\n */\ncljs.core.deref \x3d (function cljs$core$deref(o){\nreturn cljs.core._deref(o);\n});\n/**\n * Accepts any collection which satisfies the ICount and IIndexed protocols and\n * reduces them without incurring seq initialization\n */\ncljs.core.ci_reduce \x3d (function cljs$core$ci_reduce(var_args){\nvar G__27038 \x3d arguments.length;\nswitch (G__27038) {\ncase 2:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (cicoll,f){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nif((cnt \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27039 \x3d val;\nvar G__27040 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27039,G__27040) : f.call(null,G__27039,G__27040));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29874 \x3d nval;\nvar G__29875 \x3d (n + (1));\nval \x3d G__29874;\nn \x3d G__29875;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (cicoll,f,val){\nvar cnt \x3d cicoll.cljs$core$ICounted$_count$arity$1(null);\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27041 \x3d val__$1;\nvar G__27042 \x3d cicoll.cljs$core$IIndexed$_nth$arity$2(null,n);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27041,G__27042) : f.call(null,G__27041,G__27042));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29879 \x3d nval;\nvar G__29880 \x3d (n + (1));\nval__$1 \x3d G__29879;\nn \x3d G__29880;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ci_reduce.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.array_reduce \x3d (function cljs$core$array_reduce(var_args){\nvar G__27044 \x3d arguments.length;\nswitch (G__27044) {\ncase 2:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,f){\nvar cnt \x3d arr.length;\nif((arr.length \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar val \x3d (arr[(0)]);\nvar n \x3d (1);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27045 \x3d val;\nvar G__27046 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27045,G__27046) : f.call(null,G__27045,G__27046));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29882 \x3d nval;\nvar G__29883 \x3d (n + (1));\nval \x3d G__29882;\nn \x3d G__29883;\ncontinue;\n}\n} else {\nreturn val;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,f,val){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d (0);\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27047 \x3d val__$1;\nvar G__27048 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27047,G__27048) : f.call(null,G__27047,G__27048));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29884 \x3d nval;\nvar G__29885 \x3d (n + (1));\nval__$1 \x3d G__29884;\nn \x3d G__29885;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (arr,f,val,idx){\nvar cnt \x3d arr.length;\nvar val__$1 \x3d val;\nvar n \x3d idx;\nwhile(true){\nif((n \x3c cnt)){\nvar nval \x3d (function (){var G__27049 \x3d val__$1;\nvar G__27050 \x3d (arr[n]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27049,G__27050) : f.call(null,G__27049,G__27050));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__29886 \x3d nval;\nvar G__29887 \x3d (n + (1));\nval__$1 \x3d G__29886;\nn \x3d G__29887;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.array_reduce.cljs$lang$maxFixedArity \x3d 4);\n\n\n\n\n\n\n\n/**\n * Returns true if coll implements count in constant time\n */\ncljs.core.counted_QMARK_ \x3d (function cljs$core$counted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICounted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);\n}\n});\n/**\n * Returns true if coll implements nth in constant time\n */\ncljs.core.indexed_QMARK_ \x3d (function cljs$core$indexed_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IIndexed$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);\n}\n});\ncljs.core._indexOf \x3d (function cljs$core$_indexOf(var_args){\nvar G__27054 \x3d arguments.length;\nswitch (G__27054) {\ncase 2:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n}));\n\n(cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((start \x3e\x3d len)){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?start:(((start \x3c (0)))?(function (){var x__5110__auto__ \x3d (0);\nvar y__5111__auto__ \x3d (start + len);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})():start\n));\nwhile(true){\nif((idx \x3c len)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__29893 \x3d (idx + (1));\nidx \x3d G__29893;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._indexOf.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core._lastIndexOf \x3d (function cljs$core$_lastIndexOf(var_args){\nvar G__27056 \x3d arguments.length;\nswitch (G__27056) {\ncase 2:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n}));\n\n(cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,x,start){\nvar len \x3d (cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll));\nif((len \x3d\x3d\x3d (0))){\nreturn (-1);\n} else {\nvar idx \x3d (((start \x3e (0)))?(function (){var x__5113__auto__ \x3d (len - (1));\nvar y__5114__auto__ \x3d start;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})():(((start \x3c (0)))?(len + start):start\n));\nwhile(true){\nif((idx \x3e\x3d (0))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((cljs.core.nth.cljs$core$IFn$_invoke$arity$2 ? cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx) : cljs.core.nth.call(null,coll,idx)),x)){\nreturn idx;\n} else {\nvar G__29899 \x3d (idx - (1));\nidx \x3d G__29899;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core._lastIndexOf.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.IndexedSeqIterator \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.IndexedSeqIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.IndexedSeqIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.IndexedSeqIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IndexedSeqIterator.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeqIterator\x22);\n\n(cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IndexedSeqIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeqIterator.\n */\ncljs.core.__GT_IndexedSeqIterator \x3d (function cljs$core$__GT_IndexedSeqIterator(arr,i){\nreturn (new cljs.core.IndexedSeqIterator(arr,i));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IndexedSeq \x3d (function (arr,i,meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166592766;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 401408;\n});\n(cljs.core.IndexedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IndexedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IndexedSeq.prototype.indexOf \x3d (function() {\nvar G__29904 \x3d null;\nvar G__29904__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__29904__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__29904 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__29904__1.call(this,x);\ncase 2:\nreturn G__29904__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29904.cljs$core$IFn$_invoke$arity$1 \x3d G__29904__1;\nG__29904.cljs$core$IFn$_invoke$arity$2 \x3d G__29904__2;\nreturn G__29904;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__29906 \x3d null;\nvar G__29906__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__29906__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__29906 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__29906__1.call(this,x);\ncase 2:\nreturn G__29906__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29906.cljs$core$IFn$_invoke$arity$1 \x3d G__29906__1;\nG__29906.cljs$core$IFn$_invoke$arity$2 \x3d G__29906__2;\nreturn G__29906;\n})()\n);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i__$1 \x3d (n + self__.i);\nif(((((0) \x3c\x3d i__$1)) \x26\x26 ((i__$1 \x3c self__.arr.length)))){\nreturn (self__.arr[i__$1]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.IndexedSeqIterator(self__.arr,self__.i));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,self__.meta));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar x__5110__auto__ \x3d (0);\nvar y__5111__auto__ \x3d (self__.arr.length - self__.i);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar c \x3d coll__$1.cljs$core$ICounted$_count$arity$1(null);\nif((c \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(c - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.i]),(self__.i + (1)));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.i);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.arr[self__.i]);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((self__.i + (1)) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.i \x3c self__.arr.length)){\nreturn this$__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.IndexedSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3e (0))){\nif(((self__.i + n) \x3c self__.arr.length)){\nreturn (new cljs.core.IndexedSeq(self__.arr,(self__.i + n),null));\n} else {\nreturn null;\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.IndexedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.IndexedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/IndexedSeq\x22);\n\n(cljs.core.IndexedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IndexedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IndexedSeq.\n */\ncljs.core.__GT_IndexedSeq \x3d (function cljs$core$__GT_IndexedSeq(arr,i,meta){\nreturn (new cljs.core.IndexedSeq(arr,i,meta));\n});\n\n(cljs.core.IndexedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Create seq from a primitive JavaScript Array-like.\n */\ncljs.core.prim_seq \x3d (function cljs$core$prim_seq(var_args){\nvar G__27058 \x3d arguments.length;\nswitch (G__27058) {\ncase 1:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (prim){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(prim,(0));\n}));\n\n(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (prim,i){\nif((i \x3c prim.length)){\nreturn (new cljs.core.IndexedSeq(prim,i,null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prim_seq.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Create a seq from a JavaScript array.\n */\ncljs.core.array_seq \x3d (function cljs$core$array_seq(var_args){\nvar G__27060 \x3d arguments.length;\nswitch (G__27060) {\ncase 1:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (array){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,(0));\n}));\n\n(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (array,i){\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,i);\n}));\n\n(cljs.core.array_seq.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RSeq \x3d (function (ci,i,meta){\nthis.ci \x3d ci;\nthis.i \x3d i;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.RSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.RSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.RSeq.prototype.indexOf \x3d (function() {\nvar G__29918 \x3d null;\nvar G__29918__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__29918__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__29918 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__29918__1.call(this,x);\ncase 2:\nreturn G__29918__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29918.cljs$core$IFn$_invoke$arity$1 \x3d G__29918__1;\nG__29918.cljs$core$IFn$_invoke$arity$2 \x3d G__29918__2;\nreturn G__29918;\n})()\n);\n\n(cljs.core.RSeq.prototype.lastIndexOf \x3d (function() {\nvar G__29919 \x3d null;\nvar G__29919__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(cljs.core.count.cljs$core$IFn$_invoke$arity$1 ? cljs.core.count.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.count.call(null,coll)));\n});\nvar G__29919__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__29919 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__29919__1.call(this,x);\ncase 2:\nreturn G__29919__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__29919.cljs$core$IFn$_invoke$arity$1 \x3d G__29919__1;\nG__29919.cljs$core$IFn$_invoke$arity$2 \x3d G__29919__2;\nreturn G__29919;\n})()\n);\n\n(cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RSeq(self__.ci,self__.i,self__.meta));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.i + (1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2 ? cljs.core.equiv_sequential.cljs$core$IFn$_invoke$arity$2(coll__$1,other) : cljs.core.equiv_sequential.call(null,coll__$1,other));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (col,f){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,col__$1) : cljs.core.seq_reduce.call(null,f,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (col,f,start){\nvar self__ \x3d this;\nvar col__$1 \x3d this;\nreturn (cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,col__$1) : cljs.core.seq_reduce.call(null,f,start,col__$1));\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.ci,self__.i);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3e (0))){\nreturn (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.RSeq(self__.ci,self__.i,new_meta));\n}\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.cons.cljs$core$IFn$_invoke$arity$2 ? cljs.core.cons.cljs$core$IFn$_invoke$arity$2(o,coll__$1) : cljs.core.cons.call(null,o,coll__$1));\n}));\n\n(cljs.core.RSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ci\x22,\x22ci\x22,2049808339,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.RSeq.cljs$lang$type \x3d true);\n\n(cljs.core.RSeq.cljs$lang$ctorStr \x3d \x22cljs.core/RSeq\x22);\n\n(cljs.core.RSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RSeq.\n */\ncljs.core.__GT_RSeq \x3d (function cljs$core$__GT_RSeq(ci,i,meta){\nreturn (new cljs.core.RSeq(ci,i,meta));\n});\n\n(cljs.core.RSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Same as (first (next x))\n */\ncljs.core.second \x3d (function cljs$core$second(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (first (first x))\n */\ncljs.core.ffirst \x3d (function cljs$core$ffirst(coll){\nreturn cljs.core.first(cljs.core.first(coll));\n});\n/**\n * Same as (next (first x))\n */\ncljs.core.nfirst \x3d (function cljs$core$nfirst(coll){\nreturn cljs.core.next(cljs.core.first(coll));\n});\n/**\n * Same as (first (next x))\n */\ncljs.core.fnext \x3d (function cljs$core$fnext(coll){\nreturn cljs.core.first(cljs.core.next(coll));\n});\n/**\n * Same as (next (next x))\n */\ncljs.core.nnext \x3d (function cljs$core$nnext(coll){\nreturn cljs.core.next(cljs.core.next(coll));\n});\n/**\n * Return the last item in coll, in linear time\n */\ncljs.core.last \x3d (function cljs$core$last(s){\nwhile(true){\nvar sn \x3d cljs.core.next(s);\nif((!((sn \x3d\x3d null)))){\nvar G__29928 \x3d sn;\ns \x3d G__29928;\ncontinue;\n} else {\nreturn cljs.core.first(s);\n}\nbreak;\n}\n});\n(cljs.core.IEquiv[\x22_\x22] \x3d true);\n\n(cljs.core._equiv[\x22_\x22] \x3d (function (x,o){\nreturn (x \x3d\x3d\x3d o);\n}));\n/**\n * conj[oin]. Returns a new collection with the xs\n * \x27added\x27. (conj nil item) returns (item).\n * (conj coll) returns coll. (conj) returns [].\n * The \x27addition\x27 may happen at different \x27places\x27 depending\n * on the concrete type.\n */\ncljs.core.conj \x3d (function cljs$core$conj(var_args){\nvar G__27065 \x3d arguments.length;\nswitch (G__27065) {\ncase 0:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___29931 \x3d arguments.length;\nvar i__5750__auto___29932 \x3d (0);\nwhile(true){\nif((i__5750__auto___29932 \x3c len__5749__auto___29931)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___29932]));\n\nvar G__29933 \x3d (i__5750__auto___29932 + (1));\ni__5750__auto___29932 \x3d G__29933;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,x){\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._conj(coll,x);\n} else {\nreturn (new cljs.core.List(null,x,null,(1),null));\n}\n}));\n\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,x,xs){\nwhile(true){\nif(cljs.core.truth_(xs)){\nvar G__29937 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\nvar G__29938 \x3d cljs.core.first(xs);\nvar G__29939 \x3d cljs.core.next(xs);\ncoll \x3d G__29937;\nx \x3d G__29938;\nxs \x3d G__29939;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj.cljs$lang$applyTo \x3d (function (seq27062){\nvar G__27063 \x3d cljs.core.first(seq27062);\nvar seq27062__$1 \x3d cljs.core.next(seq27062);\nvar G__27064 \x3d cljs.core.first(seq27062__$1);\nvar seq27062__$2 \x3d cljs.core.next(seq27062__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27063,G__27064,seq27062__$2);\n}));\n\n(cljs.core.conj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns an empty collection of the same category as coll, or nil\n */\ncljs.core.empty \x3d (function cljs$core$empty(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:false):false)){\nreturn coll.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IEmptyableCollection$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEmptyableCollection,coll))){\nreturn cljs.core._empty(coll);\n} else {\nreturn null;\n\n}\n}\n}\n});\ncljs.core.accumulating_seq_count \x3d (function cljs$core$accumulating_seq_count(coll){\nvar s \x3d cljs.core.seq(coll);\nvar acc \x3d (0);\nwhile(true){\nif(cljs.core.counted_QMARK_(s)){\nreturn (acc + cljs.core._count(s));\n} else {\nvar G__29943 \x3d cljs.core.next(s);\nvar G__29944 \x3d (acc + (1));\ns \x3d G__29943;\nacc \x3d G__29944;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Returns the number of items in the collection. (count nil) returns\n * 0. Also works on strings, arrays, and Maps\n */\ncljs.core.count \x3d (function cljs$core$count(coll){\nif((!((coll \x3d\x3d null)))){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:false):false)){\nreturn coll.cljs$core$ICounted$_count$arity$1(null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn coll.length;\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn coll.length;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeqable$))))?true:false):false)){\nreturn cljs.core.accumulating_seq_count(coll);\n} else {\nreturn cljs.core._count(coll);\n\n}\n}\n}\n}\n} else {\nreturn (0);\n}\n});\ncljs.core.linear_traversal_nth \x3d (function cljs$core$linear_traversal_nth(var_args){\nvar G__27071 \x3d arguments.length;\nswitch (G__27071) {\ncase 2:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nwhile(true){\nif((coll \x3d\x3d null)){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nif(cljs.core.seq(coll)){\nvar G__29949 \x3d cljs.core.next(coll);\nvar G__29950 \x3d (n - (1));\ncoll \x3d G__29949;\nn \x3d G__29950;\ncontinue;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((n \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\nreturn cljs.core.first(coll);\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.indexed_QMARK_(coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nif(cljs.core.seq(coll)){\nvar G__29952 \x3d cljs.core.next(coll);\nvar G__29953 \x3d (n - (1));\nvar G__29954 \x3d not_found;\ncoll \x3d G__29952;\nn \x3d G__29953;\nnot_found \x3d G__29954;\ncontinue;\n} else {\nreturn not_found;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the value at the index. get returns nil if index out of\n * bounds, nth throws an exception unless not-found is supplied. nth\n * also works for strings, arrays, regex Matchers and Lists, and,\n * in O(n) time, for sequences.\n */\ncljs.core.nth \x3d (function cljs$core$nth(var_args){\nvar G__27073 \x3d arguments.length;\nswitch (G__27073) {\ncase 2:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,n){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn coll;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n} else {\nif((function (){var or__5025__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(coll,n);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,n,not_found){\nif((!(typeof n \x3d\x3d\x3d \x27number\x27))){\nthrow (new Error(\x22Index argument to nth must be a number.\x22));\n} else {\nif((coll \x3d\x3d null)){\nreturn not_found;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IIndexed$))))?true:false):false)){\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,n,not_found);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn (coll[(n | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nif(((((-1) \x3c n)) \x26\x26 ((n \x3c coll.length)))){\nreturn coll.charAt((n | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif((function (){var or__5025__auto__ \x3d (((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISequential$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif((n \x3c (0))){\nreturn not_found;\n} else {\nreturn cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){\nreturn cljs.core._nth(coll,n,not_found);\n} else {\nthrow (new Error([\x22nth not supported on this type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.nth.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the nth rest of coll, coll when n is 0.\n */\ncljs.core.nthrest \x3d (function cljs$core$nthrest(coll,n){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition1$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IDrop$))))?true:false):false)){\nif((n \x3e (0))){\nvar or__5025__auto__ \x3d coll.cljs$core$IDrop$_drop$arity$2(null,Math.ceil(n));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn coll;\n}\n} else {\nvar n__$1 \x3d n;\nvar xs \x3d coll;\nwhile(true){\nvar temp__5821__auto__ \x3d (((n__$1 \x3e (0))) \x26\x26 (cljs.core.seq(xs)));\nif(temp__5821__auto__){\nvar xs__$1 \x3d temp__5821__auto__;\nvar G__29970 \x3d (n__$1 - (1));\nvar G__29971 \x3d cljs.core.rest(xs__$1);\nn__$1 \x3d G__29970;\nxs \x3d G__29971;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n}\n});\n/**\n * Returns the value mapped to key, not-found or nil if key not present\n * in associative collection, set, string, array, or ILookup instance.\n */\ncljs.core.get \x3d (function cljs$core$get(var_args){\nvar G__27082 \x3d arguments.length;\nswitch (G__27082) {\ncase 2:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$2 \x3d (function (o,k){\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$2(null,k);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 ((k \x3c o.length)))){\nreturn (o[(k | (0))]);\n} else {\nreturn null;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k);\n} else {\nreturn null;\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.get.cljs$core$IFn$_invoke$arity$3 \x3d (function (o,k,not_found){\nif((!((o \x3d\x3d null)))){\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (256))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$ILookup$))))?true:false):false)){\nreturn o.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n} else {\nif(cljs.core.array_QMARK_(o)){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn (o[(k | (0))]);\n} else {\nreturn not_found;\n}\n} else {\nif(typeof o \x3d\x3d\x3d \x27string\x27){\nif((((!((k \x3d\x3d null)))) \x26\x26 (((((-1) \x3c k)) \x26\x26 ((k \x3c o.length)))))){\nreturn o.charAt((k | (0)));\n} else {\nreturn not_found;\n}\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){\nreturn cljs.core._lookup(o,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}\n}\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.get.cljs$lang$maxFixedArity \x3d 3);\n\n\n\n/**\n * assoc[iate]. When applied to a map, returns a new map of the\n * same (hashed/sorted) type, that contains the mapping of key(s) to\n * val(s). When applied to a vector, returns a new vector that\n * contains val at index. Note - index must be \x3c\x3d (count vector).\n */\ncljs.core.assoc \x3d (function cljs$core$assoc(var_args){\nvar G__27090 \x3d arguments.length;\nswitch (G__27090) {\ncase 3:\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___29974 \x3d arguments.length;\nvar i__5750__auto___29975 \x3d (0);\nwhile(true){\nif((i__5750__auto___29975 \x3c len__5749__auto___29974)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___29975]));\n\nvar G__29976 \x3d (i__5750__auto___29975 + (1));\ni__5750__auto___29975 \x3d G__29976;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,k,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_assoc$arity$3(null,k,v);\n} else {\nif((!((coll \x3d\x3d null)))){\nreturn cljs.core._assoc(coll,k,v);\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([k,v]);\n}\n}\n}));\n\n(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,v,kvs){\nwhile(true){\nvar ret \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(coll,k,v);\nif(cljs.core.truth_(kvs)){\nvar G__29977 \x3d ret;\nvar G__29978 \x3d cljs.core.first(kvs);\nvar G__29979 \x3d cljs.core.second(kvs);\nvar G__29980 \x3d cljs.core.nnext(kvs);\ncoll \x3d G__29977;\nk \x3d G__29978;\nv \x3d G__29979;\nkvs \x3d G__29980;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc.cljs$lang$applyTo \x3d (function (seq27086){\nvar G__27087 \x3d cljs.core.first(seq27086);\nvar seq27086__$1 \x3d cljs.core.next(seq27086);\nvar G__27088 \x3d cljs.core.first(seq27086__$1);\nvar seq27086__$2 \x3d cljs.core.next(seq27086__$1);\nvar G__27089 \x3d cljs.core.first(seq27086__$2);\nvar seq27086__$3 \x3d cljs.core.next(seq27086__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27087,G__27088,G__27089,seq27086__$3);\n}));\n\n(cljs.core.assoc.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * dissoc[iate]. Returns a new map of the same (hashed/sorted) type,\n * that does not contain a mapping for key(s).\n */\ncljs.core.dissoc \x3d (function cljs$core$dissoc(var_args){\nvar G__27096 \x3d arguments.length;\nswitch (G__27096) {\ncase 1:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___29982 \x3d arguments.length;\nvar i__5750__auto___29983 \x3d (0);\nwhile(true){\nif((i__5750__auto___29983 \x3c len__5749__auto___29982)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___29983]));\n\nvar G__29984 \x3d (i__5750__auto___29983 + (1));\ni__5750__auto___29983 \x3d G__29984;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._dissoc(coll,k);\n}\n}));\n\n(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__29985 \x3d ret;\nvar G__29986 \x3d cljs.core.first(ks);\nvar G__29987 \x3d cljs.core.next(ks);\ncoll \x3d G__29985;\nk \x3d G__29986;\nks \x3d G__29987;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc.cljs$lang$applyTo \x3d (function (seq27093){\nvar G__27094 \x3d cljs.core.first(seq27093);\nvar seq27093__$1 \x3d cljs.core.next(seq27093);\nvar G__27095 \x3d cljs.core.first(seq27093__$1);\nvar seq27093__$2 \x3d cljs.core.next(seq27093__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27094,G__27095,seq27093__$2);\n}));\n\n(cljs.core.dissoc.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return true if f is a JavaScript function or satisfies the Fn protocol.\n */\ncljs.core.fn_QMARK_ \x3d (function cljs$core$fn_QMARK_(f){\nvar or__5025__auto__ \x3d typeof f \x3d\x3d\x3d \x27function\x27;\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$Fn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.Fn}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.MetaFn \x3d (function (afn,meta){\nthis.afn \x3d afn;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393217;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,new_meta){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.MetaFn(self__.afn,new_meta));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$Fn$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MetaFn.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27099 \x3d (arguments.length - (1));\nswitch (G__27099) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((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)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((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)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((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)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((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)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((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)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((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)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((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)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((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)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MetaFn.prototype.apply \x3d (function (self__,args27098){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27098)));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (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));\n}));\n\n(cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$21 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$21(self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s, new cljs.core.IndexedSeq([t,rest],0,null)) : cljs.core.apply.call(null,self__.afn,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));\n}));\n\n(cljs.core.MetaFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22afn\x22,\x22afn\x22,216963467,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.MetaFn.cljs$lang$type \x3d true);\n\n(cljs.core.MetaFn.cljs$lang$ctorStr \x3d \x22cljs.core/MetaFn\x22);\n\n(cljs.core.MetaFn.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MetaFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MetaFn.\n */\ncljs.core.__GT_MetaFn \x3d (function cljs$core$__GT_MetaFn(afn,meta){\nreturn (new cljs.core.MetaFn(afn,meta));\n});\n\n/**\n * Returns an object of the same type and value as obj, with\n * map m as its metadata.\n */\ncljs.core.with_meta \x3d (function cljs$core$with_meta(o,meta){\nif(typeof o \x3d\x3d\x3d \x27function\x27){\nreturn (new cljs.core.MetaFn(o,meta));\n} else {\nif((o \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._with_meta(o,meta);\n}\n}\n});\n/**\n * Returns the metadata of obj, returns nil if there is no metadata.\n */\ncljs.core.meta \x3d (function cljs$core$meta(o){\nif((function (){var and__5023__auto__ \x3d (!((o \x3d\x3d null)));\nif(and__5023__auto__){\nif((!((o \x3d\x3d null)))){\nif((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$)))){\nreturn true;\n} else {\nif((!o.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);\n}\n} else {\nreturn and__5023__auto__;\n}\n})()){\nreturn cljs.core._meta(o);\n} else {\nreturn null;\n}\n});\n/**\n * For a list or queue, same as first, for a vector, same as, but much\n * more efficient than, last. If the collection is empty, returns nil.\n */\ncljs.core.peek \x3d (function cljs$core$peek(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._peek(coll);\n}\n});\n/**\n * For a list or queue, returns a new list/queue without the first\n * item, for a vector, returns a new vector without the last item.\n * Note - not the same as next/butlast.\n */\ncljs.core.pop \x3d (function cljs$core$pop(coll){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._pop(coll);\n}\n});\n/**\n * disj[oin]. Returns a new set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj \x3d (function cljs$core$disj(var_args){\nvar G__27105 \x3d arguments.length;\nswitch (G__27105) {\ncase 1:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___29994 \x3d arguments.length;\nvar i__5750__auto___29995 \x3d (0);\nwhile(true){\nif((i__5750__auto___29995 \x3c len__5749__auto___29994)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___29995]));\n\nvar G__29996 \x3d (i__5750__auto___29995 + (1));\ni__5750__auto___29995 \x3d G__29996;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn coll;\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,k){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._disjoin(coll,k);\n}\n}));\n\n(cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,k,ks){\nwhile(true){\nif((coll \x3d\x3d null)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,k);\nif(cljs.core.truth_(ks)){\nvar G__30003 \x3d ret;\nvar G__30004 \x3d cljs.core.first(ks);\nvar G__30005 \x3d cljs.core.next(ks);\ncoll \x3d G__30003;\nk \x3d G__30004;\nks \x3d G__30005;\ncontinue;\n} else {\nreturn ret;\n}\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj.cljs$lang$applyTo \x3d (function (seq27102){\nvar G__27103 \x3d cljs.core.first(seq27102);\nvar seq27102__$1 \x3d cljs.core.next(seq27102);\nvar G__27104 \x3d cljs.core.first(seq27102__$1);\nvar seq27102__$2 \x3d cljs.core.next(seq27102__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27103,G__27104,seq27102__$2);\n}));\n\n(cljs.core.disj.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if coll has no items. To check the emptiness of a seq,\n * please use the idiom (seq x) rather than (not (empty? x))\n */\ncljs.core.empty_QMARK_ \x3d (function cljs$core$empty_QMARK_(coll){\nif((coll \x3d\x3d null)){\nreturn true;\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (2))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ICounted$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,coll))){\nreturn (cljs.core._count(coll) \x3d\x3d\x3d (0));\n} else {\nreturn cljs.core.not(cljs.core.seq(coll));\n\n}\n}\n});\n/**\n * Returns true if x satisfies ICollection\n */\ncljs.core.coll_QMARK_ \x3d (function cljs$core$coll_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (8))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ICollection$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);\n}\n}\n});\n/**\n * Returns true if x satisfies ISet\n */\ncljs.core.set_QMARK_ \x3d (function cljs$core$set_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);\n}\n}\n});\n/**\n * Returns true if coll implements IAssociative\n */\ncljs.core.associative_QMARK_ \x3d (function cljs$core$associative_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IAssociative$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);\n}\n});\n/**\n * Returns true if coll implements IFind\n */\ncljs.core.ifind_QMARK_ \x3d (function cljs$core$ifind_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IFind$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);\n}\n});\n/**\n * Returns true if coll satisfies ISequential\n */\ncljs.core.sequential_QMARK_ \x3d (function cljs$core$sequential_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);\n}\n});\n/**\n * Returns true if coll satisfies ISorted\n */\ncljs.core.sorted_QMARK_ \x3d (function cljs$core$sorted_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (268435456))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISorted$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);\n}\n});\n/**\n * Returns true if coll satisfies IReduce\n */\ncljs.core.reduceable_QMARK_ \x3d (function cljs$core$reduceable_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IReduce$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);\n}\n});\n/**\n * Return true if x satisfies IMap\n */\ncljs.core.map_QMARK_ \x3d (function cljs$core$map_QMARK_(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);\n}\n}\n});\n/**\n * Return true if x satisfies IRecord\n */\ncljs.core.record_QMARK_ \x3d (function cljs$core$record_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);\n}\n});\n/**\n * Return true if x satisfies IVector\n */\ncljs.core.vector_QMARK_ \x3d (function cljs$core$vector_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IVector$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);\n}\n});\n\n/**\n * Return true if x satisfies IChunkedSeq.\n */\ncljs.core.chunked_seq_QMARK_ \x3d (function cljs$core$chunked_seq_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition1$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IChunkedSeq$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Create JavaSript object from an even number arguments representing\n * interleaved keys and values.\n */\ncljs.core.js_obj \x3d (function cljs$core$js_obj(var_args){\nvar G__27120 \x3d arguments.length;\nswitch (G__27120) {\ncase 0:\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30007 \x3d arguments.length;\nvar i__5750__auto___30008 \x3d (0);\nwhile(true){\nif((i__5750__auto___30008 \x3c len__5749__auto___30007)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30008]));\n\nvar G__30009 \x3d (i__5750__auto___30008 + (1));\ni__5750__auto___30008 \x3d G__30009;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((0) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn ({});\n}));\n\n(cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2 ? cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.goog$module$goog$object.create,keyvals) : cljs.core.apply.call(null,cljs.core.goog$module$goog$object.create,keyvals));\n}));\n\n/** @this {Function} */\n(cljs.core.js_obj.cljs$lang$applyTo \x3d (function (seq27119){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27119));\n}));\n\n(cljs.core.js_obj.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Return the JavaScript keys for an object.\n */\ncljs.core.js_keys \x3d (function cljs$core$js_keys(obj){\nreturn cljs.core.goog$module$goog$object.getKeys(obj);\n});\n/**\n * Delete a property from a JavaScript object.\n * Returns true upon success, false otherwise.\n */\ncljs.core.js_delete \x3d (function cljs$core$js_delete(obj,key){\nreturn delete obj[key];\n});\ncljs.core.array_copy \x3d (function cljs$core$array_copy(from,i,to,j,len){\nvar i__$1 \x3d i;\nvar j__$1 \x3d j;\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__30010 \x3d (i__$1 + (1));\nvar G__30011 \x3d (j__$1 + (1));\nvar G__30012 \x3d (len__$1 - (1));\ni__$1 \x3d G__30010;\nj__$1 \x3d G__30011;\nlen__$1 \x3d G__30012;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.array_copy_downward \x3d (function cljs$core$array_copy_downward(from,i,to,j,len){\nvar i__$1 \x3d (i + (len - (1)));\nvar j__$1 \x3d (j + (len - (1)));\nvar len__$1 \x3d len;\nwhile(true){\nif((len__$1 \x3d\x3d\x3d (0))){\nreturn to;\n} else {\n(to[j__$1] \x3d (from[i__$1]));\n\nvar G__30013 \x3d (i__$1 - (1));\nvar G__30014 \x3d (j__$1 - (1));\nvar G__30015 \x3d (len__$1 - (1));\ni__$1 \x3d G__30013;\nj__$1 \x3d G__30014;\nlen__$1 \x3d G__30015;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.lookup_sentinel \x3d ({});\n/**\n * Returns true if x is the value false, false otherwise.\n */\ncljs.core.false_QMARK_ \x3d (function cljs$core$false_QMARK_(x){\nreturn x \x3d\x3d\x3d false;\n});\n/**\n * Returns true if x is the value true, false otherwise.\n */\ncljs.core.true_QMARK_ \x3d (function cljs$core$true_QMARK_(x){\nreturn x \x3d\x3d\x3d true;\n});\n/**\n * Return true if x is a Boolean\n */\ncljs.core.boolean_QMARK_ \x3d (function cljs$core$boolean_QMARK_(x){\nreturn ((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false));\n});\n/**\n * Returns true if x identical to the JavaScript undefined value.\n */\ncljs.core.undefined_QMARK_ \x3d (function cljs$core$undefined_QMARK_(x){\nreturn (void 0 \x3d\x3d\x3d x);\n});\n/**\n * Return true if s satisfies ISeq\n */\ncljs.core.seq_QMARK_ \x3d (function cljs$core$seq_QMARK_(s){\nif((s \x3d\x3d null)){\nreturn false;\n} else {\nif((!((s \x3d\x3d null)))){\nif((((s.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$ISeq$)))){\nreturn true;\n} else {\nif((!s.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);\n}\n}\n});\n/**\n * Return true if the seq function is supported for s\n */\ncljs.core.seqable_QMARK_ \x3d (function cljs$core$seqable_QMARK_(s){\nvar or__5025__auto__ \x3d (s \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn ((cljs.core.js_iterable_QMARK_(s)) || (((cljs.core.array_QMARK_(s)) || (typeof s \x3d\x3d\x3d \x27string\x27))));\n}\n}\n});\n/**\n * Coerce to boolean\n */\ncljs.core.boolean$ \x3d (function cljs$core$boolean(x){\nif((x \x3d\x3d null)){\nreturn false;\n} else {\nif(x \x3d\x3d\x3d false){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n});\n/**\n * Returns true if f returns true for fn? or satisfies IFn.\n */\ncljs.core.ifn_QMARK_ \x3d (function cljs$core$ifn_QMARK_(f){\nvar or__5025__auto__ \x3d cljs.core.fn_QMARK_(f);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((f \x3d\x3d null)))){\nif((((f.cljs$lang$protocol_mask$partition0$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d f.cljs$core$IFn$)))){\nreturn true;\n} else {\nif((!f.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);\n}\n}\n});\n/**\n * Returns true if n is a JavaScript number with no decimal part.\n */\ncljs.core.integer_QMARK_ \x3d (function cljs$core$integer_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))));\n});\n/**\n * INTERNAL: do not use\n */\ncljs.core.LongImpl \x3d cljs.core.goog$module$goog$math$Long;\n/**\n * Return true if x satisfies integer? or is an instance of goog.math.Integer\n * or goog.math.Long.\n */\ncljs.core.int_QMARK_ \x3d (function cljs$core$int_QMARK_(x){\nreturn ((cljs.core.integer_QMARK_(x)) || ((((x instanceof goog.math.Integer)) || ((x instanceof cljs.core.goog$module$goog$math$Long)))));\n});\n/**\n * Return true if x satisfies int? and is positive.\n */\ncljs.core.pos_int_QMARK_ \x3d (function cljs$core$pos_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3e (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn ((cljs.core.not(x.isNegative())) \x26\x26 (cljs.core.not(x.isZero())));\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is negative.\n */\ncljs.core.neg_int_QMARK_ \x3d (function cljs$core$neg_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (x \x3c (0));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn x.isNegative();\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn x.isNegative();\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Return true if x satisfies int? and is a natural integer value.\n */\ncljs.core.nat_int_QMARK_ \x3d (function cljs$core$nat_int_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn (!((x \x3c (0))));\n} else {\nif((x instanceof goog.math.Integer)){\nreturn cljs.core.not(x.isNegative());\n} else {\nif((x instanceof cljs.core.goog$module$goog$math$Long)){\nreturn cljs.core.not(x.isNegative());\n} else {\nreturn false;\n\n}\n}\n}\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.float_QMARK_ \x3d (function cljs$core$float_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for JavaScript numbers, false otherwise.\n */\ncljs.core.double_QMARK_ \x3d (function cljs$core$double_QMARK_(x){\nreturn typeof x \x3d\x3d\x3d \x27number\x27;\n});\n/**\n * Returns true for Infinity and -Infinity values.\n */\ncljs.core.infinite_QMARK_ \x3d (function cljs$core$infinite_QMARK_(x){\nreturn (((x \x3d\x3d\x3d Number.POSITIVE_INFINITY)) || ((x \x3d\x3d\x3d Number.NEGATIVE_INFINITY)));\n});\n/**\n * Returns true if key is present in the given collection, otherwise\n * returns false. Note that for numerically indexed collections like\n * vectors and arrays, this tests if the numeric key is within the\n * range of indexes. \x27contains?\x27 operates constant or logarithmic time;\n * it will not perform a linear search for a value. See also \x27some\x27.\n */\ncljs.core.contains_QMARK_ \x3d (function cljs$core$contains_QMARK_(coll,v){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (512))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IAssociative$))))?true:false):false)){\nreturn coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(null,v);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,coll)){\nreturn cljs.core._contains_key_QMARK_(coll,v);\n} else {\nif((cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn false;\n} else {\nreturn true;\n\n}\n}\n}\n});\n/**\n * Returns the map entry for key, or nil if key not present.\n */\ncljs.core.find \x3d (function cljs$core$find(coll,k){\nif(cljs.core.ifind_QMARK_(coll)){\nreturn cljs.core._find(coll,k);\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 (((cljs.core.associative_QMARK_(coll)) \x26\x26 (cljs.core.contains_QMARK_(coll,k)))))){\nreturn (new cljs.core.MapEntry(k,cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,k),null));\n} else {\nreturn null;\n}\n}\n});\n/**\n * Returns true if no two of the arguments are \x3d\n */\ncljs.core.distinct_QMARK_ \x3d (function cljs$core$distinct_QMARK_(var_args){\nvar G__27133 \x3d arguments.length;\nswitch (G__27133) {\ncase 1:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30021 \x3d arguments.length;\nvar i__5750__auto___30022 \x3d (0);\nwhile(true){\nif((i__5750__auto___30022 \x3c len__5749__auto___30021)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30022]));\n\nvar G__30023 \x3d (i__5750__auto___30022 + (1));\ni__5750__auto___30022 \x3d G__30023;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)))){\nvar s \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([x,y]);\nvar xs \x3d more;\nwhile(true){\nvar x__$1 \x3d cljs.core.first(xs);\nvar etc \x3d cljs.core.next(xs);\nif(cljs.core.truth_(xs)){\nif(cljs.core.contains_QMARK_(s,x__$1)){\nreturn false;\n} else {\nvar G__30024 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(s,x__$1);\nvar G__30025 \x3d etc;\ns \x3d G__30024;\nxs \x3d G__30025;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.distinct_QMARK_.cljs$lang$applyTo \x3d (function (seq27130){\nvar G__27131 \x3d cljs.core.first(seq27130);\nvar seq27130__$1 \x3d cljs.core.next(seq27130);\nvar G__27132 \x3d cljs.core.first(seq27130__$1);\nvar seq27130__$2 \x3d cljs.core.next(seq27130__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27131,G__27132,seq27130__$2);\n}));\n\n(cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Comparator. Returns a negative number, zero, or a positive number\n * when x is logically \x27less than\x27, \x27equal to\x27, or \x27greater than\x27\n * y. Uses IComparable if available and google.array.defaultCompare for objects\n * of the same type and special-cases nil to be less than any other object.\n */\ncljs.core.compare \x3d (function cljs$core$compare(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn (0);\n} else {\nif((x \x3d\x3d null)){\nreturn (-1);\n} else {\nif((y \x3d\x3d null)){\nreturn (1);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nif(typeof y \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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))){\nreturn cljs.core._compare(x,y);\n} else {\nif(((((typeof x \x3d\x3d\x3d \x27string\x27) || (((cljs.core.array_QMARK_(x)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))))))) \x26\x26 ((cljs.core.type(x) \x3d\x3d\x3d cljs.core.type(y))))){\nreturn cljs.core.goog$module$goog$array.defaultCompare(x,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n\n}\n}\n}\n}\n}\n});\n/**\n * Compare indexed collection.\n */\ncljs.core.compare_indexed \x3d (function cljs$core$compare_indexed(var_args){\nvar G__27136 \x3d arguments.length;\nswitch (G__27136) {\ncase 2:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (xs,ys){\nvar xl \x3d cljs.core.count(xs);\nvar yl \x3d cljs.core.count(ys);\nif((xl \x3c yl)){\nreturn (-1);\n} else {\nif((xl \x3e yl)){\nreturn (1);\n} else {\nif((xl \x3d\x3d\x3d (0))){\nreturn (0);\n} else {\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(xs,ys,xl,(0));\n\n}\n}\n}\n}));\n\n(cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4 \x3d (function (xs,ys,len,n){\nwhile(true){\nvar d \x3d 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));\nif((((d \x3d\x3d\x3d (0))) \x26\x26 (((n + (1)) \x3c len)))){\nvar G__30027 \x3d xs;\nvar G__30028 \x3d ys;\nvar G__30029 \x3d len;\nvar G__30030 \x3d (n + (1));\nxs \x3d G__30027;\nys \x3d G__30028;\nlen \x3d G__30029;\nn \x3d G__30030;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n}));\n\n(cljs.core.compare_indexed.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Given a fn that might be boolean valued or a comparator,\n * return a fn that is a comparator.\n */\ncljs.core.fn__GT_comparator \x3d (function cljs$core$fn__GT_comparator(f){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.compare)){\nreturn cljs.core.compare;\n} else {\nreturn (function (x,y){\nvar r \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\nif(typeof r \x3d\x3d\x3d \x27number\x27){\nreturn r;\n} else {\nif(cljs.core.truth_(r)){\nreturn (-1);\n} else {\nif(cljs.core.truth_((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(y,x) : f.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n}\n}\n}\n});\n}\n});\n/**\n * Returns a sorted sequence of the items in coll. Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort \x3d (function cljs$core$sort(var_args){\nvar G__27138 \x3d arguments.length;\nswitch (G__27138) {\ncase 1:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,coll);\n}));\n\n(cljs.core.sort.cljs$core$IFn$_invoke$arity$2 \x3d (function (comp,coll){\nif(cljs.core.seq(coll)){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.stableSort(a,cljs.core.fn__GT_comparator(comp));\n\nreturn cljs.core.with_meta(cljs.core.seq(a),cljs.core.meta(coll));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sort.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a sorted sequence of the items in coll, where the sort\n * order is determined by comparing (keyfn item). Comp can be\n * boolean-valued comparison function, or a -/0/+ valued comparator.\n * Comp defaults to compare.\n */\ncljs.core.sort_by \x3d (function cljs$core$sort_by(var_args){\nvar G__27140 \x3d arguments.length;\nswitch (G__27140) {\ncase 2:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (keyfn,coll){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(keyfn,cljs.core.compare,coll);\n}));\n\n(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (keyfn,comp,coll){\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (x,y){\nvar G__27142 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(x) : keyfn.call(null,x));\nvar G__27143 \x3d (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(y) : keyfn.call(null,y));\nvar fexpr__27141 \x3d cljs.core.fn__GT_comparator(comp);\nreturn (fexpr__27141.cljs$core$IFn$_invoke$arity$2 ? fexpr__27141.cljs$core$IFn$_invoke$arity$2(G__27142,G__27143) : fexpr__27141.call(null,G__27142,G__27143));\n}),coll);\n}));\n\n(cljs.core.sort_by.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.seq_reduce \x3d (function cljs$core$seq_reduce(var_args){\nvar G__27145 \x3d arguments.length;\nswitch (G__27145) {\ncase 2:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar temp__5821__auto__ \x3d cljs.core.seq(coll);\nif(temp__5821__auto__){\nvar s \x3d temp__5821__auto__;\nvar G__27146 \x3d f;\nvar G__27147 \x3d cljs.core.first(s);\nvar G__27148 \x3d cljs.core.next(s);\nreturn (cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(G__27146,G__27147,G__27148) : cljs.core.reduce.call(null,G__27146,G__27147,G__27148));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nvar val__$1 \x3d val;\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif(coll__$1){\nvar nval \x3d (function (){var G__27149 \x3d val__$1;\nvar G__27150 \x3d cljs.core.first(coll__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27149,G__27150) : f.call(null,G__27149,G__27150));\n})();\nif(cljs.core.reduced_QMARK_(nval)){\nreturn cljs.core.deref(nval);\n} else {\nvar G__30040 \x3d nval;\nvar G__30041 \x3d cljs.core.next(coll__$1);\nval__$1 \x3d G__30040;\ncoll__$1 \x3d G__30041;\ncontinue;\n}\n} else {\nreturn val__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.seq_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return a random permutation of coll\n */\ncljs.core.shuffle \x3d (function cljs$core$shuffle(coll){\nvar a \x3d (cljs.core.to_array.cljs$core$IFn$_invoke$arity$1 ? cljs.core.to_array.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.to_array.call(null,coll));\ncljs.core.goog$module$goog$array.shuffle(a);\n\nreturn (cljs.core.vec.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vec.cljs$core$IFn$_invoke$arity$1(a) : cljs.core.vec.call(null,a));\n});\ncljs.core.iter_reduce \x3d (function cljs$core$iter_reduce(var_args){\nvar G__27152 \x3d arguments.length;\nswitch (G__27152) {\ncase 2:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,f){\nvar iter \x3d cljs.core._iterator(coll);\nif(cljs.core.truth_(iter.hasNext())){\nvar init \x3d iter.next();\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__27153 \x3d acc;\nvar G__27154 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27153,G__27154) : f.call(null,G__27153,G__27154));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__30043 \x3d nacc;\nacc \x3d G__30043;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (coll,f,init){\nvar iter \x3d cljs.core._iterator(coll);\nvar acc \x3d init;\nwhile(true){\nif(iter.hasNext()){\nvar nacc \x3d (function (){var G__27155 \x3d acc;\nvar G__27156 \x3d iter.next();\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27155,G__27156) : f.call(null,G__27155,G__27156));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__30044 \x3d nacc;\nacc \x3d G__30044;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.iter_reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * f should be a function of 2 arguments. If val is not supplied,\n * returns the result of applying f to the first 2 items in coll, then\n * applying f to that result and the 3rd item, etc. If coll contains no\n * items, f must accept no arguments as well, and reduce returns the\n * result of calling f with no arguments. If coll has only 1 item, it\n * is returned and f is not called. If val is supplied, returns the\n * result of applying f to val and the first item in coll, then\n * applying f to that result and the 2nd item, etc. If coll contains no\n * items, returns val and f is not called.\n */\ncljs.core.reduce \x3d (function cljs$core$reduce(var_args){\nvar G__27158 \x3d arguments.length;\nswitch (G__27158) {\ncase 2:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$2(null,f);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,val,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (524288))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReduce$))))?true:false):false)){\nreturn coll.cljs$core$IReduce$_reduce$arity$3(null,f,val);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nif(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){\nreturn cljs.core._reduce(coll,f,val);\n} else {\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);\n} else {\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,val,coll);\n\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.reduce.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reduces an associative collection. f should be a function of 3\n * arguments. Returns the result of applying f to init, the first key\n * and the first value in coll, then applying f to that result and the\n * 2nd key and value, etc. If coll contains no entries, returns init\n * and f is not called. Note that reduce-kv is supported on vectors,\n * where the keys will be the ordinals.\n */\ncljs.core.reduce_kv \x3d (function cljs$core$reduce_kv(f,init,coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IKVReduce$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,coll))){\nreturn cljs.core._kv_reduce(coll,f,init);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,me){\nvar G__27162 \x3d ret;\nvar G__27163 \x3d cljs.core._key(me);\nvar G__27164 \x3d cljs.core._val(me);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27162,G__27163,G__27164) : f.call(null,G__27162,G__27163,G__27164));\n}),init,coll);\n}\n});\n/**\n * Returns its argument.\n */\ncljs.core.identity \x3d (function cljs$core$identity(x){\nreturn x;\n});\n/**\n * Takes a reducing function f of 2 args and returns a fn suitable for\n * transduce by adding an arity-1 signature that calls cf (default -\n * identity) on the result argument.\n */\ncljs.core.completing \x3d (function cljs$core$completing(var_args){\nvar G__27166 \x3d arguments.length;\nswitch (G__27166) {\ncase 1:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.completing.cljs$core$IFn$_invoke$arity$2(f,cljs.core.identity);\n}));\n\n(cljs.core.completing.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,cf){\nreturn (function() {\nvar G__30047 \x3d null;\nvar G__30047__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__30047__1 \x3d (function (x){\nreturn (cf.cljs$core$IFn$_invoke$arity$1 ? cf.cljs$core$IFn$_invoke$arity$1(x) : cf.call(null,x));\n});\nvar G__30047__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nG__30047 \x3d function(x,y){\nswitch(arguments.length){\ncase 0:\nreturn G__30047__0.call(this);\ncase 1:\nreturn G__30047__1.call(this,x);\ncase 2:\nreturn G__30047__2.call(this,x,y);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30047.cljs$core$IFn$_invoke$arity$0 \x3d G__30047__0;\nG__30047.cljs$core$IFn$_invoke$arity$1 \x3d G__30047__1;\nG__30047.cljs$core$IFn$_invoke$arity$2 \x3d G__30047__2;\nreturn G__30047;\n})()\n}));\n\n(cljs.core.completing.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * reduce with a transformation of f (xf). If init is not\n * supplied, (f) will be called to produce it. f should be a reducing\n * step function that accepts both 1 and 2 arguments, if it accepts\n * only 2 you can add the arity-1 with \x27completing\x27. Returns the result\n * of applying (the transformed) xf to init and the first item in coll,\n * then applying xf to that result and the 2nd item, etc. If coll\n * contains no items, returns init and f is not called. Note that\n * certain transforms may inject or skip items.\n */\ncljs.core.transduce \x3d (function cljs$core$transduce(var_args){\nvar G__27168 \x3d arguments.length;\nswitch (G__27168) {\ncase 3:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$3 \x3d (function (xform,f,coll){\nreturn 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);\n}));\n\n(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (xform,f,init,coll){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar ret \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f__$1,init,coll);\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(ret) : f__$1.call(null,ret));\n}));\n\n(cljs.core.transduce.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core._PLUS_ \x3d (function cljs$core$_PLUS_(var_args){\nvar G__27173 \x3d arguments.length;\nswitch (G__27173) {\ncase 0:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30050 \x3d arguments.length;\nvar i__5750__auto___30051 \x3d (0);\nwhile(true){\nif((i__5750__auto___30051 \x3c len__5749__auto___30050)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30051]));\n\nvar G__30052 \x3d (i__5750__auto___30051 + (1));\ni__5750__auto___30051 \x3d G__30052;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._PLUS_.cljs$lang$applyTo \x3d (function (seq27170){\nvar G__27171 \x3d cljs.core.first(seq27170);\nvar seq27170__$1 \x3d cljs.core.next(seq27170);\nvar G__27172 \x3d cljs.core.first(seq27170__$1);\nvar seq27170__$2 \x3d cljs.core.next(seq27170__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27171,G__27172,seq27170__$2);\n}));\n\n(cljs.core._PLUS_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core._ \x3d (function cljs$core$_(var_args){\nvar G__27178 \x3d arguments.length;\nswitch (G__27178) {\ncase 1:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30054 \x3d arguments.length;\nvar i__5750__auto___30055 \x3d (0);\nwhile(true){\nif((i__5750__auto___30055 \x3c len__5749__auto___30054)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30055]));\n\nvar G__30056 \x3d (i__5750__auto___30055 + (1));\ni__5750__auto___30055 \x3d G__30056;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core._.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._.cljs$lang$applyTo \x3d (function (seq27175){\nvar G__27176 \x3d cljs.core.first(seq27175);\nvar seq27175__$1 \x3d cljs.core.next(seq27175);\nvar G__27177 \x3d cljs.core.first(seq27175__$1);\nvar seq27175__$2 \x3d cljs.core.next(seq27175__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27176,G__27177,seq27175__$2);\n}));\n\n(cljs.core._.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core._STAR_ \x3d (function cljs$core$_STAR_(var_args){\nvar G__27183 \x3d arguments.length;\nswitch (G__27183) {\ncase 0:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30058 \x3d arguments.length;\nvar i__5750__auto___30059 \x3d (0);\nwhile(true){\nif((i__5750__auto___30059 \x3c len__5749__auto___30058)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30059]));\n\nvar G__30060 \x3d (i__5750__auto___30059 + (1));\ni__5750__auto___30059 \x3d G__30060;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._STAR_.cljs$lang$applyTo \x3d (function (seq27180){\nvar G__27181 \x3d cljs.core.first(seq27180);\nvar seq27180__$1 \x3d cljs.core.next(seq27180);\nvar G__27182 \x3d cljs.core.first(seq27180__$1);\nvar seq27180__$2 \x3d cljs.core.next(seq27180__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27181,G__27182,seq27180__$2);\n}));\n\n(cljs.core._STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core._SLASH_ \x3d (function cljs$core$_SLASH_(var_args){\nvar G__27188 \x3d arguments.length;\nswitch (G__27188) {\ncase 1:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30065 \x3d arguments.length;\nvar i__5750__auto___30066 \x3d (0);\nwhile(true){\nif((i__5750__auto___30066 \x3c len__5749__auto___30065)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30066]));\n\nvar G__30067 \x3d (i__5750__auto___30066 + (1));\ni__5750__auto___30066 \x3d G__30067;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core._SLASH_.cljs$lang$applyTo \x3d (function (seq27185){\nvar G__27186 \x3d cljs.core.first(seq27185);\nvar seq27185__$1 \x3d cljs.core.next(seq27185);\nvar G__27187 \x3d cljs.core.first(seq27185__$1);\nvar seq27185__$2 \x3d cljs.core.next(seq27185__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27186,G__27187,seq27185__$2);\n}));\n\n(cljs.core._SLASH_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically increasing order,\n * otherwise false.\n */\ncljs.core._LT_ \x3d (function cljs$core$_LT_(var_args){\nvar G__27193 \x3d arguments.length;\nswitch (G__27193) {\ncase 1:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30069 \x3d arguments.length;\nvar i__5750__auto___30070 \x3d (0);\nwhile(true){\nif((i__5750__auto___30070 \x3c len__5749__auto___30069)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30070]));\n\nvar G__30071 \x3d (i__5750__auto___30070 + (1));\ni__5750__auto___30070 \x3d G__30071;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c y);\n}));\n\n(cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c y)){\nif(cljs.core.next(more)){\nvar G__30072 \x3d y;\nvar G__30073 \x3d cljs.core.first(more);\nvar G__30074 \x3d cljs.core.next(more);\nx \x3d G__30072;\ny \x3d G__30073;\nmore \x3d G__30074;\ncontinue;\n} else {\nreturn (y \x3c cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT_.cljs$lang$applyTo \x3d (function (seq27190){\nvar G__27191 \x3d cljs.core.first(seq27190);\nvar seq27190__$1 \x3d cljs.core.next(seq27190);\nvar G__27192 \x3d cljs.core.first(seq27190__$1);\nvar seq27190__$2 \x3d cljs.core.next(seq27190__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27191,G__27192,seq27190__$2);\n}));\n\n(cljs.core._LT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-decreasing order,\n * otherwise false.\n */\ncljs.core._LT__EQ_ \x3d (function cljs$core$_LT__EQ_(var_args){\nvar G__27198 \x3d arguments.length;\nswitch (G__27198) {\ncase 1:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30076 \x3d arguments.length;\nvar i__5750__auto___30077 \x3d (0);\nwhile(true){\nif((i__5750__auto___30077 \x3c len__5749__auto___30076)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30077]));\n\nvar G__30078 \x3d (i__5750__auto___30077 + (1));\ni__5750__auto___30077 \x3d G__30078;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3c\x3d y);\n}));\n\n(cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3c\x3d y)){\nif(cljs.core.next(more)){\nvar G__30080 \x3d y;\nvar G__30081 \x3d cljs.core.first(more);\nvar G__30082 \x3d cljs.core.next(more);\nx \x3d G__30080;\ny \x3d G__30081;\nmore \x3d G__30082;\ncontinue;\n} else {\nreturn (y \x3c\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._LT__EQ_.cljs$lang$applyTo \x3d (function (seq27195){\nvar G__27196 \x3d cljs.core.first(seq27195);\nvar seq27195__$1 \x3d cljs.core.next(seq27195);\nvar G__27197 \x3d cljs.core.first(seq27195__$1);\nvar seq27195__$2 \x3d cljs.core.next(seq27195__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27196,G__27197,seq27195__$2);\n}));\n\n(cljs.core._LT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically decreasing order,\n * otherwise false.\n */\ncljs.core._GT_ \x3d (function cljs$core$_GT_(var_args){\nvar G__27203 \x3d arguments.length;\nswitch (G__27203) {\ncase 1:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30084 \x3d arguments.length;\nvar i__5750__auto___30085 \x3d (0);\nwhile(true){\nif((i__5750__auto___30085 \x3c len__5749__auto___30084)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30085]));\n\nvar G__30086 \x3d (i__5750__auto___30085 + (1));\ni__5750__auto___30085 \x3d G__30086;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e y);\n}));\n\n(cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e y)){\nif(cljs.core.next(more)){\nvar G__30087 \x3d y;\nvar G__30088 \x3d cljs.core.first(more);\nvar G__30089 \x3d cljs.core.next(more);\nx \x3d G__30087;\ny \x3d G__30088;\nmore \x3d G__30089;\ncontinue;\n} else {\nreturn (y \x3e cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT_.cljs$lang$applyTo \x3d (function (seq27200){\nvar G__27201 \x3d cljs.core.first(seq27200);\nvar seq27200__$1 \x3d cljs.core.next(seq27200);\nvar G__27202 \x3d cljs.core.first(seq27200__$1);\nvar seq27200__$2 \x3d cljs.core.next(seq27200__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27201,G__27202,seq27200__$2);\n}));\n\n(cljs.core._GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns non-nil if nums are in monotonically non-increasing order,\n * otherwise false.\n */\ncljs.core._GT__EQ_ \x3d (function cljs$core$_GT__EQ_(var_args){\nvar G__27208 \x3d arguments.length;\nswitch (G__27208) {\ncase 1:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30092 \x3d arguments.length;\nvar i__5750__auto___30093 \x3d (0);\nwhile(true){\nif((i__5750__auto___30093 \x3c len__5749__auto___30092)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30093]));\n\nvar G__30094 \x3d (i__5750__auto___30093 + (1));\ni__5750__auto___30093 \x3d G__30094;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x3e\x3d y);\n}));\n\n(cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3e\x3d y)){\nif(cljs.core.next(more)){\nvar G__30095 \x3d y;\nvar G__30096 \x3d cljs.core.first(more);\nvar G__30097 \x3d cljs.core.next(more);\nx \x3d G__30095;\ny \x3d G__30096;\nmore \x3d G__30097;\ncontinue;\n} else {\nreturn (y \x3e\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._GT__EQ_.cljs$lang$applyTo \x3d (function (seq27205){\nvar G__27206 \x3d cljs.core.first(seq27205);\nvar seq27205__$1 \x3d cljs.core.next(seq27205);\nvar G__27207 \x3d cljs.core.first(seq27205__$1);\nvar seq27205__$2 \x3d cljs.core.next(seq27205__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27206,G__27207,seq27205__$2);\n}));\n\n(cljs.core._GT__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than num.\n */\ncljs.core.dec \x3d (function cljs$core$dec(x){\nreturn (x - (1));\n});\n/**\n * Returns the absolute value of a.\n */\ncljs.core.abs \x3d (function cljs$core$abs(a){\nreturn Math.abs(a);\n});\n/**\n * Returns the greatest of the nums.\n */\ncljs.core.max \x3d (function cljs$core$max(var_args){\nvar G__27213 \x3d arguments.length;\nswitch (G__27213) {\ncase 1:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30099 \x3d arguments.length;\nvar i__5750__auto___30100 \x3d (0);\nwhile(true){\nif((i__5750__auto___30100 \x3c len__5749__auto___30099)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30100]));\n\nvar G__30101 \x3d (i__5750__auto___30100 + (1));\ni__5750__auto___30100 \x3d G__30101;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.max.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5110__auto__ \x3d x;\nvar y__5111__auto__ \x3d y;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}));\n\n(cljs.core.max.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(function (){var x__5110__auto__ \x3d x;\nvar y__5111__auto__ \x3d y;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max.cljs$lang$applyTo \x3d (function (seq27210){\nvar G__27211 \x3d cljs.core.first(seq27210);\nvar seq27210__$1 \x3d cljs.core.next(seq27210);\nvar G__27212 \x3d cljs.core.first(seq27210__$1);\nvar seq27210__$2 \x3d cljs.core.next(seq27210__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27211,G__27212,seq27210__$2);\n}));\n\n(cljs.core.max.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the least of the nums.\n */\ncljs.core.min \x3d (function cljs$core$min(var_args){\nvar G__27218 \x3d arguments.length;\nswitch (G__27218) {\ncase 1:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30103 \x3d arguments.length;\nvar i__5750__auto___30104 \x3d (0);\nwhile(true){\nif((i__5750__auto___30104 \x3c len__5749__auto___30103)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30104]));\n\nvar G__30105 \x3d (i__5750__auto___30104 + (1));\ni__5750__auto___30104 \x3d G__30105;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.min.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nvar x__5113__auto__ \x3d x;\nvar y__5114__auto__ \x3d y;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n}));\n\n(cljs.core.min.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,(function (){var x__5113__auto__ \x3d x;\nvar y__5114__auto__ \x3d y;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})(),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min.cljs$lang$applyTo \x3d (function (seq27215){\nvar G__27216 \x3d cljs.core.first(seq27215);\nvar seq27215__$1 \x3d cljs.core.next(seq27215);\nvar G__27217 \x3d cljs.core.first(seq27215__$1);\nvar seq27215__$2 \x3d cljs.core.next(seq27215__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27216,G__27217,seq27215__$2);\n}));\n\n(cljs.core.min.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.byte$ \x3d (function cljs$core$byte(x){\nreturn x;\n});\n/**\n * Coerce to char\n */\ncljs.core.char$ \x3d (function cljs$core$char(x){\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn String.fromCharCode(x);\n} else {\nif(((typeof x \x3d\x3d\x3d \x27string\x27) \x26\x26 ((x.length \x3d\x3d\x3d (1))))){\nreturn x;\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.core.short$ \x3d (function cljs$core$short(x){\nreturn x;\n});\ncljs.core.float$ \x3d (function cljs$core$float(x){\nreturn x;\n});\ncljs.core.double$ \x3d (function cljs$core$double(x){\nreturn x;\n});\ncljs.core.unchecked_byte \x3d (function cljs$core$unchecked_byte(x){\nreturn x;\n});\ncljs.core.unchecked_char \x3d (function cljs$core$unchecked_char(x){\nreturn x;\n});\ncljs.core.unchecked_short \x3d (function cljs$core$unchecked_short(x){\nreturn x;\n});\ncljs.core.unchecked_float \x3d (function cljs$core$unchecked_float(x){\nreturn x;\n});\ncljs.core.unchecked_double \x3d (function cljs$core$unchecked_double(x){\nreturn x;\n});\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add \x3d (function cljs$core$unchecked_add(var_args){\nvar G__27223 \x3d arguments.length;\nswitch (G__27223) {\ncase 0:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30109 \x3d arguments.length;\nvar i__5750__auto___30110 \x3d (0);\nwhile(true){\nif((i__5750__auto___30110 \x3c len__5749__auto___30109)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30110]));\n\nvar G__30111 \x3d (i__5750__auto___30110 + (1));\ni__5750__auto___30110 \x3d G__30111;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add.cljs$lang$applyTo \x3d (function (seq27220){\nvar G__27221 \x3d cljs.core.first(seq27220);\nvar seq27220__$1 \x3d cljs.core.next(seq27220);\nvar G__27222 \x3d cljs.core.first(seq27220__$1);\nvar seq27220__$2 \x3d cljs.core.next(seq27220__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27221,G__27222,seq27220__$2);\n}));\n\n(cljs.core.unchecked_add.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the sum of nums. (+) returns 0.\n */\ncljs.core.unchecked_add_int \x3d (function cljs$core$unchecked_add_int(var_args){\nvar G__27228 \x3d arguments.length;\nswitch (G__27228) {\ncase 0:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30137 \x3d arguments.length;\nvar i__5750__auto___30138 \x3d (0);\nwhile(true){\nif((i__5750__auto___30138 \x3c len__5749__auto___30137)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30138]));\n\nvar G__30139 \x3d (i__5750__auto___30138 + (1));\ni__5750__auto___30138 \x3d G__30139;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (0);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x + y);\n}));\n\n(cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,(x + y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_add_int.cljs$lang$applyTo \x3d (function (seq27225){\nvar G__27226 \x3d cljs.core.first(seq27225);\nvar seq27225__$1 \x3d cljs.core.next(seq27225);\nvar G__27227 \x3d cljs.core.first(seq27225__$1);\nvar seq27225__$2 \x3d cljs.core.next(seq27225__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27226,G__27227,seq27225__$2);\n}));\n\n(cljs.core.unchecked_add_int.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec \x3d (function cljs$core$unchecked_dec(x){\nreturn (x - (1));\n});\n/**\n * Returns a number one less than x, an int.\n */\ncljs.core.unchecked_dec_int \x3d (function cljs$core$unchecked_dec_int(x){\nreturn (x - (1));\n});\n/**\n * If no denominators are supplied, returns 1/numerator,\n * else returns numerator divided by all of the denominators.\n */\ncljs.core.unchecked_divide_int \x3d (function cljs$core$unchecked_divide_int(var_args){\nvar G__27233 \x3d arguments.length;\nswitch (G__27233) {\ncase 1:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30141 \x3d arguments.length;\nvar i__5750__auto___30142 \x3d (0);\nwhile(true){\nif((i__5750__auto___30142 \x3c len__5749__auto___30141)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30142]));\n\nvar G__30143 \x3d (i__5750__auto___30142 + (1));\ni__5750__auto___30142 \x3d G__30143;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn ((1) / x);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x / y);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,(x / y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_divide_int.cljs$lang$applyTo \x3d (function (seq27230){\nvar G__27231 \x3d cljs.core.first(seq27230);\nvar seq27230__$1 \x3d cljs.core.next(seq27230);\nvar G__27232 \x3d cljs.core.first(seq27230__$1);\nvar seq27230__$2 \x3d cljs.core.next(seq27230__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27231,G__27232,seq27230__$2);\n}));\n\n(cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_inc \x3d (function cljs$core$unchecked_inc(x){\nreturn (x + (1));\n});\ncljs.core.unchecked_inc_int \x3d (function cljs$core$unchecked_inc_int(x){\nreturn (x + (1));\n});\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply \x3d (function cljs$core$unchecked_multiply(var_args){\nvar G__27238 \x3d arguments.length;\nswitch (G__27238) {\ncase 0:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30149 \x3d arguments.length;\nvar i__5750__auto___30150 \x3d (0);\nwhile(true){\nif((i__5750__auto___30150 \x3c len__5749__auto___30149)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30150]));\n\nvar G__30151 \x3d (i__5750__auto___30150 + (1));\ni__5750__auto___30150 \x3d G__30151;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply.cljs$lang$applyTo \x3d (function (seq27235){\nvar G__27236 \x3d cljs.core.first(seq27235);\nvar seq27235__$1 \x3d cljs.core.next(seq27235);\nvar G__27237 \x3d cljs.core.first(seq27235__$1);\nvar seq27235__$2 \x3d cljs.core.next(seq27235__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27236,G__27237,seq27235__$2);\n}));\n\n(cljs.core.unchecked_multiply.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns the product of nums. (*) returns 1.\n */\ncljs.core.unchecked_multiply_int \x3d (function cljs$core$unchecked_multiply_int(var_args){\nvar G__27243 \x3d arguments.length;\nswitch (G__27243) {\ncase 0:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30153 \x3d arguments.length;\nvar i__5750__auto___30154 \x3d (0);\nwhile(true){\nif((i__5750__auto___30154 \x3c len__5749__auto___30153)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30154]));\n\nvar G__30155 \x3d (i__5750__auto___30154 + (1));\ni__5750__auto___30154 \x3d G__30155;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (1);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn x;\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x * y);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,(x * y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_multiply_int.cljs$lang$applyTo \x3d (function (seq27240){\nvar G__27241 \x3d cljs.core.first(seq27240);\nvar seq27240__$1 \x3d cljs.core.next(seq27240);\nvar G__27242 \x3d cljs.core.first(seq27240__$1);\nvar seq27240__$2 \x3d cljs.core.next(seq27240__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27241,G__27242,seq27240__$2);\n}));\n\n(cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.unchecked_negate \x3d (function cljs$core$unchecked_negate(x){\nreturn (- x);\n});\ncljs.core.unchecked_negate_int \x3d (function cljs$core$unchecked_negate_int(x){\nreturn (- x);\n});\ncljs.core.unchecked_remainder_int \x3d (function cljs$core$unchecked_remainder_int(x,n){\nreturn (cljs.core.mod.cljs$core$IFn$_invoke$arity$2 ? cljs.core.mod.cljs$core$IFn$_invoke$arity$2(x,n) : cljs.core.mod.call(null,x,n));\n});\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract \x3d (function cljs$core$unchecked_subtract(var_args){\nvar G__27248 \x3d arguments.length;\nswitch (G__27248) {\ncase 1:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30159 \x3d arguments.length;\nvar i__5750__auto___30160 \x3d (0);\nwhile(true){\nif((i__5750__auto___30160 \x3c len__5749__auto___30159)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30160]));\n\nvar G__30161 \x3d (i__5750__auto___30160 + (1));\ni__5750__auto___30160 \x3d G__30161;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract.cljs$lang$applyTo \x3d (function (seq27245){\nvar G__27246 \x3d cljs.core.first(seq27245);\nvar seq27245__$1 \x3d cljs.core.next(seq27245);\nvar G__27247 \x3d cljs.core.first(seq27245__$1);\nvar seq27245__$2 \x3d cljs.core.next(seq27245__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27246,G__27247,seq27245__$2);\n}));\n\n(cljs.core.unchecked_subtract.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If no ys are supplied, returns the negation of x, else subtracts\n * the ys from x and returns the result.\n */\ncljs.core.unchecked_subtract_int \x3d (function cljs$core$unchecked_subtract_int(var_args){\nvar G__27253 \x3d arguments.length;\nswitch (G__27253) {\ncase 1:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30165 \x3d arguments.length;\nvar i__5750__auto___30166 \x3d (0);\nwhile(true){\nif((i__5750__auto___30166 \x3c len__5749__auto___30165)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30166]));\n\nvar G__30169 \x3d (i__5750__auto___30166 + (1));\ni__5750__auto___30166 \x3d G__30169;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (- x);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x - y);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,(x - y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.unchecked_subtract_int.cljs$lang$applyTo \x3d (function (seq27250){\nvar G__27251 \x3d cljs.core.first(seq27250);\nvar seq27250__$1 \x3d cljs.core.next(seq27250);\nvar G__27252 \x3d cljs.core.first(seq27250__$1);\nvar seq27250__$2 \x3d cljs.core.next(seq27250__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27251,G__27252,seq27250__$2);\n}));\n\n(cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity \x3d (2));\n\ncljs.core.fix \x3d (function cljs$core$fix(q){\nif((q \x3e\x3d (0))){\nreturn Math.floor(q);\n} else {\nreturn Math.ceil(q);\n}\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.int$ \x3d (function cljs$core$int(x){\nreturn (x | (0));\n});\n/**\n * Coerce to int by stripping decimal places.\n */\ncljs.core.unchecked_int \x3d (function cljs$core$unchecked_int(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.long$ \x3d (function cljs$core$long(x){\nreturn cljs.core.fix(x);\n});\n/**\n * Coerce to long by stripping decimal places. Identical to `int\x27.\n */\ncljs.core.unchecked_long \x3d (function cljs$core$unchecked_long(x){\nreturn cljs.core.fix(x);\n});\ncljs.core.booleans \x3d (function cljs$core$booleans(x){\nreturn x;\n});\ncljs.core.bytes \x3d (function cljs$core$bytes(x){\nreturn x;\n});\ncljs.core.chars \x3d (function cljs$core$chars(x){\nreturn x;\n});\ncljs.core.shorts \x3d (function cljs$core$shorts(x){\nreturn x;\n});\ncljs.core.ints \x3d (function cljs$core$ints(x){\nreturn x;\n});\ncljs.core.floats \x3d (function cljs$core$floats(x){\nreturn x;\n});\ncljs.core.doubles \x3d (function cljs$core$doubles(x){\nreturn x;\n});\ncljs.core.longs \x3d (function cljs$core$longs(x){\nreturn x;\n});\n/**\n * Modulus of num and div with original javascript behavior. i.e. bug for negative numbers\n */\ncljs.core.js_mod \x3d (function cljs$core$js_mod(n,d){\nreturn (n % d);\n});\n/**\n * Modulus of num and div. Truncates toward negative infinity.\n */\ncljs.core.mod \x3d (function cljs$core$mod(n,d){\nreturn (((n % d) + d) % d);\n});\n/**\n * quot[ient] of dividing numerator by denominator.\n */\ncljs.core.quot \x3d (function cljs$core$quot(n,d){\nvar rem \x3d (n % d);\nreturn cljs.core.fix(((n - rem) / d));\n});\n/**\n * remainder of dividing numerator by denominator.\n */\ncljs.core.rem \x3d (function cljs$core$rem(n,d){\nvar q \x3d cljs.core.quot(n,d);\nreturn (n - (d * q));\n});\n/**\n * Bitwise exclusive or\n */\ncljs.core.bit_xor \x3d (function cljs$core$bit_xor(var_args){\nvar G__27258 \x3d arguments.length;\nswitch (G__27258) {\ncase 2:\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30173 \x3d arguments.length;\nvar i__5750__auto___30174 \x3d (0);\nwhile(true){\nif((i__5750__auto___30174 \x3c len__5749__auto___30173)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30174]));\n\nvar G__30175 \x3d (i__5750__auto___30174 + (1));\ni__5750__auto___30174 \x3d G__30175;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x ^ y);\n}));\n\n(cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,(x ^ y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_xor.cljs$lang$applyTo \x3d (function (seq27255){\nvar G__27256 \x3d cljs.core.first(seq27255);\nvar seq27255__$1 \x3d cljs.core.next(seq27255);\nvar G__27257 \x3d cljs.core.first(seq27255__$1);\nvar seq27255__$2 \x3d cljs.core.next(seq27255__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27256,G__27257,seq27255__$2);\n}));\n\n(cljs.core.bit_xor.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and\n */\ncljs.core.bit_and \x3d (function cljs$core$bit_and(var_args){\nvar G__27263 \x3d arguments.length;\nswitch (G__27263) {\ncase 2:\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30177 \x3d arguments.length;\nvar i__5750__auto___30178 \x3d (0);\nwhile(true){\nif((i__5750__auto___30178 \x3c len__5749__auto___30177)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30178]));\n\nvar G__30179 \x3d (i__5750__auto___30178 + (1));\ni__5750__auto___30178 \x3d G__30179;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 y);\n}));\n\n(cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,(x \x26 y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and.cljs$lang$applyTo \x3d (function (seq27260){\nvar G__27261 \x3d cljs.core.first(seq27260);\nvar seq27260__$1 \x3d cljs.core.next(seq27260);\nvar G__27262 \x3d cljs.core.first(seq27260__$1);\nvar seq27260__$2 \x3d cljs.core.next(seq27260__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27261,G__27262,seq27260__$2);\n}));\n\n(cljs.core.bit_and.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise or\n */\ncljs.core.bit_or \x3d (function cljs$core$bit_or(var_args){\nvar G__27268 \x3d arguments.length;\nswitch (G__27268) {\ncase 2:\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30181 \x3d arguments.length;\nvar i__5750__auto___30182 \x3d (0);\nwhile(true){\nif((i__5750__auto___30182 \x3c len__5749__auto___30181)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30182]));\n\nvar G__30183 \x3d (i__5750__auto___30182 + (1));\ni__5750__auto___30182 \x3d G__30183;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x | y);\n}));\n\n(cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,(x | y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_or.cljs$lang$applyTo \x3d (function (seq27265){\nvar G__27266 \x3d cljs.core.first(seq27265);\nvar seq27265__$1 \x3d cljs.core.next(seq27265);\nvar G__27267 \x3d cljs.core.first(seq27265__$1);\nvar seq27265__$2 \x3d cljs.core.next(seq27265__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27266,G__27267,seq27265__$2);\n}));\n\n(cljs.core.bit_or.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Bitwise and with complement\n */\ncljs.core.bit_and_not \x3d (function cljs$core$bit_and_not(var_args){\nvar G__27273 \x3d arguments.length;\nswitch (G__27273) {\ncase 2:\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30185 \x3d arguments.length;\nvar i__5750__auto___30186 \x3d (0);\nwhile(true){\nif((i__5750__auto___30186 \x3c len__5749__auto___30185)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30186]));\n\nvar G__30187 \x3d (i__5750__auto___30186 + (1));\ni__5750__auto___30186 \x3d G__30187;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (x \x26 ~y);\n}));\n\n(cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,(x \x26 ~y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.bit_and_not.cljs$lang$applyTo \x3d (function (seq27270){\nvar G__27271 \x3d cljs.core.first(seq27270);\nvar seq27270__$1 \x3d cljs.core.next(seq27270);\nvar G__27272 \x3d cljs.core.first(seq27270__$1);\nvar seq27270__$2 \x3d cljs.core.next(seq27270__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27271,G__27272,seq27270__$2);\n}));\n\n(cljs.core.bit_and_not.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Clear bit at index n\n */\ncljs.core.bit_clear \x3d (function cljs$core$bit_clear(x,n){\nreturn (x \x26 ~(1 \x3c\x3c n));\n});\n/**\n * Flip bit at index n\n */\ncljs.core.bit_flip \x3d (function cljs$core$bit_flip(x,n){\nreturn (x ^ (1 \x3c\x3c n));\n});\n/**\n * Bitwise complement\n */\ncljs.core.bit_not \x3d (function cljs$core$bit_not(x){\nreturn (~ x);\n});\n/**\n * Set bit at index n\n */\ncljs.core.bit_set \x3d (function cljs$core$bit_set(x,n){\nreturn (x | (1 \x3c\x3c n));\n});\n/**\n * Test bit at index n\n */\ncljs.core.bit_test \x3d (function cljs$core$bit_test(x,n){\nreturn ((x \x26 (1 \x3c\x3c n)) !\x3d 0);\n});\n/**\n * Bitwise shift left\n */\ncljs.core.bit_shift_left \x3d (function cljs$core$bit_shift_left(x,n){\nreturn (x \x3c\x3c n);\n});\n/**\n * Bitwise shift right\n */\ncljs.core.bit_shift_right \x3d (function cljs$core$bit_shift_right(x,n){\nreturn (x \x3e\x3e n);\n});\n/**\n * DEPRECATED: Bitwise shift right with zero fill\n */\ncljs.core.bit_shift_right_zero_fill \x3d (function cljs$core$bit_shift_right_zero_fill(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Bitwise shift right with zero fill\n */\ncljs.core.unsigned_bit_shift_right \x3d (function cljs$core$unsigned_bit_shift_right(x,n){\nreturn (x \x3e\x3e\x3e n);\n});\n/**\n * Counts the number of bits set in n\n */\ncljs.core.bit_count \x3d (function cljs$core$bit_count(v){\nvar v__$1 \x3d (v - ((v \x3e\x3e (1)) \x26 (1431655765)));\nvar v__$2 \x3d ((v__$1 \x26 (858993459)) + ((v__$1 \x3e\x3e (2)) \x26 (858993459)));\nreturn ((((v__$2 + (v__$2 \x3e\x3e (4))) \x26 (252645135)) * (16843009)) \x3e\x3e (24));\n});\n/**\n * Returns non-nil if nums all have the equivalent\n * value, otherwise false. Behavior on non nums is\n * undefined.\n */\ncljs.core._EQ__EQ_ \x3d (function cljs$core$_EQ__EQ_(var_args){\nvar G__27278 \x3d arguments.length;\nswitch (G__27278) {\ncase 1:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30192 \x3d arguments.length;\nvar i__5750__auto___30193 \x3d (0);\nwhile(true){\nif((i__5750__auto___30193 \x3c len__5749__auto___30192)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30193]));\n\nvar G__30194 \x3d (i__5750__auto___30193 + (1));\ni__5750__auto___30193 \x3d G__30194;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn true;\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn cljs.core._equiv(x,y);\n}));\n\n(cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nwhile(true){\nif((x \x3d\x3d\x3d y)){\nif(cljs.core.next(more)){\nvar G__30195 \x3d y;\nvar G__30196 \x3d cljs.core.first(more);\nvar G__30197 \x3d cljs.core.next(more);\nx \x3d G__30195;\ny \x3d G__30196;\nmore \x3d G__30197;\ncontinue;\n} else {\nreturn (y \x3d\x3d\x3d cljs.core.first(more));\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core._EQ__EQ_.cljs$lang$applyTo \x3d (function (seq27275){\nvar G__27276 \x3d cljs.core.first(seq27275);\nvar seq27275__$1 \x3d cljs.core.next(seq27275);\nvar G__27277 \x3d cljs.core.first(seq27275__$1);\nvar seq27275__$2 \x3d cljs.core.next(seq27275__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27276,G__27277,seq27275__$2);\n}));\n\n(cljs.core._EQ__EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if num is greater than zero, else false\n */\ncljs.core.pos_QMARK_ \x3d (function cljs$core$pos_QMARK_(x){\nreturn (x \x3e (0));\n});\n/**\n * Returns true if num is zero, else false\n */\ncljs.core.zero_QMARK_ \x3d (function cljs$core$zero_QMARK_(x){\nreturn (x \x3d\x3d\x3d (0));\n});\n/**\n * Returns true if num is less than zero, else false\n */\ncljs.core.neg_QMARK_ \x3d (function cljs$core$neg_QMARK_(x){\nreturn (x \x3c (0));\n});\n/**\n * Returns the nth next of coll, (seq coll) when n is 0.\n */\ncljs.core.nthnext \x3d (function cljs$core$nthnext(coll,n){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition1$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IDrop$))))?true:false):false)){\nif((n \x3e (0))){\nreturn coll.cljs$core$IDrop$_drop$arity$2(null,Math.ceil(n));\n} else {\nreturn cljs.core.seq(coll);\n}\n} else {\nvar n__$1 \x3d n;\nvar xs \x3d cljs.core.seq(coll);\nwhile(true){\nif(((xs) \x26\x26 ((n__$1 \x3e (0))))){\nvar G__30198 \x3d (n__$1 - (1));\nvar G__30199 \x3d cljs.core.next(xs);\nn__$1 \x3d G__30198;\nxs \x3d G__30199;\ncontinue;\n} else {\nreturn xs;\n}\nbreak;\n}\n}\n});\n/**\n * With no args, returns the empty string. With one arg x, returns\n * x.toString(). (str nil) returns the empty string. With more than\n * one arg, returns the concatenation of the str values of the args.\n */\ncljs.core.str \x3d (function cljs$core$str(var_args){\nvar G__27283 \x3d arguments.length;\nswitch (G__27283) {\ncase 0:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30206 \x3d arguments.length;\nvar i__5750__auto___30207 \x3d (0);\nwhile(true){\nif((i__5750__auto___30207 \x3c len__5749__auto___30206)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30207]));\n\nvar G__30208 \x3d (i__5750__auto___30207 + (1));\ni__5750__auto___30207 \x3d G__30208;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn \x22\x22;\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nif((x \x3d\x3d null)){\nreturn \x22\x22;\n} else {\nreturn [x].join(\x22\x22);\n}\n}));\n\n(cljs.core.str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,ys){\nvar sb \x3d (new goog.string.StringBuffer(cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)));\nvar more \x3d ys;\nwhile(true){\nif(cljs.core.truth_(more)){\nvar G__30209 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(more)));\nvar G__30210 \x3d cljs.core.next(more);\nsb \x3d G__30209;\nmore \x3d G__30210;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.str.cljs$lang$applyTo \x3d (function (seq27281){\nvar G__27282 \x3d cljs.core.first(seq27281);\nvar seq27281__$1 \x3d cljs.core.next(seq27281);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27282,seq27281__$1);\n}));\n\n(cljs.core.str.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns the substring of s beginning at start inclusive, and ending\n * at end (defaults to length of string), exclusive.\n */\ncljs.core.subs \x3d (function cljs$core$subs(var_args){\nvar G__27285 \x3d arguments.length;\nswitch (G__27285) {\ncase 2:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,start){\nreturn s.substring(start);\n}));\n\n(cljs.core.subs.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,start,end){\nreturn s.substring(start,end);\n}));\n\n(cljs.core.subs.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n * Assumes x is sequential. Returns true if x equals y, otherwise\n * returns false.\n */\ncljs.core.equiv_sequential \x3d (function cljs$core$equiv_sequential(x,y){\nreturn cljs.core.boolean$(((cljs.core.sequential_QMARK_(y))?((((cljs.core.counted_QMARK_(x)) \x26\x26 (((cljs.core.counted_QMARK_(y)) \x26\x26 ((!((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))))))))?false:(function (){var xs \x3d cljs.core.seq(x);\nvar ys \x3d cljs.core.seq(y);\nwhile(true){\nif((xs \x3d\x3d null)){\nreturn (ys \x3d\x3d null);\n} else {\nif((ys \x3d\x3d null)){\nreturn false;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(xs),cljs.core.first(ys))){\nvar G__30214 \x3d cljs.core.next(xs);\nvar G__30215 \x3d cljs.core.next(ys);\nxs \x3d G__30214;\nys \x3d G__30215;\ncontinue;\n} else {\nreturn false;\n\n}\n}\n}\nbreak;\n}\n})()):null));\n});\ncljs.core.hash_coll \x3d (function cljs$core$hash_coll(coll){\nif(cljs.core.seq(coll)){\nvar res \x3d cljs.core.hash(cljs.core.first(coll));\nvar s \x3d cljs.core.next(coll);\nwhile(true){\nif((s \x3d\x3d null)){\nreturn res;\n} else {\nvar G__30219 \x3d cljs.core.hash_combine(res,cljs.core.hash(cljs.core.first(s)));\nvar G__30220 \x3d cljs.core.next(s);\nres \x3d G__30219;\ns \x3d G__30220;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn (0);\n}\n});\n\ncljs.core.hash_imap \x3d (function cljs$core$hash_imap(m){\nvar h \x3d (0);\nvar s \x3d cljs.core.seq(m);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__30221 \x3d ((h + (cljs.core.hash((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e))) ^ cljs.core.hash((cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e))))) % (4503599627370496));\nvar G__30222 \x3d cljs.core.next(s);\nh \x3d G__30221;\ns \x3d G__30222;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\ncljs.core.hash_iset \x3d (function cljs$core$hash_iset(s){\nvar h \x3d (0);\nvar s__$1 \x3d cljs.core.seq(s);\nwhile(true){\nif(s__$1){\nvar e \x3d cljs.core.first(s__$1);\nvar G__30223 \x3d ((h + cljs.core.hash(e)) % (4503599627370496));\nvar G__30224 \x3d cljs.core.next(s__$1);\nh \x3d G__30223;\ns__$1 \x3d G__30224;\ncontinue;\n} else {\nreturn h;\n}\nbreak;\n}\n});\n\n\n/**\n * Takes a JavaScript object and a map of names to functions and\n * attaches said functions as methods on the object. Any references to\n * JavaScript\x27s implicit this (via the this-as macro) will resolve to the\n * object that the function is attached.\n */\ncljs.core.extend_object_BANG_ \x3d (function cljs$core$extend_object_BANG_(obj,fn_map){\nvar seq__27286_30225 \x3d cljs.core.seq(fn_map);\nvar chunk__27287_30226 \x3d null;\nvar count__27288_30227 \x3d (0);\nvar i__27289_30228 \x3d (0);\nwhile(true){\nif((i__27289_30228 \x3c count__27288_30227)){\nvar vec__27296_30229 \x3d chunk__27287_30226.cljs$core$IIndexed$_nth$arity$2(null,i__27289_30228);\nvar key_name_30230 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27296_30229,(0),null);\nvar f_30231 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27296_30229,(1),null);\nvar str_name_30232 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_30230) : cljs.core.name.call(null,key_name_30230));\ncljs.core.goog$module$goog$object.set(obj,str_name_30232,f_30231);\n\n\nvar G__30233 \x3d seq__27286_30225;\nvar G__30234 \x3d chunk__27287_30226;\nvar G__30235 \x3d count__27288_30227;\nvar G__30236 \x3d (i__27289_30228 + (1));\nseq__27286_30225 \x3d G__30233;\nchunk__27287_30226 \x3d G__30234;\ncount__27288_30227 \x3d G__30235;\ni__27289_30228 \x3d G__30236;\ncontinue;\n} else {\nvar temp__5823__auto___30237 \x3d cljs.core.seq(seq__27286_30225);\nif(temp__5823__auto___30237){\nvar seq__27286_30238__$1 \x3d temp__5823__auto___30237;\nif(cljs.core.chunked_seq_QMARK_(seq__27286_30238__$1)){\nvar c__5548__auto___30239 \x3d (cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_first.cljs$core$IFn$_invoke$arity$1(seq__27286_30238__$1) : cljs.core.chunk_first.call(null,seq__27286_30238__$1));\nvar G__30240 \x3d (cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunk_rest.cljs$core$IFn$_invoke$arity$1(seq__27286_30238__$1) : cljs.core.chunk_rest.call(null,seq__27286_30238__$1));\nvar G__30241 \x3d c__5548__auto___30239;\nvar G__30242 \x3d cljs.core.count(c__5548__auto___30239);\nvar G__30243 \x3d (0);\nseq__27286_30225 \x3d G__30240;\nchunk__27287_30226 \x3d G__30241;\ncount__27288_30227 \x3d G__30242;\ni__27289_30228 \x3d G__30243;\ncontinue;\n} else {\nvar vec__27299_30244 \x3d cljs.core.first(seq__27286_30238__$1);\nvar key_name_30245 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27299_30244,(0),null);\nvar f_30246 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27299_30244,(1),null);\nvar str_name_30247 \x3d (cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(key_name_30245) : cljs.core.name.call(null,key_name_30245));\ncljs.core.goog$module$goog$object.set(obj,str_name_30247,f_30246);\n\n\nvar G__30248 \x3d cljs.core.next(seq__27286_30238__$1);\nvar G__30249 \x3d null;\nvar G__30250 \x3d (0);\nvar G__30251 \x3d (0);\nseq__27286_30225 \x3d G__30248;\nchunk__27287_30226 \x3d G__30249;\ncount__27288_30227 \x3d G__30250;\ni__27289_30228 \x3d G__30251;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.List \x3d (function (meta,first,rest,count,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.count \x3d count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937646;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.List.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.List.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.List.prototype.indexOf \x3d (function() {\nvar G__30252 \x3d null;\nvar G__30252__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30252__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30252 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30252__1.call(this,x);\ncase 2:\nreturn G__30252__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30252.cljs$core$IFn$_invoke$arity$1 \x3d G__30252__1;\nG__30252.cljs$core$IFn$_invoke$arity$2 \x3d G__30252__2;\nreturn G__30252;\n})()\n);\n\n(cljs.core.List.prototype.lastIndexOf \x3d (function() {\nvar G__30253 \x3d null;\nvar G__30253__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__30253__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30253 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30253__1.call(this,x);\ncase 2:\nreturn G__30253__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30253.cljs$core$IFn$_invoke$arity$1 \x3d G__30253__1;\nG__30253.cljs$core$IFn$_invoke$arity$2 \x3d G__30253__2;\nreturn G__30253;\n})()\n);\n\n(cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,self__.first,self__.rest,self__.count,self__.__hash));\n}));\n\n(cljs.core.List.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (1))){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.List(new_meta,self__.first,self__.rest,self__.count,self__.__hash));\n}\n}));\n\n(cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,coll__$1,(self__.count + (1)),null));\n}));\n\n(cljs.core.List.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.List.cljs$lang$type \x3d true);\n\n(cljs.core.List.cljs$lang$ctorStr \x3d \x22cljs.core/List\x22);\n\n(cljs.core.List.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/List\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/List.\n */\ncljs.core.__GT_List \x3d (function cljs$core$__GT_List(meta,first,rest,count,__hash){\nreturn (new cljs.core.List(meta,first,rest,count,__hash));\n});\n\n/**\n * Returns true if x implements IList\n */\ncljs.core.list_QMARK_ \x3d (function cljs$core$list_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (33554432))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IList$)))){\nreturn true;\n} else {\nif((!x.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);\n}\n});\n(cljs.core.List.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.EmptyList \x3d (function (meta){\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65937614;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.EmptyList.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.EmptyList.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.EmptyList.prototype.indexOf \x3d (function() {\nvar G__30255 \x3d null;\nvar G__30255__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30255__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30255 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30255__1.call(this,x);\ncase 2:\nreturn G__30255__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30255.cljs$core$IFn$_invoke$arity$1 \x3d G__30255__1;\nG__30255.cljs$core$IFn$_invoke$arity$2 \x3d G__30255__2;\nreturn G__30255;\n})()\n);\n\n(cljs.core.EmptyList.prototype.lastIndexOf \x3d (function() {\nvar G__30256 \x3d null;\nvar G__30256__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30256__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30256 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30256__1.call(this,x);\ncase 2:\nreturn G__30256__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30256.cljs$core$IFn$_invoke$arity$1 \x3d G__30256__1;\nG__30256.cljs$core$IFn$_invoke$arity$2 \x3d G__30256__2;\nreturn G__30256;\n})()\n);\n\n(cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.EmptyList(self__.meta));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (0);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nthrow (new Error(\x22Can\x27t pop empty list\x22));\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.empty_ordered_hash;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.list_QMARK_(other)) || (cljs.core.sequential_QMARK_(other)))){\nreturn (cljs.core.seq(other) \x3d\x3d null);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.EmptyList(new_meta));\n}\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(self__.meta,o,null,(1),null));\n}));\n\n(cljs.core.EmptyList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cljs.core.EmptyList.cljs$lang$type \x3d true);\n\n(cljs.core.EmptyList.cljs$lang$ctorStr \x3d \x22cljs.core/EmptyList\x22);\n\n(cljs.core.EmptyList.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/EmptyList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/EmptyList.\n */\ncljs.core.__GT_EmptyList \x3d (function cljs$core$__GT_EmptyList(meta){\nreturn (new cljs.core.EmptyList(meta));\n});\n\n(cljs.core.List.EMPTY \x3d (new cljs.core.EmptyList(null)));\n(cljs.core.EmptyList.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns true if coll satisfies? IReversible.\n */\ncljs.core.reversible_QMARK_ \x3d (function cljs$core$reversible_QMARK_(coll){\nif((!((coll \x3d\x3d null)))){\nif((((coll.cljs$lang$protocol_mask$partition0$ \x26 (134217728))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IReversible$)))){\nreturn true;\n} else {\nif((!coll.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);\n}\n});\n/**\n * Returns, in constant time, a seq of the items in rev (which\n * can be a vector or sorted-map), in reverse order. If rev is empty returns nil\n */\ncljs.core.rseq \x3d (function cljs$core$rseq(rev){\nreturn cljs.core._rseq(rev);\n});\n/**\n * Returns a seq of the items in coll in reverse order. Not lazy.\n */\ncljs.core.reverse \x3d (function cljs$core$reverse(coll){\nif(cljs.core.reversible_QMARK_(coll)){\nvar or__5025__auto__ \x3d cljs.core.rseq(coll);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n}\n});\n/**\n * Creates a new list containing the items.\n */\ncljs.core.list \x3d (function cljs$core$list(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___30260 \x3d arguments.length;\nvar i__5750__auto___30261 \x3d (0);\nwhile(true){\nif((i__5750__auto___30261 \x3c len__5749__auto___30260)){\nargs__5755__auto__.push((arguments[i__5750__auto___30261]));\n\nvar G__30262 \x3d (i__5750__auto___30261 + (1));\ni__5750__auto___30261 \x3d G__30262;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nvar arr \x3d (((((xs instanceof cljs.core.IndexedSeq)) \x26\x26 ((xs.i \x3d\x3d\x3d (0)))))?xs.arr:(function (){var arr \x3d [];\nvar xs__$1 \x3d xs;\nwhile(true){\nif((!((xs__$1 \x3d\x3d null)))){\narr.push(cljs.core._first(xs__$1));\n\nvar G__30263 \x3d cljs.core._next(xs__$1);\nxs__$1 \x3d G__30263;\ncontinue;\n} else {\nreturn arr;\n}\nbreak;\n}\n})());\nvar i \x3d arr.length;\nvar r \x3d cljs.core.List.EMPTY;\nwhile(true){\nif((i \x3e (0))){\nvar G__30264 \x3d (i - (1));\nvar G__30265 \x3d cljs.core._conj(r,(arr[(i - (1))]));\ni \x3d G__30264;\nr \x3d G__30265;\ncontinue;\n} else {\nreturn r;\n}\nbreak;\n}\n}));\n\n(cljs.core.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.list.cljs$lang$applyTo \x3d (function (seq27304){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27304));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IList}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cons \x3d (function (meta,first,rest,__hash){\nthis.meta \x3d meta;\nthis.first \x3d first;\nthis.rest \x3d rest;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 65929452;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.Cons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Cons.prototype.indexOf \x3d (function() {\nvar G__30267 \x3d null;\nvar G__30267__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30267__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30267 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30267__1.call(this,x);\ncase 2:\nreturn G__30267__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30267.cljs$core$IFn$_invoke$arity$1 \x3d G__30267__1;\nG__30267.cljs$core$IFn$_invoke$arity$2 \x3d G__30267__2;\nreturn G__30267;\n})()\n);\n\n(cljs.core.Cons.prototype.lastIndexOf \x3d (function() {\nvar G__30268 \x3d null;\nvar G__30268__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30268__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30268 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30268__1.call(this,x);\ncase 2:\nreturn G__30268__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30268.cljs$core$IFn$_invoke$arity$1 \x3d G__30268__1;\nG__30268.cljs$core$IFn$_invoke$arity$2 \x3d G__30268__2;\nreturn G__30268;\n})()\n);\n\n(cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Cons(self__.meta,self__.first,self__.rest,self__.__hash));\n}));\n\n(cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.seq(self__.rest);\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.first;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.rest \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.rest;\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cons(new_meta,self__.first,self__.rest,self__.__hash));\n}\n}));\n\n(cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.Cons(null,o,coll__$1,null));\n}));\n\n(cljs.core.Cons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cons.cljs$lang$type \x3d true);\n\n(cljs.core.Cons.cljs$lang$ctorStr \x3d \x22cljs.core/Cons\x22);\n\n(cljs.core.Cons.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Cons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cons.\n */\ncljs.core.__GT_Cons \x3d (function cljs$core$__GT_Cons(meta,first,rest,__hash){\nreturn (new cljs.core.Cons(meta,first,rest,__hash));\n});\n\n(cljs.core.Cons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a new seq where x is the first element and coll is the rest.\n */\ncljs.core.cons \x3d (function cljs$core$cons(x,coll){\nif((coll \x3d\x3d null)){\nreturn (new cljs.core.List(null,x,null,(1),null));\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISeq$))))?true:false):false)){\nreturn (new cljs.core.Cons(null,x,coll,null));\n} else {\nreturn (new cljs.core.Cons(null,x,cljs.core.seq(coll),null));\n\n}\n}\n});\ncljs.core.hash_keyword \x3d (function cljs$core$hash_keyword(k){\nreturn ((cljs.core.hash_symbol(k) + (2654435769)) | (0));\n});\ncljs.core.compare_keywords \x3d (function cljs$core$compare_keywords(a,b){\nif((a.fqn \x3d\x3d\x3d b.fqn)){\nreturn (0);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(a.ns);\nif(and__5023__auto__){\nreturn b.ns;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (-1);\n} else {\nif(cljs.core.truth_(a.ns)){\nif(cljs.core.not(b.ns)){\nreturn (1);\n} else {\nvar nsc \x3d cljs.core.goog$module$goog$array.defaultCompare(a.ns,b.ns);\nif(((0) \x3d\x3d\x3d nsc)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n} else {\nreturn nsc;\n}\n}\n} else {\nreturn cljs.core.goog$module$goog$array.defaultCompare(a.name,b.name);\n\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Keyword \x3d (function (ns,name,fqn,_hash){\nthis.ns \x3d ns;\nthis.name \x3d name;\nthis.fqn \x3d fqn;\nthis._hash \x3d _hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775105;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(cljs.core.Keyword.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27);\n}));\n\n(cljs.core.Keyword.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Keyword)){\nreturn (self__.fqn \x3d\x3d\x3d other.fqn);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Keyword.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27307 \x3d (arguments.length - (1));\nswitch (G__27307) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Keyword.prototype.apply \x3d (function (self__,args27306){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27306)));\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (coll,not_found){\nvar self__ \x3d this;\nvar kw \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar h__5134__auto__ \x3d self__._hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_keyword(this$__$1);\n(self__._hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ns;\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,_){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(\x27\x27));\n}));\n\n(cljs.core.Keyword.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22fqn\x22,\x22fqn\x22,-1749334463,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_hash\x22,\x22_hash\x22,-2130838312,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Keyword.cljs$lang$type \x3d true);\n\n(cljs.core.Keyword.cljs$lang$ctorStr \x3d \x22cljs.core/Keyword\x22);\n\n(cljs.core.Keyword.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Keyword\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Keyword.\n */\ncljs.core.__GT_Keyword \x3d (function cljs$core$__GT_Keyword(ns,name,fqn,_hash){\nreturn (new cljs.core.Keyword(ns,name,fqn,_hash));\n});\n\n/**\n * Return true if x is a Keyword\n */\ncljs.core.keyword_QMARK_ \x3d (function cljs$core$keyword_QMARK_(x){\nreturn (x instanceof cljs.core.Keyword);\n});\n/**\n * Efficient test to determine that two keywords are identical.\n */\ncljs.core.keyword_identical_QMARK_ \x3d (function cljs$core$keyword_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Keyword)) \x26\x26 ((y instanceof cljs.core.Keyword)))){\nreturn (x.fqn \x3d\x3d\x3d y.fqn);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Efficient test to determine that two symbols are identical.\n */\ncljs.core.symbol_identical_QMARK_ \x3d (function cljs$core$symbol_identical_QMARK_(x,y){\nif((x \x3d\x3d\x3d y)){\nreturn true;\n} else {\nif((((x instanceof cljs.core.Symbol)) \x26\x26 ((y instanceof cljs.core.Symbol)))){\nreturn (x.str \x3d\x3d\x3d y.str);\n} else {\nreturn false;\n}\n}\n});\n/**\n * Returns the namespace String of a symbol or keyword, or nil if not present.\n */\ncljs.core.namespace \x3d (function cljs$core$namespace(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_namespace$arity$1(null);\n} else {\nthrow (new Error([\x22Doesn\x27t support namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n});\n/**\n * Return true if x is a symbol or keyword\n */\ncljs.core.ident_QMARK_ \x3d (function cljs$core$ident_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol)));\n});\n/**\n * Return true if x is a symbol or keyword without a namespace\n */\ncljs.core.simple_ident_QMARK_ \x3d (function cljs$core$simple_ident_QMARK_(x){\nreturn ((cljs.core.ident_QMARK_(x)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol or keyword with a namespace\n */\ncljs.core.qualified_ident_QMARK_ \x3d (function cljs$core$qualified_ident_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs.core.ident_QMARK_(x);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn true;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\n/**\n * Return true if x is a symbol without a namespace\n */\ncljs.core.simple_symbol_QMARK_ \x3d (function cljs$core$simple_symbol_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a symbol with a namespace\n */\ncljs.core.qualified_symbol_QMARK_ \x3d (function cljs$core$qualified_symbol_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (x instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn true;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\n/**\n * Return true if x is a keyword without a namespace\n */\ncljs.core.simple_keyword_QMARK_ \x3d (function cljs$core$simple_keyword_QMARK_(x){\nreturn (((x instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(x) \x3d\x3d null)));\n});\n/**\n * Return true if x is a keyword with a namespace\n */\ncljs.core.qualified_keyword_QMARK_ \x3d (function cljs$core$qualified_keyword_QMARK_(x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (x instanceof cljs.core.Keyword);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.namespace(x);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn true;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\n/**\n * Returns a Keyword with the given namespace and name. Do not use :\n * in the keyword strings, it will be added automatically.\n */\ncljs.core.keyword \x3d (function cljs$core$keyword(var_args){\nvar G__27310 \x3d arguments.length;\nswitch (G__27310) {\ncase 1:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif((name instanceof cljs.core.Keyword)){\nreturn name;\n} else {\nif((name instanceof cljs.core.Symbol)){\nreturn (new cljs.core.Keyword(cljs.core.namespace(name),(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)),name.str,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,name)){\nreturn (new cljs.core.Keyword(null,name,name,null));\n} else {\nif(typeof name \x3d\x3d\x3d \x27string\x27){\nvar parts \x3d name.split(\x22/\x22);\nif((parts.length \x3d\x3d\x3d (2))){\nreturn (new cljs.core.Keyword((parts[(0)]),(parts[(1)]),name,null));\n} else {\nreturn (new cljs.core.Keyword(null,(parts[(0)]),name,null));\n}\n} else {\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.keyword.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nvar ns__$1 \x3d (((ns instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):(((ns instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(ns) : cljs.core.name.call(null,ns)):ns\n));\nvar name__$1 \x3d (((name instanceof cljs.core.Keyword))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):(((name instanceof cljs.core.Symbol))?(cljs.core.name.cljs$core$IFn$_invoke$arity$1 ? cljs.core.name.cljs$core$IFn$_invoke$arity$1(name) : cljs.core.name.call(null,name)):name\n));\nreturn (new cljs.core.Keyword(ns__$1,name__$1,[(cljs.core.truth_(ns__$1)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__$1)].join(\x27\x27),null));\n}));\n\n(cljs.core.keyword.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.LazySeq \x3d (function (meta,fn,s,__hash){\nthis.meta \x3d meta;\nthis.fn \x3d fn;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.LazySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.LazySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.LazySeq.prototype.sval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.fn \x3d\x3d null)){\nreturn self__.s;\n} else {\n(self__.s \x3d (self__.fn.cljs$core$IFn$_invoke$arity$0 ? self__.fn.cljs$core$IFn$_invoke$arity$0() : self__.fn.call(null)));\n\n(self__.fn \x3d null);\n\nreturn self__.s;\n}\n}));\n\n(cljs.core.LazySeq.prototype.indexOf \x3d (function() {\nvar G__30282 \x3d null;\nvar G__30282__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30282__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30282 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30282__1.call(this,x);\ncase 2:\nreturn G__30282__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30282.cljs$core$IFn$_invoke$arity$1 \x3d G__30282__1;\nG__30282.cljs$core$IFn$_invoke$arity$2 \x3d G__30282__2;\nreturn G__30282;\n})()\n);\n\n(cljs.core.LazySeq.prototype.lastIndexOf \x3d (function() {\nvar G__30283 \x3d null;\nvar G__30283__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30283__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30283 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30283__1.call(this,x);\ncase 2:\nreturn G__30283__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30283.cljs$core$IFn$_invoke$arity$1 \x3d G__30283__1;\nG__30283.cljs$core$IFn$_invoke$arity$2 \x3d G__30283__2;\nreturn G__30283;\n})()\n);\n\n(cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.next(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.not(self__.fn);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n\nif((!((self__.s \x3d\x3d null)))){\nreturn cljs.core.rest(self__.s);\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\ncoll__$1.sval();\n\nif((self__.s \x3d\x3d null)){\nreturn null;\n} else {\nvar ls \x3d self__.s;\nwhile(true){\nif((ls instanceof cljs.core.LazySeq)){\nvar G__30288 \x3d ls.sval();\nls \x3d G__30288;\ncontinue;\n} else {\n(self__.s \x3d ls);\n\nreturn cljs.core.seq(self__.s);\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.LazySeq(new_meta,(function (){\nreturn coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\n}),null,self__.__hash));\n}\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.LazySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.LazySeq.cljs$lang$type \x3d true);\n\n(cljs.core.LazySeq.cljs$lang$ctorStr \x3d \x22cljs.core/LazySeq\x22);\n\n(cljs.core.LazySeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/LazySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/LazySeq.\n */\ncljs.core.__GT_LazySeq \x3d (function cljs$core$__GT_LazySeq(meta,fn,s,__hash){\nreturn (new cljs.core.LazySeq(meta,fn,s,__hash));\n});\n\n(cljs.core.LazySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n*/\ncljs.core.ChunkBuffer \x3d (function (buf,end){\nthis.buf \x3d buf;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ChunkBuffer.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.buf[self__.end] \x3d o);\n\nreturn (self__.end \x3d (self__.end + (1)));\n}));\n\n(cljs.core.ChunkBuffer.prototype.chunk \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.ArrayChunk(self__.buf,(0),self__.end));\n(self__.buf \x3d null);\n\nreturn ret;\n}));\n\n(cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.end;\n}));\n\n(cljs.core.ChunkBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkBuffer\x22);\n\n(cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ChunkBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkBuffer.\n */\ncljs.core.__GT_ChunkBuffer \x3d (function cljs$core$__GT_ChunkBuffer(buf,end){\nreturn (new cljs.core.ChunkBuffer(buf,end));\n});\n\ncljs.core.chunk_buffer \x3d (function cljs$core$chunk_buffer(capacity){\nreturn (new cljs.core.ChunkBuffer((new Array(capacity)),(0)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.IChunk}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayChunk \x3d (function (arr,off,end){\nthis.arr \x3d arr;\nthis.off \x3d off;\nthis.end \x3d end;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 524306;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.end - self__.off);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.arr[(self__.off + i)]);\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c (self__.end - self__.off))))){\nreturn (self__.arr[(self__.off + i)]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.off \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.ArrayChunk(self__.arr,(self__.off + (1)),self__.end));\n}\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.off]),(self__.off + (1)));\n}));\n\n(cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.off);\n}));\n\n(cljs.core.ArrayChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.ArrayChunk.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayChunk\x22);\n\n(cljs.core.ArrayChunk.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayChunk.\n */\ncljs.core.__GT_ArrayChunk \x3d (function cljs$core$__GT_ArrayChunk(arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n});\n\ncljs.core.array_chunk \x3d (function cljs$core$array_chunk(var_args){\nvar G__27312 \x3d arguments.length;\nswitch (G__27312) {\ncase 1:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1 \x3d (function (arr){\nreturn (new cljs.core.ArrayChunk(arr,(0),arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2 \x3d (function (arr,off){\nreturn (new cljs.core.ArrayChunk(arr,off,arr.length));\n}));\n\n(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,off,end){\nreturn (new cljs.core.ArrayChunk(arr,off,end));\n}));\n\n(cljs.core.array_chunk.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.ChunkedCons \x3d (function (chunk,more,meta,__hash){\nthis.chunk \x3d chunk;\nthis.more \x3d more;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850732;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1536;\n});\n(cljs.core.ChunkedCons.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedCons.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.indexOf \x3d (function() {\nvar G__30290 \x3d null;\nvar G__30290__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30290__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30290 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30290__1.call(this,x);\ncase 2:\nreturn G__30290__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30290.cljs$core$IFn$_invoke$arity$1 \x3d G__30290__1;\nG__30290.cljs$core$IFn$_invoke$arity$2 \x3d G__30290__2;\nreturn G__30290;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.lastIndexOf \x3d (function() {\nvar G__30291 \x3d null;\nvar G__30291__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30291__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30291 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30291__1.call(this,x);\ncase 2:\nreturn G__30291__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30291.cljs$core$IFn$_invoke$arity$1 \x3d G__30291__1;\nG__30291.cljs$core$IFn$_invoke$arity$2 \x3d G__30291__2;\nreturn G__30291;\n})()\n);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core._seq(self__.more);\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._nth(self__.chunk,(0));\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core._count(self__.chunk) \x3e (1))){\nreturn (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,null,null));\n} else {\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.chunk;\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ChunkedCons(self__.chunk,self__.more,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,o){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.cons(o,this$__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.more \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.more;\n}\n}));\n\n(cljs.core.ChunkedCons.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedCons.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedCons\x22);\n\n(cljs.core.ChunkedCons.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ChunkedCons\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedCons.\n */\ncljs.core.__GT_ChunkedCons \x3d (function cljs$core$__GT_ChunkedCons(chunk,more,meta,__hash){\nreturn (new cljs.core.ChunkedCons(chunk,more,meta,__hash));\n});\n\n(cljs.core.ChunkedCons.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.chunk_cons \x3d (function cljs$core$chunk_cons(chunk,rest){\nif((cljs.core._count(chunk) \x3d\x3d\x3d (0))){\nreturn rest;\n} else {\nreturn (new cljs.core.ChunkedCons(chunk,rest,null,null));\n}\n});\ncljs.core.chunk_append \x3d (function cljs$core$chunk_append(b,x){\nreturn b.add(x);\n});\ncljs.core.chunk \x3d (function cljs$core$chunk(b){\nreturn b.chunk();\n});\ncljs.core.chunk_first \x3d (function cljs$core$chunk_first(s){\nreturn cljs.core._chunked_first(s);\n});\ncljs.core.chunk_rest \x3d (function cljs$core$chunk_rest(s){\nreturn cljs.core._chunked_rest(s);\n});\ncljs.core.chunk_next \x3d (function cljs$core$chunk_next(s){\nif((((!((s \x3d\x3d null))))?(((((s.cljs$lang$protocol_mask$partition1$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d s.cljs$core$IChunkedNext$))))?true:false):false)){\nreturn s.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core._chunked_rest(s));\n}\n});\n/**\n * Returns an array containing the contents of coll.\n */\ncljs.core.to_array \x3d (function cljs$core$to_array(coll){\nvar ary \x3d [];\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((s \x3d\x3d null)))){\nary.push(cljs.core.first(s));\n\nvar G__30296 \x3d cljs.core.next(s);\ns \x3d G__30296;\ncontinue;\n} else {\nreturn ary;\n}\nbreak;\n}\n});\n/**\n * Returns a (potentially-ragged) 2-dimensional array\n * containing the contents of coll.\n */\ncljs.core.to_array_2d \x3d (function cljs$core$to_array_2d(coll){\nvar ret \x3d (new Array(cljs.core.count(coll)));\nvar i_30297 \x3d (0);\nvar xs_30298 \x3d cljs.core.seq(coll);\nwhile(true){\nif((xs_30298 \x3d\x3d null)){\n} else {\n(ret[i_30297] \x3d cljs.core.to_array(cljs.core.first(xs_30298)));\n\nvar G__30299 \x3d (i_30297 + (1));\nvar G__30300 \x3d cljs.core.next(xs_30298);\ni_30297 \x3d G__30299;\nxs_30298 \x3d G__30300;\ncontinue;\n}\nbreak;\n}\n\nreturn ret;\n});\n/**\n * Creates an array of ints. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.int_array \x3d (function cljs$core$int_array(var_args){\nvar G__27315 \x3d arguments.length;\nswitch (G__27315) {\ncase 1:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.int_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30302 \x3d (i + (1));\nvar G__30303 \x3d cljs.core.next(s__$1);\ni \x3d G__30302;\ns__$1 \x3d G__30303;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30304 \x3d size;\nvar i_30305 \x3d (0);\nwhile(true){\nif((i_30305 \x3c n__5616__auto___30304)){\n(a[i_30305] \x3d init_val_or_seq);\n\nvar G__30306 \x3d (i_30305 + (1));\ni_30305 \x3d G__30306;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.int_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of longs. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.long_array \x3d (function cljs$core$long_array(var_args){\nvar G__27317 \x3d arguments.length;\nswitch (G__27317) {\ncase 1:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.long_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30309 \x3d (i + (1));\nvar G__30310 \x3d cljs.core.next(s__$1);\ni \x3d G__30309;\ns__$1 \x3d G__30310;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30311 \x3d size;\nvar i_30312 \x3d (0);\nwhile(true){\nif((i_30312 \x3c n__5616__auto___30311)){\n(a[i_30312] \x3d init_val_or_seq);\n\nvar G__30313 \x3d (i_30312 + (1));\ni_30312 \x3d G__30313;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.long_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of doubles. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.double_array \x3d (function cljs$core$double_array(var_args){\nvar G__27319 \x3d arguments.length;\nswitch (G__27319) {\ncase 1:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.double_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30316 \x3d (i + (1));\nvar G__30317 \x3d cljs.core.next(s__$1);\ni \x3d G__30316;\ns__$1 \x3d G__30317;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30318 \x3d size;\nvar i_30319 \x3d (0);\nwhile(true){\nif((i_30319 \x3c n__5616__auto___30318)){\n(a[i_30319] \x3d init_val_or_seq);\n\nvar G__30326 \x3d (i_30319 + (1));\ni_30319 \x3d G__30326;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.double_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an array of objects. Does not coerce array, provided for compatibility\n * with Clojure.\n */\ncljs.core.object_array \x3d (function cljs$core$object_array(var_args){\nvar G__27321 \x3d arguments.length;\nswitch (G__27321) {\ncase 1:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$1 \x3d (function (size_or_seq){\nif(typeof size_or_seq \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);\n} else {\nreturn cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);\n}\n}));\n\n(cljs.core.object_array.cljs$core$IFn$_invoke$arity$2 \x3d (function (size,init_val_or_seq){\nvar a \x3d (new Array(size));\nif(cljs.core.seq_QMARK_(init_val_or_seq)){\nvar s \x3d cljs.core.seq(init_val_or_seq);\nvar i \x3d (0);\nvar s__$1 \x3d s;\nwhile(true){\nif(((s__$1) \x26\x26 ((i \x3c size)))){\n(a[i] \x3d cljs.core.first(s__$1));\n\nvar G__30331 \x3d (i + (1));\nvar G__30332 \x3d cljs.core.next(s__$1);\ni \x3d G__30331;\ns__$1 \x3d G__30332;\ncontinue;\n} else {\nreturn a;\n}\nbreak;\n}\n} else {\nvar n__5616__auto___30333 \x3d size;\nvar i_30334 \x3d (0);\nwhile(true){\nif((i_30334 \x3c n__5616__auto___30333)){\n(a[i_30334] \x3d init_val_or_seq);\n\nvar G__30338 \x3d (i_30334 + (1));\ni_30334 \x3d G__30338;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn a;\n}\n}));\n\n(cljs.core.object_array.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * If coll is counted? returns its count, else will count at most the first n\n * elements of coll using its seq\n */\ncljs.core.bounded_count \x3d (function cljs$core$bounded_count(n,coll){\nif(cljs.core.counted_QMARK_(coll)){\nreturn cljs.core.count(coll);\n} else {\nvar i \x3d (0);\nvar s \x3d cljs.core.seq(coll);\nwhile(true){\nif((((!((s \x3d\x3d null)))) \x26\x26 ((i \x3c n)))){\nvar G__30339 \x3d (i + (1));\nvar G__30340 \x3d cljs.core.next(s);\ni \x3d G__30339;\ns \x3d G__30340;\ncontinue;\n} else {\nreturn i;\n}\nbreak;\n}\n}\n});\ncljs.core.spread \x3d (function cljs$core$spread(arglist){\nif((arglist \x3d\x3d null)){\nreturn null;\n} else {\nvar n \x3d cljs.core.next(arglist);\nif((n \x3d\x3d null)){\nreturn cljs.core.seq(cljs.core.first(arglist));\n} else {\nreturn 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)));\n}\n}\n});\n/**\n * Returns a lazy seq representing the concatenation of the elements in the supplied colls.\n */\ncljs.core.concat \x3d (function cljs$core$concat(var_args){\nvar G__27326 \x3d arguments.length;\nswitch (G__27326) {\ncase 0:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30342 \x3d arguments.length;\nvar i__5750__auto___30343 \x3d (0);\nwhile(true){\nif((i__5750__auto___30343 \x3c len__5749__auto___30342)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30343]));\n\nvar G__30344 \x3d (i__5750__auto___30343 + (1));\ni__5750__auto___30343 \x3d G__30344;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn null;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn x;\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s \x3d cljs.core.seq(x);\nif(s){\nif(cljs.core.chunked_seq_QMARK_(s)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(s),y));\n} else {\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s),y));\n}\n} else {\nreturn y;\n}\n}),null,null));\n}));\n\n(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,zs){\nvar cat \x3d (function cljs$core$cat(xys,zs__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar xys__$1 \x3d cljs.core.seq(xys);\nif(xys__$1){\nif(cljs.core.chunked_seq_QMARK_(xys__$1)){\nreturn cljs.core.chunk_cons(cljs.core.chunk_first(xys__$1),cljs$core$cat(cljs.core.chunk_rest(xys__$1),zs__$1));\n} else {\nreturn cljs.core.cons(cljs.core.first(xys__$1),cljs$core$cat(cljs.core.rest(xys__$1),zs__$1));\n}\n} else {\nif(cljs.core.truth_(zs__$1)){\nreturn cljs$core$cat(cljs.core.first(zs__$1),cljs.core.next(zs__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,y),zs);\n}));\n\n/** @this {Function} */\n(cljs.core.concat.cljs$lang$applyTo \x3d (function (seq27323){\nvar G__27324 \x3d cljs.core.first(seq27323);\nvar seq27323__$1 \x3d cljs.core.next(seq27323);\nvar G__27325 \x3d cljs.core.first(seq27323__$1);\nvar seq27323__$2 \x3d cljs.core.next(seq27323__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27324,G__27325,seq27323__$2);\n}));\n\n(cljs.core.concat.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Creates a new list containing the items prepended to the rest, the\n * last of which will be treated as a sequence.\n */\ncljs.core.list_STAR_ \x3d (function cljs$core$list_STAR_(var_args){\nvar G__27333 \x3d arguments.length;\nswitch (G__27333) {\ncase 1:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30349 \x3d arguments.length;\nvar i__5750__auto___30350 \x3d (0);\nwhile(true){\nif((i__5750__auto___30350 \x3c len__5749__auto___30349)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30350]));\n\nvar G__30351 \x3d (i__5750__auto___30350 + (1));\ni__5750__auto___30350 \x3d G__30351;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (args){\nreturn cljs.core.seq(args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,args){\nreturn cljs.core.cons(a,args);\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,args));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,args){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,args)));\n}));\n\n(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,b,c,d,more){\nreturn cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(more)))));\n}));\n\n/** @this {Function} */\n(cljs.core.list_STAR_.cljs$lang$applyTo \x3d (function (seq27328){\nvar G__27329 \x3d cljs.core.first(seq27328);\nvar seq27328__$1 \x3d cljs.core.next(seq27328);\nvar G__27330 \x3d cljs.core.first(seq27328__$1);\nvar seq27328__$2 \x3d cljs.core.next(seq27328__$1);\nvar G__27331 \x3d cljs.core.first(seq27328__$2);\nvar seq27328__$3 \x3d cljs.core.next(seq27328__$2);\nvar G__27332 \x3d cljs.core.first(seq27328__$3);\nvar seq27328__$4 \x3d cljs.core.next(seq27328__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27329,G__27330,G__27331,G__27332,seq27328__$4);\n}));\n\n(cljs.core.list_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a new, transient version of the collection, in constant time.\n */\ncljs.core.transient$ \x3d (function cljs$core$transient(coll){\nreturn cljs.core._as_transient(coll);\n});\n/**\n * Returns a new, persistent version of the transient collection, in\n * constant time. The transient collection cannot be used after this\n * call, any such use will throw an exception.\n */\ncljs.core.persistent_BANG_ \x3d (function cljs$core$persistent_BANG_(tcoll){\nreturn cljs.core._persistent_BANG_(tcoll);\n});\n/**\n * Adds val to the transient collection, and return tcoll. The \x27addition\x27\n * may happen at different \x27places\x27 depending on the concrete type.\n */\ncljs.core.conj_BANG_ \x3d (function cljs$core$conj_BANG_(var_args){\nvar G__27338 \x3d arguments.length;\nswitch (G__27338) {\ncase 0:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30355 \x3d arguments.length;\nvar i__5750__auto___30356 \x3d (0);\nwhile(true){\nif((i__5750__auto___30356 \x3c len__5749__auto___30355)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30356]));\n\nvar G__30357 \x3d (i__5750__auto___30356 + (1));\ni__5750__auto___30356 \x3d G__30357;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tcoll){\nreturn tcoll;\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._conj_BANG_(tcoll,val);\n}));\n\n(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._conj_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__30358 \x3d ntcoll;\nvar G__30359 \x3d cljs.core.first(vals);\nvar G__30360 \x3d cljs.core.next(vals);\ntcoll \x3d G__30358;\nval \x3d G__30359;\nvals \x3d G__30360;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.conj_BANG_.cljs$lang$applyTo \x3d (function (seq27335){\nvar G__27336 \x3d cljs.core.first(seq27335);\nvar seq27335__$1 \x3d cljs.core.next(seq27335);\nvar G__27337 \x3d cljs.core.first(seq27335__$1);\nvar seq27335__$2 \x3d cljs.core.next(seq27335__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27336,G__27337,seq27335__$2);\n}));\n\n(cljs.core.conj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * When applied to a transient map, adds mapping of key(s) to\n * val(s). When applied to a transient vector, sets the val at index.\n * Note - index must be \x3c\x3d (count vector). Returns coll.\n */\ncljs.core.assoc_BANG_ \x3d (function cljs$core$assoc_BANG_(var_args){\nvar G__27344 \x3d arguments.length;\nswitch (G__27344) {\ncase 3:\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30362 \x3d arguments.length;\nvar i__5750__auto___30363 \x3d (0);\nwhile(true){\nif((i__5750__auto___30363 \x3c len__5749__auto___30362)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30363]));\n\nvar G__30364 \x3d (i__5750__auto___30363 + (1));\ni__5750__auto___30363 \x3d G__30364;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (tcoll,key,val){\nreturn cljs.core._assoc_BANG_(tcoll,key,val);\n}));\n\n(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,val,kvs){\nwhile(true){\nvar ntcoll \x3d cljs.core._assoc_BANG_(tcoll,key,val);\nif(cljs.core.truth_(kvs)){\nvar G__30366 \x3d ntcoll;\nvar G__30367 \x3d cljs.core.first(kvs);\nvar G__30368 \x3d cljs.core.second(kvs);\nvar G__30369 \x3d cljs.core.nnext(kvs);\ntcoll \x3d G__30366;\nkey \x3d G__30367;\nval \x3d G__30368;\nkvs \x3d G__30369;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.assoc_BANG_.cljs$lang$applyTo \x3d (function (seq27340){\nvar G__27341 \x3d cljs.core.first(seq27340);\nvar seq27340__$1 \x3d cljs.core.next(seq27340);\nvar G__27342 \x3d cljs.core.first(seq27340__$1);\nvar seq27340__$2 \x3d cljs.core.next(seq27340__$1);\nvar G__27343 \x3d cljs.core.first(seq27340__$2);\nvar seq27340__$3 \x3d cljs.core.next(seq27340__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27341,G__27342,G__27343,seq27340__$3);\n}));\n\n(cljs.core.assoc_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a transient map that doesn\x27t contain a mapping for key(s).\n */\ncljs.core.dissoc_BANG_ \x3d (function cljs$core$dissoc_BANG_(var_args){\nvar G__27349 \x3d arguments.length;\nswitch (G__27349) {\ncase 2:\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30374 \x3d arguments.length;\nvar i__5750__auto___30375 \x3d (0);\nwhile(true){\nif((i__5750__auto___30375 \x3c len__5749__auto___30374)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30375]));\n\nvar G__30376 \x3d (i__5750__auto___30375 + (1));\ni__5750__auto___30375 \x3d G__30376;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,key){\nreturn cljs.core._dissoc_BANG_(tcoll,key);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,key,ks){\nwhile(true){\nvar ntcoll \x3d cljs.core._dissoc_BANG_(tcoll,key);\nif(cljs.core.truth_(ks)){\nvar G__30377 \x3d ntcoll;\nvar G__30378 \x3d cljs.core.first(ks);\nvar G__30379 \x3d cljs.core.next(ks);\ntcoll \x3d G__30377;\nkey \x3d G__30378;\nks \x3d G__30379;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.dissoc_BANG_.cljs$lang$applyTo \x3d (function (seq27346){\nvar G__27347 \x3d cljs.core.first(seq27346);\nvar seq27346__$1 \x3d cljs.core.next(seq27346);\nvar G__27348 \x3d cljs.core.first(seq27346__$1);\nvar seq27346__$2 \x3d cljs.core.next(seq27346__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27347,G__27348,seq27346__$2);\n}));\n\n(cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Removes the last item from a transient vector. If\n * the collection is empty, throws an exception. Returns tcoll\n */\ncljs.core.pop_BANG_ \x3d (function cljs$core$pop_BANG_(tcoll){\nreturn cljs.core._pop_BANG_(tcoll);\n});\n/**\n * disj[oin]. Returns a transient set of the same (hashed/sorted) type, that\n * does not contain key(s).\n */\ncljs.core.disj_BANG_ \x3d (function cljs$core$disj_BANG_(var_args){\nvar G__27354 \x3d arguments.length;\nswitch (G__27354) {\ncase 2:\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30381 \x3d arguments.length;\nvar i__5750__auto___30382 \x3d (0);\nwhile(true){\nif((i__5750__auto___30382 \x3c len__5749__auto___30381)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30382]));\n\nvar G__30383 \x3d (i__5750__auto___30382 + (1));\ni__5750__auto___30382 \x3d G__30383;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tcoll,val){\nreturn cljs.core._disjoin_BANG_(tcoll,val);\n}));\n\n(cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tcoll,val,vals){\nwhile(true){\nvar ntcoll \x3d cljs.core._disjoin_BANG_(tcoll,val);\nif(cljs.core.truth_(vals)){\nvar G__30384 \x3d ntcoll;\nvar G__30385 \x3d cljs.core.first(vals);\nvar G__30386 \x3d cljs.core.next(vals);\ntcoll \x3d G__30384;\nval \x3d G__30385;\nvals \x3d G__30386;\ncontinue;\n} else {\nreturn ntcoll;\n}\nbreak;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.disj_BANG_.cljs$lang$applyTo \x3d (function (seq27351){\nvar G__27352 \x3d cljs.core.first(seq27351);\nvar seq27351__$1 \x3d cljs.core.next(seq27351);\nvar G__27353 \x3d cljs.core.first(seq27351__$1);\nvar seq27351__$2 \x3d cljs.core.next(seq27351__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27352,G__27353,seq27351__$2);\n}));\n\n(cljs.core.disj_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n\ncljs.core.apply_to \x3d (function cljs$core$apply_to(f,argc,args){\nvar args__$1 \x3d cljs.core.seq(args);\nif((argc \x3d\x3d\x3d (0))){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar a265 \x3d cljs.core._first(args__$1);\nvar args__$2 \x3d cljs.core._rest(args__$1);\nif((argc \x3d\x3d\x3d (1))){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(a265) : f.call(null,a265));\n} else {\nvar b266 \x3d cljs.core._first(args__$2);\nvar args__$3 \x3d cljs.core._rest(args__$2);\nif((argc \x3d\x3d\x3d (2))){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(a265,b266) : f.call(null,a265,b266));\n} else {\nvar c267 \x3d cljs.core._first(args__$3);\nvar args__$4 \x3d cljs.core._rest(args__$3);\nif((argc \x3d\x3d\x3d (3))){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(a265,b266,c267) : f.call(null,a265,b266,c267));\n} else {\nvar d268 \x3d cljs.core._first(args__$4);\nvar args__$5 \x3d cljs.core._rest(args__$4);\nif((argc \x3d\x3d\x3d (4))){\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(a265,b266,c267,d268) : f.call(null,a265,b266,c267,d268));\n} else {\nvar e269 \x3d cljs.core._first(args__$5);\nvar args__$6 \x3d cljs.core._rest(args__$5);\nif((argc \x3d\x3d\x3d (5))){\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(a265,b266,c267,d268,e269) : f.call(null,a265,b266,c267,d268,e269));\n} else {\nvar f270 \x3d cljs.core._first(args__$6);\nvar args__$7 \x3d cljs.core._rest(args__$6);\nif((argc \x3d\x3d\x3d (6))){\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(a265,b266,c267,d268,e269,f270) : f.call(null,a265,b266,c267,d268,e269,f270));\n} else {\nvar g271 \x3d cljs.core._first(args__$7);\nvar args__$8 \x3d cljs.core._rest(args__$7);\nif((argc \x3d\x3d\x3d (7))){\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(a265,b266,c267,d268,e269,f270,g271) : f.call(null,a265,b266,c267,d268,e269,f270,g271));\n} else {\nvar h272 \x3d cljs.core._first(args__$8);\nvar args__$9 \x3d cljs.core._rest(args__$8);\nif((argc \x3d\x3d\x3d (8))){\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(a265,b266,c267,d268,e269,f270,g271,h272) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272));\n} else {\nvar i273 \x3d cljs.core._first(args__$9);\nvar args__$10 \x3d cljs.core._rest(args__$9);\nif((argc \x3d\x3d\x3d (9))){\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(a265,b266,c267,d268,e269,f270,g271,h272,i273) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273));\n} else {\nvar j274 \x3d cljs.core._first(args__$10);\nvar args__$11 \x3d cljs.core._rest(args__$10);\nif((argc \x3d\x3d\x3d (10))){\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274));\n} else {\nvar k275 \x3d cljs.core._first(args__$11);\nvar args__$12 \x3d cljs.core._rest(args__$11);\nif((argc \x3d\x3d\x3d (11))){\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275));\n} else {\nvar l276 \x3d cljs.core._first(args__$12);\nvar args__$13 \x3d cljs.core._rest(args__$12);\nif((argc \x3d\x3d\x3d (12))){\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276));\n} else {\nvar m277 \x3d cljs.core._first(args__$13);\nvar args__$14 \x3d cljs.core._rest(args__$13);\nif((argc \x3d\x3d\x3d (13))){\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277));\n} else {\nvar n278 \x3d cljs.core._first(args__$14);\nvar args__$15 \x3d cljs.core._rest(args__$14);\nif((argc \x3d\x3d\x3d (14))){\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278));\n} else {\nvar o279 \x3d cljs.core._first(args__$15);\nvar args__$16 \x3d cljs.core._rest(args__$15);\nif((argc \x3d\x3d\x3d (15))){\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279));\n} else {\nvar p280 \x3d cljs.core._first(args__$16);\nvar args__$17 \x3d cljs.core._rest(args__$16);\nif((argc \x3d\x3d\x3d (16))){\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280));\n} else {\nvar q281 \x3d cljs.core._first(args__$17);\nvar args__$18 \x3d cljs.core._rest(args__$17);\nif((argc \x3d\x3d\x3d (17))){\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281));\n} else {\nvar r282 \x3d cljs.core._first(args__$18);\nvar args__$19 \x3d cljs.core._rest(args__$18);\nif((argc \x3d\x3d\x3d (18))){\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281,r282) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281,r282));\n} else {\nvar s283 \x3d cljs.core._first(args__$19);\nvar args__$20 \x3d cljs.core._rest(args__$19);\nif((argc \x3d\x3d\x3d (19))){\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281,r282,s283) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281,r282,s283));\n} else {\nvar t284 \x3d cljs.core._first(args__$20);\nvar args__$21 \x3d cljs.core._rest(args__$20);\nif((argc \x3d\x3d\x3d (20))){\nreturn (f.cljs$core$IFn$_invoke$arity$20 ? f.cljs$core$IFn$_invoke$arity$20(a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281,r282,s283,t284) : f.call(null,a265,b266,c267,d268,e269,f270,g271,h272,i273,j274,k275,l276,m277,n278,o279,p280,q281,r282,s283,t284));\n} else {\nthrow (new Error(\x22Only up to 20 arguments supported on functions\x22));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\n\n/**\n * Internal. DO NOT USE! Next without the nil? check.\n */\ncljs.core.next_STAR_ \x3d (function cljs$core$next_STAR_(coll){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$INext$))))?true:false):false)){\nreturn coll.cljs$core$INext$_next$arity$1(null);\n} else {\nreturn cljs.core.seq(cljs.core.rest(coll));\n}\n});\n/**\n * Internal. DO NOT USE!\n * Assumes args was already called with seq beforehand!\n */\ncljs.core.apply_to_simple \x3d (function cljs$core$apply_to_simple(var_args){\nvar G__27357 \x3d arguments.length;\nswitch (G__27357) {\ncase 2:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$0){\nreturn f.cljs$core$IFn$_invoke$arity$0();\n} else {\nreturn f.call(f);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,a0,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$1){\nreturn f.cljs$core$IFn$_invoke$arity$1(a0);\n} else {\nreturn f.call(f,a0);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,a0,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,a0,a1,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$2){\nreturn f.cljs$core$IFn$_invoke$arity$2(a0,a1);\n} else {\nreturn f.call(f,a0,a1);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,a0,a1,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,a0,a1,a2,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$3){\nreturn f.cljs$core$IFn$_invoke$arity$3(a0,a1,a2);\n} else {\nreturn f.call(f,a0,a1,a2);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a0,a1,a2,cljs.core._first(args),cljs.core.next_STAR_(args));\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6 \x3d (function (f,a0,a1,a2,a3,args){\nif((args \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$4){\nreturn f.cljs$core$IFn$_invoke$arity$4(a0,a1,a2,a3);\n} else {\nreturn f.call(f,a0,a1,a2,a3);\n}\n} else {\nvar a4 \x3d cljs.core._first(args);\nvar next_4 \x3d cljs.core.next(args);\nif((next_4 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$5){\nreturn f.cljs$core$IFn$_invoke$arity$5(a0,a1,a2,a3,a4);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4);\n}\n} else {\nvar a5 \x3d cljs.core._first(next_4);\nvar next_5 \x3d cljs.core.next(next_4);\nif((next_5 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$6){\nreturn f.cljs$core$IFn$_invoke$arity$6(a0,a1,a2,a3,a4,a5);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5);\n}\n} else {\nvar a6 \x3d cljs.core._first(next_5);\nvar next_6 \x3d cljs.core.next(next_5);\nif((next_6 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$7){\nreturn f.cljs$core$IFn$_invoke$arity$7(a0,a1,a2,a3,a4,a5,a6);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6);\n}\n} else {\nvar a7 \x3d cljs.core._first(next_6);\nvar next_7 \x3d cljs.core.next(next_6);\nif((next_7 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$8){\nreturn f.cljs$core$IFn$_invoke$arity$8(a0,a1,a2,a3,a4,a5,a6,a7);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7);\n}\n} else {\nvar a8 \x3d cljs.core._first(next_7);\nvar next_8 \x3d cljs.core.next(next_7);\nif((next_8 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$9){\nreturn f.cljs$core$IFn$_invoke$arity$9(a0,a1,a2,a3,a4,a5,a6,a7,a8);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8);\n}\n} else {\nvar a9 \x3d cljs.core._first(next_8);\nvar next_9 \x3d cljs.core.next(next_8);\nif((next_9 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$10){\nreturn f.cljs$core$IFn$_invoke$arity$10(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);\n}\n} else {\nvar a10 \x3d cljs.core._first(next_9);\nvar next_10 \x3d cljs.core.next(next_9);\nif((next_10 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$11){\nreturn f.cljs$core$IFn$_invoke$arity$11(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);\n}\n} else {\nvar a11 \x3d cljs.core._first(next_10);\nvar next_11 \x3d cljs.core.next(next_10);\nif((next_11 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$12){\nreturn f.cljs$core$IFn$_invoke$arity$12(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);\n}\n} else {\nvar a12 \x3d cljs.core._first(next_11);\nvar next_12 \x3d cljs.core.next(next_11);\nif((next_12 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$13){\nreturn f.cljs$core$IFn$_invoke$arity$13(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);\n}\n} else {\nvar a13 \x3d cljs.core._first(next_12);\nvar next_13 \x3d cljs.core.next(next_12);\nif((next_13 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$14){\nreturn f.cljs$core$IFn$_invoke$arity$14(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);\n}\n} else {\nvar a14 \x3d cljs.core._first(next_13);\nvar next_14 \x3d cljs.core.next(next_13);\nif((next_14 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$15){\nreturn f.cljs$core$IFn$_invoke$arity$15(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);\n}\n} else {\nvar a15 \x3d cljs.core._first(next_14);\nvar next_15 \x3d cljs.core.next(next_14);\nif((next_15 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$16){\nreturn f.cljs$core$IFn$_invoke$arity$16(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);\n}\n} else {\nvar a16 \x3d cljs.core._first(next_15);\nvar next_16 \x3d cljs.core.next(next_15);\nif((next_16 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$17){\nreturn f.cljs$core$IFn$_invoke$arity$17(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);\n}\n} else {\nvar a17 \x3d cljs.core._first(next_16);\nvar next_17 \x3d cljs.core.next(next_16);\nif((next_17 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$18){\nreturn 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);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);\n}\n} else {\nvar a18 \x3d cljs.core._first(next_17);\nvar next_18 \x3d cljs.core.next(next_17);\nif((next_18 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$19){\nreturn 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);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);\n}\n} else {\nvar a19 \x3d cljs.core._first(next_18);\nvar next_19 \x3d cljs.core.next(next_18);\nif((next_19 \x3d\x3d null)){\nif(f.cljs$core$IFn$_invoke$arity$20){\nreturn 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);\n} else {\nreturn f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);\n}\n} else {\nvar arr__5664__auto__ \x3d [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19];\nvar s__5665__auto___30391 \x3d next_19;\nwhile(true){\nif(s__5665__auto___30391){\narr__5664__auto__.push(cljs.core._first(s__5665__auto___30391));\n\nvar G__30392 \x3d cljs.core.next(s__5665__auto___30391);\ns__5665__auto___30391 \x3d G__30392;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn f.apply(f,arr__5664__auto__);\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.core.apply_to_simple.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Applies fn f to the argument list formed by prepending intervening arguments to args.\n */\ncljs.core.apply \x3d (function cljs$core$apply(var_args){\nvar G__27365 \x3d arguments.length;\nswitch (G__27365) {\ncase 2:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30394 \x3d arguments.length;\nvar i__5750__auto___30395 \x3d (0);\nwhile(true){\nif((i__5750__auto___30395 \x3c len__5749__auto___30394)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30395]));\n\nvar G__30396 \x3d (i__5750__auto___30395 + (1));\ni__5750__auto___30395 \x3d G__30396;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((5) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((5)),(0),null)):null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,args){\nif(f.cljs$lang$applyTo){\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d cljs.core.bounded_count((fixed_arity + (1)),args);\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,args);\n} else {\nreturn f.cljs$lang$applyTo(args);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(x,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d (cljs.core.bounded_count(fixed_arity,args) + (1));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,x,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(x,y,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((2) + cljs.core.bounded_count((fixed_arity - (1)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,x,y,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$5 \x3d (function (f,x,y,z,args){\nif(f.cljs$lang$applyTo){\nvar arglist \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(x,y,z,args);\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((3) + cljs.core.bounded_count((fixed_arity - (2)),args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,x,y,z,cljs.core.seq(args));\n}\n}));\n\n(cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,a,b,c,d,args){\nif(f.cljs$lang$applyTo){\nvar spread_args \x3d cljs.core.spread(args);\nvar arglist \x3d cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,spread_args))));\nvar fixed_arity \x3d f.cljs$lang$maxFixedArity;\nvar bc \x3d ((4) + cljs.core.bounded_count((fixed_arity - (3)),spread_args));\nif((bc \x3c\x3d fixed_arity)){\nreturn cljs.core.apply_to(f,bc,arglist);\n} else {\nreturn f.cljs$lang$applyTo(arglist);\n}\n} else {\nreturn cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a,b,c,d,cljs.core.spread(args));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.apply.cljs$lang$applyTo \x3d (function (seq27359){\nvar G__27360 \x3d cljs.core.first(seq27359);\nvar seq27359__$1 \x3d cljs.core.next(seq27359);\nvar G__27361 \x3d cljs.core.first(seq27359__$1);\nvar seq27359__$2 \x3d cljs.core.next(seq27359__$1);\nvar G__27362 \x3d cljs.core.first(seq27359__$2);\nvar seq27359__$3 \x3d cljs.core.next(seq27359__$2);\nvar G__27363 \x3d cljs.core.first(seq27359__$3);\nvar seq27359__$4 \x3d cljs.core.next(seq27359__$3);\nvar G__27364 \x3d cljs.core.first(seq27359__$4);\nvar seq27359__$5 \x3d cljs.core.next(seq27359__$4);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27360,G__27361,G__27362,G__27363,G__27364,seq27359__$5);\n}));\n\n(cljs.core.apply.cljs$lang$maxFixedArity \x3d (5));\n\ncljs.core.__destructure_map \x3d (function cljs$core$__destructure_map(gmap){\nif((((!((gmap \x3d\x3d null))))?(((((gmap.cljs$lang$protocol_mask$partition0$ \x26 (64))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d gmap.cljs$core$ISeq$))))?true:false):false)){\nif(cljs.core.next(gmap)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(gmap));\n} else {\nif(cljs.core.seq(gmap)){\nreturn cljs.core.first(gmap);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n} else {\nreturn gmap;\n}\n});\n/**\n * Returns an object of the same type and value as obj, with\n * (apply f (meta obj) args) as its metadata.\n */\ncljs.core.vary_meta \x3d (function cljs$core$vary_meta(var_args){\nvar G__27375 \x3d arguments.length;\nswitch (G__27375) {\ncase 2:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30401 \x3d arguments.length;\nvar i__5750__auto___30402 \x3d (0);\nwhile(true){\nif((i__5750__auto___30402 \x3c len__5749__auto___30401)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30402]));\n\nvar G__30403 \x3d (i__5750__auto___30402 + (1));\ni__5750__auto___30402 \x3d G__30403;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,f){\nreturn cljs.core.with_meta(obj,(function (){var G__27376 \x3d cljs.core.meta(obj);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27376) : f.call(null,G__27376));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,f,a){\nreturn cljs.core.with_meta(obj,(function (){var G__27377 \x3d cljs.core.meta(obj);\nvar G__27378 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27377,G__27378) : f.call(null,G__27377,G__27378));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,f,a,b){\nreturn cljs.core.with_meta(obj,(function (){var G__27379 \x3d cljs.core.meta(obj);\nvar G__27380 \x3d a;\nvar G__27381 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27379,G__27380,G__27381) : f.call(null,G__27379,G__27380,G__27381));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5 \x3d (function (obj,f,a,b,c){\nreturn cljs.core.with_meta(obj,(function (){var G__27382 \x3d cljs.core.meta(obj);\nvar G__27383 \x3d a;\nvar G__27384 \x3d b;\nvar G__27385 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__27382,G__27383,G__27384,G__27385) : f.call(null,G__27382,G__27383,G__27384,G__27385));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6 \x3d (function (obj,f,a,b,c,d){\nreturn cljs.core.with_meta(obj,(function (){var G__27386 \x3d cljs.core.meta(obj);\nvar G__27387 \x3d a;\nvar G__27388 \x3d b;\nvar G__27389 \x3d c;\nvar G__27390 \x3d d;\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__27386,G__27387,G__27388,G__27389,G__27390) : f.call(null,G__27386,G__27387,G__27388,G__27389,G__27390));\n})());\n}));\n\n(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,a,b,c,d,args){\nreturn 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)));\n}));\n\n/** @this {Function} */\n(cljs.core.vary_meta.cljs$lang$applyTo \x3d (function (seq27368){\nvar G__27369 \x3d cljs.core.first(seq27368);\nvar seq27368__$1 \x3d cljs.core.next(seq27368);\nvar G__27370 \x3d cljs.core.first(seq27368__$1);\nvar seq27368__$2 \x3d cljs.core.next(seq27368__$1);\nvar G__27371 \x3d cljs.core.first(seq27368__$2);\nvar seq27368__$3 \x3d cljs.core.next(seq27368__$2);\nvar G__27372 \x3d cljs.core.first(seq27368__$3);\nvar seq27368__$4 \x3d cljs.core.next(seq27368__$3);\nvar G__27373 \x3d cljs.core.first(seq27368__$4);\nvar seq27368__$5 \x3d cljs.core.next(seq27368__$4);\nvar G__27374 \x3d cljs.core.first(seq27368__$5);\nvar seq27368__$6 \x3d cljs.core.next(seq27368__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27369,G__27370,G__27371,G__27372,G__27373,G__27374,seq27368__$6);\n}));\n\n(cljs.core.vary_meta.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * Same as (not (\x3d obj1 obj2))\n */\ncljs.core.not_EQ_ \x3d (function cljs$core$not_EQ_(var_args){\nvar G__27395 \x3d arguments.length;\nswitch (G__27395) {\ncase 1:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30408 \x3d arguments.length;\nvar i__5750__auto___30409 \x3d (0);\nwhile(true){\nif((i__5750__auto___30409 \x3c len__5749__auto___30408)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30409]));\n\nvar G__30410 \x3d (i__5750__auto___30409 + (1));\ni__5750__auto___30409 \x3d G__30410;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn false;\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,y){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)));\n}));\n\n(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,y,more){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,x,y,more));\n}));\n\n/** @this {Function} */\n(cljs.core.not_EQ_.cljs$lang$applyTo \x3d (function (seq27392){\nvar G__27393 \x3d cljs.core.first(seq27392);\nvar seq27392__$1 \x3d cljs.core.next(seq27392);\nvar G__27394 \x3d cljs.core.first(seq27392__$1);\nvar seq27392__$2 \x3d cljs.core.next(seq27392__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27393,G__27394,seq27392__$2);\n}));\n\n(cljs.core.not_EQ_.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * If coll is empty, returns nil, else coll\n */\ncljs.core.not_empty \x3d (function cljs$core$not_empty(coll){\nif(cljs.core.seq(coll)){\nreturn coll;\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.t_cljs$core27396 \x3d (function (meta27397){\nthis.meta27397 \x3d meta27397;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core27396.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_27398,meta27397__$1){\nvar self__ \x3d this;\nvar _27398__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core27396(meta27397__$1));\n}));\n\n(cljs.core.t_cljs$core27396.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_27398){\nvar self__ \x3d this;\nvar _27398__$1 \x3d this;\nreturn self__.meta27397;\n}));\n\n(cljs.core.t_cljs$core27396.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn false;\n}));\n\n(cljs.core.t_cljs$core27396.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22No such element\x22));\n}));\n\n(cljs.core.t_cljs$core27396.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.t_cljs$core27396.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta27397\x22,\x22meta27397\x22,-1828265181,null)], null);\n}));\n\n(cljs.core.t_cljs$core27396.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core27396.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core27396\x22);\n\n(cljs.core.t_cljs$core27396.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/t_cljs$core27396\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core27396.\n */\ncljs.core.__GT_t_cljs$core27396 \x3d (function cljs$core$__GT_t_cljs$core27396(meta27397){\nreturn (new cljs.core.t_cljs$core27396(meta27397));\n});\n\n\ncljs.core.nil_iter \x3d (function cljs$core$nil_iter(){\nreturn (new cljs.core.t_cljs$core27396(cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.StringIter \x3d (function (s,i){\nthis.s \x3d s;\nthis.i \x3d i;\n});\n(cljs.core.StringIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.s.length);\n}));\n\n(cljs.core.StringIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.s.charAt(self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.StringIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.StringIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.StringIter.cljs$lang$type \x3d true);\n\n(cljs.core.StringIter.cljs$lang$ctorStr \x3d \x22cljs.core/StringIter\x22);\n\n(cljs.core.StringIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/StringIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/StringIter.\n */\ncljs.core.__GT_StringIter \x3d (function cljs$core$__GT_StringIter(s,i){\nreturn (new cljs.core.StringIter(s,i));\n});\n\ncljs.core.string_iter \x3d (function cljs$core$string_iter(x){\nreturn (new cljs.core.StringIter(x,(0)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayIter \x3d (function (arr,i){\nthis.arr \x3d arr;\nthis.i \x3d i;\n});\n(cljs.core.ArrayIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.arr.length);\n}));\n\n(cljs.core.ArrayIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.ArrayIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayIter.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayIter.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayIter\x22);\n\n(cljs.core.ArrayIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayIter.\n */\ncljs.core.__GT_ArrayIter \x3d (function cljs$core$__GT_ArrayIter(arr,i){\nreturn (new cljs.core.ArrayIter(arr,i));\n});\n\ncljs.core.array_iter \x3d (function cljs$core$array_iter(x){\nreturn (new cljs.core.ArrayIter(x,(0)));\n});\ncljs.core.INIT \x3d ({});\ncljs.core.START \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.SeqIter \x3d (function (_seq,_next){\nthis._seq \x3d _seq;\nthis._next \x3d _next;\n});\n(cljs.core.SeqIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__._seq \x3d\x3d\x3d cljs.core.INIT)){\n(self__._seq \x3d cljs.core.START);\n\n(self__._next \x3d cljs.core.seq(self__._next));\n} else {\nif((self__._seq \x3d\x3d\x3d self__._next)){\n(self__._next \x3d cljs.core.next(self__._seq));\n} else {\n}\n}\n\nreturn (!((self__._next \x3d\x3d null)));\n}));\n\n(cljs.core.SeqIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!(this$.hasNext()))){\nthrow (new Error(\x22No such element\x22));\n} else {\n(self__._seq \x3d self__._next);\n\nreturn cljs.core.first(self__._next);\n}\n}));\n\n(cljs.core.SeqIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.SeqIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22_seq\x22,\x22_seq\x22,-449557847,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.SeqIter.cljs$lang$type \x3d true);\n\n(cljs.core.SeqIter.cljs$lang$ctorStr \x3d \x22cljs.core/SeqIter\x22);\n\n(cljs.core.SeqIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/SeqIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/SeqIter.\n */\ncljs.core.__GT_SeqIter \x3d (function cljs$core$__GT_SeqIter(_seq,_next){\nreturn (new cljs.core.SeqIter(_seq,_next));\n});\n\ncljs.core.seq_iter \x3d (function cljs$core$seq_iter(coll){\nreturn (new cljs.core.SeqIter(cljs.core.INIT,coll));\n});\ncljs.core.iter \x3d (function cljs$core$iter(coll){\nif(cljs.core.iterable_QMARK_(coll)){\nreturn cljs.core._iterator(coll);\n} else {\nif((coll \x3d\x3d null)){\nreturn cljs.core.nil_iter();\n} else {\nif(typeof coll \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.string_iter(coll);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.array_iter(coll);\n} else {\nif(cljs.core.seqable_QMARK_(coll)){\nreturn cljs.core.seq_iter(coll);\n} else {\nthrow (new Error([\x22Cannot create iterator from \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Many \x3d (function (vals){\nthis.vals \x3d vals;\n});\n(cljs.core.Many.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nself__.vals.push(o);\n\nreturn this$;\n}));\n\n(cljs.core.Many.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.vals.shift();\n}));\n\n(cljs.core.Many.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.vals.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.Many.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Many: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.vals)].join(\x27\x27);\n}));\n\n(cljs.core.Many.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null)], null);\n}));\n\n(cljs.core.Many.cljs$lang$type \x3d true);\n\n(cljs.core.Many.cljs$lang$ctorStr \x3d \x22cljs.core/Many\x22);\n\n(cljs.core.Many.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Many\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Many.\n */\ncljs.core.__GT_Many \x3d (function cljs$core$__GT_Many(vals){\nreturn (new cljs.core.Many(vals));\n});\n\ncljs.core.NONE \x3d ({});\n\n/**\n* @constructor\n*/\ncljs.core.Single \x3d (function (val){\nthis.val \x3d val;\n});\n(cljs.core.Single.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\n(self__.val \x3d o);\n\nreturn this$;\n} else {\nreturn (new cljs.core.Many([self__.val,o]));\n}\n}));\n\n(cljs.core.Single.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((self__.val \x3d\x3d\x3d cljs.core.NONE)){\nthrow (new Error(\x22Removing object from empty buffer\x22));\n} else {\nvar ret \x3d self__.val;\n(self__.val \x3d cljs.core.NONE);\n\nreturn ret;\n}\n}));\n\n(cljs.core.Single.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.val \x3d\x3d\x3d cljs.core.NONE);\n}));\n\n(cljs.core.Single.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22Single: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.val)].join(\x27\x27);\n}));\n\n(cljs.core.Single.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Single.cljs$lang$type \x3d true);\n\n(cljs.core.Single.cljs$lang$ctorStr \x3d \x22cljs.core/Single\x22);\n\n(cljs.core.Single.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Single\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Single.\n */\ncljs.core.__GT_Single \x3d (function cljs$core$__GT_Single(val){\nreturn (new cljs.core.Single(val));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.Empty \x3d (function (){\n});\n(cljs.core.Empty.prototype.add \x3d (function (o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (new cljs.core.Single(o));\n}));\n\n(cljs.core.Empty.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nthrow (new Error(\x22Removing object from empty buffer\x22));\n}));\n\n(cljs.core.Empty.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(cljs.core.Empty.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn \x22Empty\x22;\n}));\n\n(cljs.core.Empty.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.Empty.cljs$lang$type \x3d true);\n\n(cljs.core.Empty.cljs$lang$ctorStr \x3d \x22cljs.core/Empty\x22);\n\n(cljs.core.Empty.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Empty\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Empty.\n */\ncljs.core.__GT_Empty \x3d (function cljs$core$__GT_Empty(){\nreturn (new cljs.core.Empty());\n});\n\ncljs.core.EMPTY \x3d (new cljs.core.Empty());\n\n/**\n* @constructor\n*/\ncljs.core.MultiIterator \x3d (function (iters){\nthis.iters \x3d iters;\n});\n(cljs.core.MultiIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar iters__$1 \x3d cljs.core.seq(self__.iters);\nwhile(true){\nif((!((iters__$1 \x3d\x3d null)))){\nvar iter \x3d cljs.core.first(iters__$1);\nif((!(iter.hasNext()))){\nreturn false;\n} else {\nvar G__30433 \x3d cljs.core.next(iters__$1);\niters__$1 \x3d G__30433;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.MultiIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar nexts \x3d [];\nvar n__5616__auto___30434 \x3d self__.iters.length;\nvar i_30435 \x3d (0);\nwhile(true){\nif((i_30435 \x3c n__5616__auto___30434)){\n(nexts[i_30435] \x3d (self__.iters[i_30435]).next());\n\nvar G__30436 \x3d (i_30435 + (1));\ni_30435 \x3d G__30436;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(nexts,(0));\n}));\n\n(cljs.core.MultiIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iters\x22,\x22iters\x22,719353031,null)], null);\n}));\n\n(cljs.core.MultiIterator.cljs$lang$type \x3d true);\n\n(cljs.core.MultiIterator.cljs$lang$ctorStr \x3d \x22cljs.core/MultiIterator\x22);\n\n(cljs.core.MultiIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MultiIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiIterator.\n */\ncljs.core.__GT_MultiIterator \x3d (function cljs$core$__GT_MultiIterator(iters){\nreturn (new cljs.core.MultiIterator(iters));\n});\n\ncljs.core.chunkIteratorSeq \x3d (function cljs$core$chunkIteratorSeq(iter){\nreturn (new cljs.core.LazySeq(null,(function (){\nif(iter.hasNext()){\nvar arr \x3d [];\nvar n \x3d (0);\nwhile(true){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d iter.hasNext();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (n \x3c (32));\n} else {\nreturn and__5023__auto__;\n}\n})())){\n(arr[n] \x3d iter.next());\n\nvar G__30437 \x3d (n + (1));\nn \x3d G__30437;\ncontinue;\n} else {\nreturn 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)));\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\n\n/**\n* @constructor\n*/\ncljs.core.TransformerIterator \x3d (function (buffer,_next,completed,xf,sourceIter,multi){\nthis.buffer \x3d buffer;\nthis._next \x3d _next;\nthis.completed \x3d completed;\nthis.xf \x3d xf;\nthis.sourceIter \x3d sourceIter;\nthis.multi \x3d multi;\n});\n(cljs.core.TransformerIterator.prototype.step \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__._next \x3d\x3d\x3d cljs.core.NONE)))){\nreturn true;\n} else {\nwhile(true){\nif((self__._next \x3d\x3d\x3d cljs.core.NONE)){\nif(self__.buffer.isEmpty()){\nif(self__.completed){\nreturn false;\n} else {\nif(self__.sourceIter.hasNext()){\nvar iter \x3d ((self__.multi)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.xf,cljs.core.cons(null,self__.sourceIter.next())):(function (){var G__27399 \x3d null;\nvar G__27400 \x3d self__.sourceIter.next();\nreturn (self__.xf.cljs$core$IFn$_invoke$arity$2 ? self__.xf.cljs$core$IFn$_invoke$arity$2(G__27399,G__27400) : self__.xf.call(null,G__27399,G__27400));\n})());\nif(cljs.core.reduced_QMARK_(iter)){\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n} else {\n}\n\ncontinue;\n} else {\n(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));\n\n(self__.completed \x3d true);\n\ncontinue;\n}\n}\n} else {\n(self__._next \x3d self__.buffer.remove());\n\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.step();\n}));\n\n(cljs.core.TransformerIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nvar ret \x3d self__._next;\n(self__._next \x3d cljs.core.NONE);\n\nreturn ret;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.TransformerIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.TransformerIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22buffer\x22,\x22buffer\x22,-2037140571,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22completed\x22,\x22completed\x22,1154475024,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22xf\x22,\x22xf\x22,2042434515,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sourceIter\x22,\x22sourceIter\x22,1068220306,null),new cljs.core.Symbol(null,\x22multi\x22,\x22multi\x22,1450238522,null)], null);\n}));\n\n(cljs.core.TransformerIterator.cljs$lang$type \x3d true);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorStr \x3d \x22cljs.core/TransformerIterator\x22);\n\n(cljs.core.TransformerIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransformerIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransformerIterator.\n */\ncljs.core.__GT_TransformerIterator \x3d (function cljs$core$__GT_TransformerIterator(buffer,_next,completed,xf,sourceIter,multi){\nreturn (new cljs.core.TransformerIterator(buffer,_next,completed,xf,sourceIter,multi));\n});\n\n(cljs.core.TransformerIterator.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.transformer_iterator \x3d (function cljs$core$transformer_iterator(xform,sourceIter,multi){\nvar iterator \x3d (new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,false,null,sourceIter,multi));\n(iterator.xf \x3d (function (){var G__27401 \x3d (function() {\nvar G__30441 \x3d null;\nvar G__30441__0 \x3d (function (){\nreturn null;\n});\nvar G__30441__1 \x3d (function (acc){\nreturn acc;\n});\nvar G__30441__2 \x3d (function (acc,o){\n(iterator.buffer \x3d iterator.buffer.add(o));\n\nreturn acc;\n});\nG__30441 \x3d function(acc,o){\nswitch(arguments.length){\ncase 0:\nreturn G__30441__0.call(this);\ncase 1:\nreturn G__30441__1.call(this,acc);\ncase 2:\nreturn G__30441__2.call(this,acc,o);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30441.cljs$core$IFn$_invoke$arity$0 \x3d G__30441__0;\nG__30441.cljs$core$IFn$_invoke$arity$1 \x3d G__30441__1;\nG__30441.cljs$core$IFn$_invoke$arity$2 \x3d G__30441__2;\nreturn G__30441;\n})()\n;\nreturn (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(G__27401) : xform.call(null,G__27401));\n})());\n\nreturn iterator;\n});\n(cljs.core.TransformerIterator.create \x3d (function (xform,source){\nreturn cljs.core.transformer_iterator(xform,source,false);\n}));\n(cljs.core.TransformerIterator.createMulti \x3d (function (xform,sources){\nreturn cljs.core.transformer_iterator(xform,(new cljs.core.MultiIterator(cljs.core.to_array(sources))),true);\n}));\n/**\n * Coerces coll to a (possibly empty) sequence, if it is not already\n * one. Will not force a lazy seq. (sequence nil) yields (), When a\n * transducer is supplied, returns a lazy sequence of applications of\n * the transform to the items in coll(s), i.e. to the set of first\n * items of each coll, followed by the set of second\n * items in each coll, until any one of the colls is exhausted. Any\n * remaining items in other colls are ignored. The transform should accept\n * number-of-colls arguments\n */\ncljs.core.sequence \x3d (function cljs$core$sequence(var_args){\nvar G__27406 \x3d arguments.length;\nswitch (G__27406) {\ncase 1:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30443 \x3d arguments.length;\nvar i__5750__auto___30444 \x3d (0);\nwhile(true){\nif((i__5750__auto___30444 \x3c len__5749__auto___30443)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30444]));\n\nvar G__30445 \x3d (i__5750__auto___30444 + (1));\ni__5750__auto___30444 \x3d G__30445;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nif(cljs.core.seq_QMARK_(coll)){\nreturn coll;\n} else {\nvar or__5025__auto__ \x3d cljs.core.seq(coll);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,coll){\nvar or__5025__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(xform,cljs.core.iter(coll)));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xform,coll,colls){\nvar or__5025__auto__ \x3d cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(xform,(function (){var G__27407 \x3d cljs.core.iter;\nvar G__27408 \x3d cljs.core.cons(coll,colls);\nreturn (cljs.core.map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.map.cljs$core$IFn$_invoke$arity$2(G__27407,G__27408) : cljs.core.map.call(null,G__27407,G__27408));\n})()));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n/** @this {Function} */\n(cljs.core.sequence.cljs$lang$applyTo \x3d (function (seq27403){\nvar G__27404 \x3d cljs.core.first(seq27403);\nvar seq27403__$1 \x3d cljs.core.next(seq27403);\nvar G__27405 \x3d cljs.core.first(seq27403__$1);\nvar seq27403__$2 \x3d cljs.core.next(seq27403__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27404,G__27405,seq27403__$2);\n}));\n\n(cljs.core.sequence.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns true if (pred x) is logical true for every x in coll, else\n * false.\n */\ncljs.core.every_QMARK_ \x3d (function cljs$core$every_QMARK_(pred,coll){\nwhile(true){\nif((cljs.core.seq(coll) \x3d\x3d null)){\nreturn true;\n} else {\nif(cljs.core.truth_((function (){var G__27409 \x3d cljs.core.first(coll);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__27409) : pred.call(null,G__27409));\n})())){\nvar G__30449 \x3d pred;\nvar G__30450 \x3d cljs.core.next(coll);\npred \x3d G__30449;\ncoll \x3d G__30450;\ncontinue;\n} else {\nreturn false;\n\n}\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for every x in\n * coll, else true.\n */\ncljs.core.not_every_QMARK_ \x3d (function cljs$core$not_every_QMARK_(pred,coll){\nreturn (!(cljs.core.every_QMARK_(pred,coll)));\n});\n/**\n * Returns the first logical true value of (pred x) for any x in coll,\n * else nil. One common idiom is to use a set as pred, for example\n * this will return :fred if :fred is in the sequence, otherwise nil:\n * (some #{:fred} coll)\n */\ncljs.core.some \x3d (function cljs$core$some(pred,coll){\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar or__5025__auto__ \x3d (function (){var G__27410 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__27410) : pred.call(null,G__27410));\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar G__30451 \x3d pred;\nvar G__30452 \x3d cljs.core.next(s);\npred \x3d G__30451;\ncoll \x3d G__30452;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n/**\n * Returns false if (pred x) is logical true for any x in coll,\n * else true.\n */\ncljs.core.not_any_QMARK_ \x3d (function cljs$core$not_any_QMARK_(pred,coll){\nreturn cljs.core.not(cljs.core.some(pred,coll));\n});\n/**\n * Returns true if n is even, throws an exception if n is not an integer\n */\ncljs.core.even_QMARK_ \x3d (function cljs$core$even_QMARK_(n){\nif(cljs.core.integer_QMARK_(n)){\nreturn ((n \x26 (1)) \x3d\x3d\x3d (0));\n} else {\nthrow (new Error([\x22Argument must be an integer: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)));\n}\n});\n/**\n * Returns true if n is odd, throws an exception if n is not an integer\n */\ncljs.core.odd_QMARK_ \x3d (function cljs$core$odd_QMARK_(n){\nreturn (!(cljs.core.even_QMARK_(n)));\n});\n/**\n * Takes a fn f and returns a fn that takes the same arguments as f,\n * has the same effects, if any, and returns the opposite truth value.\n */\ncljs.core.complement \x3d (function cljs$core$complement(f){\nreturn (function() {\nvar G__30453 \x3d null;\nvar G__30453__0 \x3d (function (){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)));\n});\nvar G__30453__1 \x3d (function (x){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));\n});\nvar G__30453__2 \x3d (function (x,y){\nreturn cljs.core.not((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)));\n});\nvar G__30453__3 \x3d (function() { \nvar G__30454__delegate \x3d function (x,y,zs){\nreturn cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f,x,y,zs));\n};\nvar G__30454 \x3d function (x,y,var_args){\nvar zs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__30455__i \x3d 0, G__30455__a \x3d new Array(arguments.length - 2);\nwhile (G__30455__i \x3c G__30455__a.length) {G__30455__a[G__30455__i] \x3d arguments[G__30455__i + 2]; ++G__30455__i;}\n zs \x3d new cljs.core.IndexedSeq(G__30455__a,0,null);\n} \nreturn G__30454__delegate.call(this,x,y,zs);};\nG__30454.cljs$lang$maxFixedArity \x3d 2;\nG__30454.cljs$lang$applyTo \x3d (function (arglist__30456){\nvar x \x3d cljs.core.first(arglist__30456);\narglist__30456 \x3d cljs.core.next(arglist__30456);\nvar y \x3d cljs.core.first(arglist__30456);\nvar zs \x3d cljs.core.rest(arglist__30456);\nreturn G__30454__delegate(x,y,zs);\n});\nG__30454.cljs$core$IFn$_invoke$arity$variadic \x3d G__30454__delegate;\nreturn G__30454;\n})()\n;\nG__30453 \x3d function(x,y,var_args){\nvar zs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30453__0.call(this);\ncase 1:\nreturn G__30453__1.call(this,x);\ncase 2:\nreturn G__30453__2.call(this,x,y);\ndefault:\nvar G__30460 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__30461__i \x3d 0, G__30461__a \x3d new Array(arguments.length - 2);\nwhile (G__30461__i \x3c G__30461__a.length) {G__30461__a[G__30461__i] \x3d arguments[G__30461__i + 2]; ++G__30461__i;}\nG__30460 \x3d new cljs.core.IndexedSeq(G__30461__a,0,null);\n}\nreturn G__30453__3.cljs$core$IFn$_invoke$arity$variadic(x,y, G__30460);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30453.cljs$lang$maxFixedArity \x3d 2;\nG__30453.cljs$lang$applyTo \x3d G__30453__3.cljs$lang$applyTo;\nG__30453.cljs$core$IFn$_invoke$arity$0 \x3d G__30453__0;\nG__30453.cljs$core$IFn$_invoke$arity$1 \x3d G__30453__1;\nG__30453.cljs$core$IFn$_invoke$arity$2 \x3d G__30453__2;\nG__30453.cljs$core$IFn$_invoke$arity$variadic \x3d G__30453__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30453;\n})()\n});\n/**\n * Returns a function that takes any number of arguments and returns x.\n */\ncljs.core.constantly \x3d (function cljs$core$constantly(x){\nreturn (function() { \nvar G__30462__delegate \x3d function (args){\nreturn x;\n};\nvar G__30462 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30463__i \x3d 0, G__30463__a \x3d new Array(arguments.length - 0);\nwhile (G__30463__i \x3c G__30463__a.length) {G__30463__a[G__30463__i] \x3d arguments[G__30463__i + 0]; ++G__30463__i;}\n args \x3d new cljs.core.IndexedSeq(G__30463__a,0,null);\n} \nreturn G__30462__delegate.call(this,args);};\nG__30462.cljs$lang$maxFixedArity \x3d 0;\nG__30462.cljs$lang$applyTo \x3d (function (arglist__30464){\nvar args \x3d cljs.core.seq(arglist__30464);\nreturn G__30462__delegate(args);\n});\nG__30462.cljs$core$IFn$_invoke$arity$variadic \x3d G__30462__delegate;\nreturn G__30462;\n})()\n;\n});\n/**\n * Takes a set of functions and returns a fn that is the composition\n * of those fns. The returned fn takes a variable number of args,\n * applies the rightmost of fns to the args, the next\n * fn (right-to-left) to the result, etc.\n */\ncljs.core.comp \x3d (function cljs$core$comp(var_args){\nvar G__27416 \x3d arguments.length;\nswitch (G__27416) {\ncase 0:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30466 \x3d arguments.length;\nvar i__5750__auto___30467 \x3d (0);\nwhile(true){\nif((i__5750__auto___30467 \x3c len__5749__auto___30466)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30467]));\n\nvar G__30468 \x3d (i__5750__auto___30467 + (1));\ni__5750__auto___30467 \x3d G__30468;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.identity;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__30469 \x3d null;\nvar G__30469__0 \x3d (function (){\nvar G__27417 \x3d (g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27417) : f.call(null,G__27417));\n});\nvar G__30469__1 \x3d (function (x){\nvar G__27418 \x3d (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27418) : f.call(null,G__27418));\n});\nvar G__30469__2 \x3d (function (x,y){\nvar G__27419 \x3d (g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27419) : f.call(null,G__27419));\n});\nvar G__30469__3 \x3d (function (x,y,z){\nvar G__27420 \x3d (g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27420) : f.call(null,G__27420));\n});\nvar G__30469__4 \x3d (function() { \nvar G__30470__delegate \x3d function (x,y,z,args){\nvar G__27421 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27421) : f.call(null,G__27421));\n};\nvar G__30470 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30471__i \x3d 0, G__30471__a \x3d new Array(arguments.length - 3);\nwhile (G__30471__i \x3c G__30471__a.length) {G__30471__a[G__30471__i] \x3d arguments[G__30471__i + 3]; ++G__30471__i;}\n args \x3d new cljs.core.IndexedSeq(G__30471__a,0,null);\n} \nreturn G__30470__delegate.call(this,x,y,z,args);};\nG__30470.cljs$lang$maxFixedArity \x3d 3;\nG__30470.cljs$lang$applyTo \x3d (function (arglist__30472){\nvar x \x3d cljs.core.first(arglist__30472);\narglist__30472 \x3d cljs.core.next(arglist__30472);\nvar y \x3d cljs.core.first(arglist__30472);\narglist__30472 \x3d cljs.core.next(arglist__30472);\nvar z \x3d cljs.core.first(arglist__30472);\nvar args \x3d cljs.core.rest(arglist__30472);\nreturn G__30470__delegate(x,y,z,args);\n});\nG__30470.cljs$core$IFn$_invoke$arity$variadic \x3d G__30470__delegate;\nreturn G__30470;\n})()\n;\nG__30469 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30469__0.call(this);\ncase 1:\nreturn G__30469__1.call(this,x);\ncase 2:\nreturn G__30469__2.call(this,x,y);\ncase 3:\nreturn G__30469__3.call(this,x,y,z);\ndefault:\nvar G__30473 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30474__i \x3d 0, G__30474__a \x3d new Array(arguments.length - 3);\nwhile (G__30474__i \x3c G__30474__a.length) {G__30474__a[G__30474__i] \x3d arguments[G__30474__i + 3]; ++G__30474__i;}\nG__30473 \x3d new cljs.core.IndexedSeq(G__30474__a,0,null);\n}\nreturn G__30469__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30473);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30469.cljs$lang$maxFixedArity \x3d 3;\nG__30469.cljs$lang$applyTo \x3d G__30469__4.cljs$lang$applyTo;\nG__30469.cljs$core$IFn$_invoke$arity$0 \x3d G__30469__0;\nG__30469.cljs$core$IFn$_invoke$arity$1 \x3d G__30469__1;\nG__30469.cljs$core$IFn$_invoke$arity$2 \x3d G__30469__2;\nG__30469.cljs$core$IFn$_invoke$arity$3 \x3d G__30469__3;\nG__30469.cljs$core$IFn$_invoke$arity$variadic \x3d G__30469__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30469;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__30475 \x3d null;\nvar G__30475__0 \x3d (function (){\nvar G__27422 \x3d (function (){var G__27423 \x3d (h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27423) : g.call(null,G__27423));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27422) : f.call(null,G__27422));\n});\nvar G__30475__1 \x3d (function (x){\nvar G__27424 \x3d (function (){var G__27425 \x3d (h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27425) : g.call(null,G__27425));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27424) : f.call(null,G__27424));\n});\nvar G__30475__2 \x3d (function (x,y){\nvar G__27426 \x3d (function (){var G__27427 \x3d (h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27427) : g.call(null,G__27427));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27426) : f.call(null,G__27426));\n});\nvar G__30475__3 \x3d (function (x,y,z){\nvar G__27428 \x3d (function (){var G__27429 \x3d (h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z));\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27429) : g.call(null,G__27429));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27428) : f.call(null,G__27428));\n});\nvar G__30475__4 \x3d (function() { \nvar G__30476__delegate \x3d function (x,y,z,args){\nvar G__27430 \x3d (function (){var G__27431 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args);\nreturn (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__27431) : g.call(null,G__27431));\n})();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27430) : f.call(null,G__27430));\n};\nvar G__30476 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30489__i \x3d 0, G__30489__a \x3d new Array(arguments.length - 3);\nwhile (G__30489__i \x3c G__30489__a.length) {G__30489__a[G__30489__i] \x3d arguments[G__30489__i + 3]; ++G__30489__i;}\n args \x3d new cljs.core.IndexedSeq(G__30489__a,0,null);\n} \nreturn G__30476__delegate.call(this,x,y,z,args);};\nG__30476.cljs$lang$maxFixedArity \x3d 3;\nG__30476.cljs$lang$applyTo \x3d (function (arglist__30490){\nvar x \x3d cljs.core.first(arglist__30490);\narglist__30490 \x3d cljs.core.next(arglist__30490);\nvar y \x3d cljs.core.first(arglist__30490);\narglist__30490 \x3d cljs.core.next(arglist__30490);\nvar z \x3d cljs.core.first(arglist__30490);\nvar args \x3d cljs.core.rest(arglist__30490);\nreturn G__30476__delegate(x,y,z,args);\n});\nG__30476.cljs$core$IFn$_invoke$arity$variadic \x3d G__30476__delegate;\nreturn G__30476;\n})()\n;\nG__30475 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30475__0.call(this);\ncase 1:\nreturn G__30475__1.call(this,x);\ncase 2:\nreturn G__30475__2.call(this,x,y);\ncase 3:\nreturn G__30475__3.call(this,x,y,z);\ndefault:\nvar G__30491 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30492__i \x3d 0, G__30492__a \x3d new Array(arguments.length - 3);\nwhile (G__30492__i \x3c G__30492__a.length) {G__30492__a[G__30492__i] \x3d arguments[G__30492__i + 3]; ++G__30492__i;}\nG__30491 \x3d new cljs.core.IndexedSeq(G__30492__a,0,null);\n}\nreturn G__30475__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30491);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30475.cljs$lang$maxFixedArity \x3d 3;\nG__30475.cljs$lang$applyTo \x3d G__30475__4.cljs$lang$applyTo;\nG__30475.cljs$core$IFn$_invoke$arity$0 \x3d G__30475__0;\nG__30475.cljs$core$IFn$_invoke$arity$1 \x3d G__30475__1;\nG__30475.cljs$core$IFn$_invoke$arity$2 \x3d G__30475__2;\nG__30475.cljs$core$IFn$_invoke$arity$3 \x3d G__30475__3;\nG__30475.cljs$core$IFn$_invoke$arity$variadic \x3d G__30475__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30475;\n})()\n}));\n\n(cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f1,f2,f3,fs){\nvar fs__$1 \x3d cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f1,f2,f3,fs));\nreturn (function() { \nvar G__30493__delegate \x3d function (args){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fs__$1),args);\nvar fs__$2 \x3d cljs.core.next(fs__$1);\nwhile(true){\nif(fs__$2){\nvar G__30494 \x3d (function (){var fexpr__27432 \x3d cljs.core.first(fs__$2);\nreturn (fexpr__27432.cljs$core$IFn$_invoke$arity$1 ? fexpr__27432.cljs$core$IFn$_invoke$arity$1(ret) : fexpr__27432.call(null,ret));\n})();\nvar G__30495 \x3d cljs.core.next(fs__$2);\nret \x3d G__30494;\nfs__$2 \x3d G__30495;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n};\nvar G__30493 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30496__i \x3d 0, G__30496__a \x3d new Array(arguments.length - 0);\nwhile (G__30496__i \x3c G__30496__a.length) {G__30496__a[G__30496__i] \x3d arguments[G__30496__i + 0]; ++G__30496__i;}\n args \x3d new cljs.core.IndexedSeq(G__30496__a,0,null);\n} \nreturn G__30493__delegate.call(this,args);};\nG__30493.cljs$lang$maxFixedArity \x3d 0;\nG__30493.cljs$lang$applyTo \x3d (function (arglist__30497){\nvar args \x3d cljs.core.seq(arglist__30497);\nreturn G__30493__delegate(args);\n});\nG__30493.cljs$core$IFn$_invoke$arity$variadic \x3d G__30493__delegate;\nreturn G__30493;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.comp.cljs$lang$applyTo \x3d (function (seq27412){\nvar G__27413 \x3d cljs.core.first(seq27412);\nvar seq27412__$1 \x3d cljs.core.next(seq27412);\nvar G__27414 \x3d cljs.core.first(seq27412__$1);\nvar seq27412__$2 \x3d cljs.core.next(seq27412__$1);\nvar G__27415 \x3d cljs.core.first(seq27412__$2);\nvar seq27412__$3 \x3d cljs.core.next(seq27412__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27413,G__27414,G__27415,seq27412__$3);\n}));\n\n(cljs.core.comp.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a function f and fewer than the normal arguments to f, and\n * returns a fn that takes a variable number of additional args. When\n * called, the returned function calls f with args + additional args.\n */\ncljs.core.partial \x3d (function cljs$core$partial(var_args){\nvar G__27439 \x3d arguments.length;\nswitch (G__27439) {\ncase 1:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30499 \x3d arguments.length;\nvar i__5750__auto___30500 \x3d (0);\nwhile(true){\nif((i__5750__auto___30500 \x3c len__5749__auto___30499)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30500]));\n\nvar G__30501 \x3d (i__5750__auto___30500 + (1));\ni__5750__auto___30500 \x3d G__30501;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn f;\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,arg1){\nreturn (function() {\nvar G__30502 \x3d null;\nvar G__30502__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg1) : f.call(null,arg1));\n});\nvar G__30502__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,x) : f.call(null,arg1,x));\n});\nvar G__30502__2 \x3d (function (x,y){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,x,y) : f.call(null,arg1,x,y));\n});\nvar G__30502__3 \x3d (function (x,y,z){\nreturn (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));\n});\nvar G__30502__4 \x3d (function() { \nvar G__30503__delegate \x3d function (x,y,z,args){\nreturn 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));\n};\nvar G__30503 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30504__i \x3d 0, G__30504__a \x3d new Array(arguments.length - 3);\nwhile (G__30504__i \x3c G__30504__a.length) {G__30504__a[G__30504__i] \x3d arguments[G__30504__i + 3]; ++G__30504__i;}\n args \x3d new cljs.core.IndexedSeq(G__30504__a,0,null);\n} \nreturn G__30503__delegate.call(this,x,y,z,args);};\nG__30503.cljs$lang$maxFixedArity \x3d 3;\nG__30503.cljs$lang$applyTo \x3d (function (arglist__30505){\nvar x \x3d cljs.core.first(arglist__30505);\narglist__30505 \x3d cljs.core.next(arglist__30505);\nvar y \x3d cljs.core.first(arglist__30505);\narglist__30505 \x3d cljs.core.next(arglist__30505);\nvar z \x3d cljs.core.first(arglist__30505);\nvar args \x3d cljs.core.rest(arglist__30505);\nreturn G__30503__delegate(x,y,z,args);\n});\nG__30503.cljs$core$IFn$_invoke$arity$variadic \x3d G__30503__delegate;\nreturn G__30503;\n})()\n;\nG__30502 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30502__0.call(this);\ncase 1:\nreturn G__30502__1.call(this,x);\ncase 2:\nreturn G__30502__2.call(this,x,y);\ncase 3:\nreturn G__30502__3.call(this,x,y,z);\ndefault:\nvar G__30506 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30507__i \x3d 0, G__30507__a \x3d new Array(arguments.length - 3);\nwhile (G__30507__i \x3c G__30507__a.length) {G__30507__a[G__30507__i] \x3d arguments[G__30507__i + 3]; ++G__30507__i;}\nG__30506 \x3d new cljs.core.IndexedSeq(G__30507__a,0,null);\n}\nreturn G__30502__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30506);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30502.cljs$lang$maxFixedArity \x3d 3;\nG__30502.cljs$lang$applyTo \x3d G__30502__4.cljs$lang$applyTo;\nG__30502.cljs$core$IFn$_invoke$arity$0 \x3d G__30502__0;\nG__30502.cljs$core$IFn$_invoke$arity$1 \x3d G__30502__1;\nG__30502.cljs$core$IFn$_invoke$arity$2 \x3d G__30502__2;\nG__30502.cljs$core$IFn$_invoke$arity$3 \x3d G__30502__3;\nG__30502.cljs$core$IFn$_invoke$arity$variadic \x3d G__30502__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30502;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,arg1,arg2){\nreturn (function() {\nvar G__30508 \x3d null;\nvar G__30508__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,arg2) : f.call(null,arg1,arg2));\n});\nvar G__30508__1 \x3d (function (x){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,x) : f.call(null,arg1,arg2,x));\n});\nvar G__30508__2 \x3d (function (x,y){\nreturn (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));\n});\nvar G__30508__3 \x3d (function (x,y,z){\nreturn (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));\n});\nvar G__30508__4 \x3d (function() { \nvar G__30509__delegate \x3d function (x,y,z,args){\nreturn 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));\n};\nvar G__30509 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30510__i \x3d 0, G__30510__a \x3d new Array(arguments.length - 3);\nwhile (G__30510__i \x3c G__30510__a.length) {G__30510__a[G__30510__i] \x3d arguments[G__30510__i + 3]; ++G__30510__i;}\n args \x3d new cljs.core.IndexedSeq(G__30510__a,0,null);\n} \nreturn G__30509__delegate.call(this,x,y,z,args);};\nG__30509.cljs$lang$maxFixedArity \x3d 3;\nG__30509.cljs$lang$applyTo \x3d (function (arglist__30511){\nvar x \x3d cljs.core.first(arglist__30511);\narglist__30511 \x3d cljs.core.next(arglist__30511);\nvar y \x3d cljs.core.first(arglist__30511);\narglist__30511 \x3d cljs.core.next(arglist__30511);\nvar z \x3d cljs.core.first(arglist__30511);\nvar args \x3d cljs.core.rest(arglist__30511);\nreturn G__30509__delegate(x,y,z,args);\n});\nG__30509.cljs$core$IFn$_invoke$arity$variadic \x3d G__30509__delegate;\nreturn G__30509;\n})()\n;\nG__30508 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30508__0.call(this);\ncase 1:\nreturn G__30508__1.call(this,x);\ncase 2:\nreturn G__30508__2.call(this,x,y);\ncase 3:\nreturn G__30508__3.call(this,x,y,z);\ndefault:\nvar G__30512 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30513__i \x3d 0, G__30513__a \x3d new Array(arguments.length - 3);\nwhile (G__30513__i \x3c G__30513__a.length) {G__30513__a[G__30513__i] \x3d arguments[G__30513__i + 3]; ++G__30513__i;}\nG__30512 \x3d new cljs.core.IndexedSeq(G__30513__a,0,null);\n}\nreturn G__30508__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30512);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30508.cljs$lang$maxFixedArity \x3d 3;\nG__30508.cljs$lang$applyTo \x3d G__30508__4.cljs$lang$applyTo;\nG__30508.cljs$core$IFn$_invoke$arity$0 \x3d G__30508__0;\nG__30508.cljs$core$IFn$_invoke$arity$1 \x3d G__30508__1;\nG__30508.cljs$core$IFn$_invoke$arity$2 \x3d G__30508__2;\nG__30508.cljs$core$IFn$_invoke$arity$3 \x3d G__30508__3;\nG__30508.cljs$core$IFn$_invoke$arity$variadic \x3d G__30508__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30508;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,arg1,arg2,arg3){\nreturn (function() {\nvar G__30514 \x3d null;\nvar G__30514__0 \x3d (function (){\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,arg3) : f.call(null,arg1,arg2,arg3));\n});\nvar G__30514__1 \x3d (function (x){\nreturn (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));\n});\nvar G__30514__2 \x3d (function (x,y){\nreturn (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));\n});\nvar G__30514__3 \x3d (function (x,y,z){\nreturn (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));\n});\nvar G__30514__4 \x3d (function() { \nvar G__30515__delegate \x3d function (x,y,z,args){\nreturn 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));\n};\nvar G__30515 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30516__i \x3d 0, G__30516__a \x3d new Array(arguments.length - 3);\nwhile (G__30516__i \x3c G__30516__a.length) {G__30516__a[G__30516__i] \x3d arguments[G__30516__i + 3]; ++G__30516__i;}\n args \x3d new cljs.core.IndexedSeq(G__30516__a,0,null);\n} \nreturn G__30515__delegate.call(this,x,y,z,args);};\nG__30515.cljs$lang$maxFixedArity \x3d 3;\nG__30515.cljs$lang$applyTo \x3d (function (arglist__30517){\nvar x \x3d cljs.core.first(arglist__30517);\narglist__30517 \x3d cljs.core.next(arglist__30517);\nvar y \x3d cljs.core.first(arglist__30517);\narglist__30517 \x3d cljs.core.next(arglist__30517);\nvar z \x3d cljs.core.first(arglist__30517);\nvar args \x3d cljs.core.rest(arglist__30517);\nreturn G__30515__delegate(x,y,z,args);\n});\nG__30515.cljs$core$IFn$_invoke$arity$variadic \x3d G__30515__delegate;\nreturn G__30515;\n})()\n;\nG__30514 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30514__0.call(this);\ncase 1:\nreturn G__30514__1.call(this,x);\ncase 2:\nreturn G__30514__2.call(this,x,y);\ncase 3:\nreturn G__30514__3.call(this,x,y,z);\ndefault:\nvar G__30518 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30519__i \x3d 0, G__30519__a \x3d new Array(arguments.length - 3);\nwhile (G__30519__i \x3c G__30519__a.length) {G__30519__a[G__30519__i] \x3d arguments[G__30519__i + 3]; ++G__30519__i;}\nG__30518 \x3d new cljs.core.IndexedSeq(G__30519__a,0,null);\n}\nreturn G__30514__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30518);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30514.cljs$lang$maxFixedArity \x3d 3;\nG__30514.cljs$lang$applyTo \x3d G__30514__4.cljs$lang$applyTo;\nG__30514.cljs$core$IFn$_invoke$arity$0 \x3d G__30514__0;\nG__30514.cljs$core$IFn$_invoke$arity$1 \x3d G__30514__1;\nG__30514.cljs$core$IFn$_invoke$arity$2 \x3d G__30514__2;\nG__30514.cljs$core$IFn$_invoke$arity$3 \x3d G__30514__3;\nG__30514.cljs$core$IFn$_invoke$arity$variadic \x3d G__30514__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30514;\n})()\n}));\n\n(cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,arg1,arg2,arg3,more){\nreturn (function() { \nvar G__30520__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,arg1,arg2,arg3,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(more,args));\n};\nvar G__30520 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__30521__i \x3d 0, G__30521__a \x3d new Array(arguments.length - 0);\nwhile (G__30521__i \x3c G__30521__a.length) {G__30521__a[G__30521__i] \x3d arguments[G__30521__i + 0]; ++G__30521__i;}\n args \x3d new cljs.core.IndexedSeq(G__30521__a,0,null);\n} \nreturn G__30520__delegate.call(this,args);};\nG__30520.cljs$lang$maxFixedArity \x3d 0;\nG__30520.cljs$lang$applyTo \x3d (function (arglist__30522){\nvar args \x3d cljs.core.seq(arglist__30522);\nreturn G__30520__delegate(args);\n});\nG__30520.cljs$core$IFn$_invoke$arity$variadic \x3d G__30520__delegate;\nreturn G__30520;\n})()\n;\n}));\n\n/** @this {Function} */\n(cljs.core.partial.cljs$lang$applyTo \x3d (function (seq27434){\nvar G__27435 \x3d cljs.core.first(seq27434);\nvar seq27434__$1 \x3d cljs.core.next(seq27434);\nvar G__27436 \x3d cljs.core.first(seq27434__$1);\nvar seq27434__$2 \x3d cljs.core.next(seq27434__$1);\nvar G__27437 \x3d cljs.core.first(seq27434__$2);\nvar seq27434__$3 \x3d cljs.core.next(seq27434__$2);\nvar G__27438 \x3d cljs.core.first(seq27434__$3);\nvar seq27434__$4 \x3d cljs.core.next(seq27434__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27435,G__27436,G__27437,G__27438,seq27434__$4);\n}));\n\n(cljs.core.partial.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Takes a function f, and returns a function that calls f, replacing\n * a nil first argument to f with the supplied value x. Higher arity\n * versions can replace arguments in the second and third\n * positions (y, z). Note that the function f can take any number of\n * arguments, not just the one(s) being nil-patched.\n */\ncljs.core.fnil \x3d (function cljs$core$fnil(var_args){\nvar G__27441 \x3d arguments.length;\nswitch (G__27441) {\ncase 2:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.fnil.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,x){\nreturn (function() {\nvar G__30534 \x3d null;\nvar G__30534__1 \x3d (function (a){\nvar G__27442 \x3d (((a \x3d\x3d null))?x:a);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27442) : f.call(null,G__27442));\n});\nvar G__30534__2 \x3d (function (a,b){\nvar G__27443 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27444 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27443,G__27444) : f.call(null,G__27443,G__27444));\n});\nvar G__30534__3 \x3d (function (a,b,c){\nvar G__27445 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27446 \x3d b;\nvar G__27447 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27445,G__27446,G__27447) : f.call(null,G__27445,G__27446,G__27447));\n});\nvar G__30534__4 \x3d (function() { \nvar G__30538__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),b,c,ds);\n};\nvar G__30538 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30542__i \x3d 0, G__30542__a \x3d new Array(arguments.length - 3);\nwhile (G__30542__i \x3c G__30542__a.length) {G__30542__a[G__30542__i] \x3d arguments[G__30542__i + 3]; ++G__30542__i;}\n ds \x3d new cljs.core.IndexedSeq(G__30542__a,0,null);\n} \nreturn G__30538__delegate.call(this,a,b,c,ds);};\nG__30538.cljs$lang$maxFixedArity \x3d 3;\nG__30538.cljs$lang$applyTo \x3d (function (arglist__30543){\nvar a \x3d cljs.core.first(arglist__30543);\narglist__30543 \x3d cljs.core.next(arglist__30543);\nvar b \x3d cljs.core.first(arglist__30543);\narglist__30543 \x3d cljs.core.next(arglist__30543);\nvar c \x3d cljs.core.first(arglist__30543);\nvar ds \x3d cljs.core.rest(arglist__30543);\nreturn G__30538__delegate(a,b,c,ds);\n});\nG__30538.cljs$core$IFn$_invoke$arity$variadic \x3d G__30538__delegate;\nreturn G__30538;\n})()\n;\nG__30534 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 1:\nreturn G__30534__1.call(this,a);\ncase 2:\nreturn G__30534__2.call(this,a,b);\ncase 3:\nreturn G__30534__3.call(this,a,b,c);\ndefault:\nvar G__30544 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30545__i \x3d 0, G__30545__a \x3d new Array(arguments.length - 3);\nwhile (G__30545__i \x3c G__30545__a.length) {G__30545__a[G__30545__i] \x3d arguments[G__30545__i + 3]; ++G__30545__i;}\nG__30544 \x3d new cljs.core.IndexedSeq(G__30545__a,0,null);\n}\nreturn G__30534__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__30544);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30534.cljs$lang$maxFixedArity \x3d 3;\nG__30534.cljs$lang$applyTo \x3d G__30534__4.cljs$lang$applyTo;\nG__30534.cljs$core$IFn$_invoke$arity$1 \x3d G__30534__1;\nG__30534.cljs$core$IFn$_invoke$arity$2 \x3d G__30534__2;\nG__30534.cljs$core$IFn$_invoke$arity$3 \x3d G__30534__3;\nG__30534.cljs$core$IFn$_invoke$arity$variadic \x3d G__30534__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30534;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,x,y){\nreturn (function() {\nvar G__30546 \x3d null;\nvar G__30546__2 \x3d (function (a,b){\nvar G__27448 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27449 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27448,G__27449) : f.call(null,G__27448,G__27449));\n});\nvar G__30546__3 \x3d (function (a,b,c){\nvar G__27450 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27451 \x3d (((b \x3d\x3d null))?y:b);\nvar G__27452 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27450,G__27451,G__27452) : f.call(null,G__27450,G__27451,G__27452));\n});\nvar G__30546__4 \x3d (function() { \nvar G__30547__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),c,ds);\n};\nvar G__30547 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30548__i \x3d 0, G__30548__a \x3d new Array(arguments.length - 3);\nwhile (G__30548__i \x3c G__30548__a.length) {G__30548__a[G__30548__i] \x3d arguments[G__30548__i + 3]; ++G__30548__i;}\n ds \x3d new cljs.core.IndexedSeq(G__30548__a,0,null);\n} \nreturn G__30547__delegate.call(this,a,b,c,ds);};\nG__30547.cljs$lang$maxFixedArity \x3d 3;\nG__30547.cljs$lang$applyTo \x3d (function (arglist__30549){\nvar a \x3d cljs.core.first(arglist__30549);\narglist__30549 \x3d cljs.core.next(arglist__30549);\nvar b \x3d cljs.core.first(arglist__30549);\narglist__30549 \x3d cljs.core.next(arglist__30549);\nvar c \x3d cljs.core.first(arglist__30549);\nvar ds \x3d cljs.core.rest(arglist__30549);\nreturn G__30547__delegate(a,b,c,ds);\n});\nG__30547.cljs$core$IFn$_invoke$arity$variadic \x3d G__30547__delegate;\nreturn G__30547;\n})()\n;\nG__30546 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__30546__2.call(this,a,b);\ncase 3:\nreturn G__30546__3.call(this,a,b,c);\ndefault:\nvar G__30550 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30551__i \x3d 0, G__30551__a \x3d new Array(arguments.length - 3);\nwhile (G__30551__i \x3c G__30551__a.length) {G__30551__a[G__30551__i] \x3d arguments[G__30551__i + 3]; ++G__30551__i;}\nG__30550 \x3d new cljs.core.IndexedSeq(G__30551__a,0,null);\n}\nreturn G__30546__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__30550);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30546.cljs$lang$maxFixedArity \x3d 3;\nG__30546.cljs$lang$applyTo \x3d G__30546__4.cljs$lang$applyTo;\nG__30546.cljs$core$IFn$_invoke$arity$2 \x3d G__30546__2;\nG__30546.cljs$core$IFn$_invoke$arity$3 \x3d G__30546__3;\nG__30546.cljs$core$IFn$_invoke$arity$variadic \x3d G__30546__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30546;\n})()\n}));\n\n(cljs.core.fnil.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,x,y,z){\nreturn (function() {\nvar G__30552 \x3d null;\nvar G__30552__2 \x3d (function (a,b){\nvar G__27453 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27454 \x3d (((b \x3d\x3d null))?y:b);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27453,G__27454) : f.call(null,G__27453,G__27454));\n});\nvar G__30552__3 \x3d (function (a,b,c){\nvar G__27455 \x3d (((a \x3d\x3d null))?x:a);\nvar G__27456 \x3d (((b \x3d\x3d null))?y:b);\nvar G__27457 \x3d (((c \x3d\x3d null))?z:c);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27455,G__27456,G__27457) : f.call(null,G__27455,G__27456,G__27457));\n});\nvar G__30552__4 \x3d (function() { \nvar G__30553__delegate \x3d function (a,b,c,ds){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a \x3d\x3d null))?x:a),(((b \x3d\x3d null))?y:b),(((c \x3d\x3d null))?z:c),ds);\n};\nvar G__30553 \x3d function (a,b,c,var_args){\nvar ds \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30554__i \x3d 0, G__30554__a \x3d new Array(arguments.length - 3);\nwhile (G__30554__i \x3c G__30554__a.length) {G__30554__a[G__30554__i] \x3d arguments[G__30554__i + 3]; ++G__30554__i;}\n ds \x3d new cljs.core.IndexedSeq(G__30554__a,0,null);\n} \nreturn G__30553__delegate.call(this,a,b,c,ds);};\nG__30553.cljs$lang$maxFixedArity \x3d 3;\nG__30553.cljs$lang$applyTo \x3d (function (arglist__30555){\nvar a \x3d cljs.core.first(arglist__30555);\narglist__30555 \x3d cljs.core.next(arglist__30555);\nvar b \x3d cljs.core.first(arglist__30555);\narglist__30555 \x3d cljs.core.next(arglist__30555);\nvar c \x3d cljs.core.first(arglist__30555);\nvar ds \x3d cljs.core.rest(arglist__30555);\nreturn G__30553__delegate(a,b,c,ds);\n});\nG__30553.cljs$core$IFn$_invoke$arity$variadic \x3d G__30553__delegate;\nreturn G__30553;\n})()\n;\nG__30552 \x3d function(a,b,c,var_args){\nvar ds \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__30552__2.call(this,a,b);\ncase 3:\nreturn G__30552__3.call(this,a,b,c);\ndefault:\nvar G__30556 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30557__i \x3d 0, G__30557__a \x3d new Array(arguments.length - 3);\nwhile (G__30557__i \x3c G__30557__a.length) {G__30557__a[G__30557__i] \x3d arguments[G__30557__i + 3]; ++G__30557__i;}\nG__30556 \x3d new cljs.core.IndexedSeq(G__30557__a,0,null);\n}\nreturn G__30552__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__30556);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30552.cljs$lang$maxFixedArity \x3d 3;\nG__30552.cljs$lang$applyTo \x3d G__30552__4.cljs$lang$applyTo;\nG__30552.cljs$core$IFn$_invoke$arity$2 \x3d G__30552__2;\nG__30552.cljs$core$IFn$_invoke$arity$3 \x3d G__30552__3;\nG__30552.cljs$core$IFn$_invoke$arity$variadic \x3d G__30552__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30552;\n})()\n}));\n\n(cljs.core.fnil.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to 0\n * and the first item of coll, followed by applying f to 1 and the second\n * item in coll, etc, until coll is exhausted. Thus function f should\n * accept 2 arguments, index and item. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.map_indexed \x3d (function cljs$core$map_indexed(var_args){\nvar G__27459 \x3d arguments.length;\nswitch (G__27459) {\ncase 1:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar i \x3d (cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.volatile_BANG_.cljs$core$IFn$_invoke$arity$1((-1)) : cljs.core.volatile_BANG_.call(null,(-1)));\nreturn (function() {\nvar G__30559 \x3d null;\nvar G__30559__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30559__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30559__2 \x3d (function (result,input){\nvar G__27460 \x3d result;\nvar G__27461 \x3d (function (){var G__27462 \x3d cljs.core._vreset_BANG_(i,(cljs.core._deref(i) + (1)));\nvar G__27463 \x3d input;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27462,G__27463) : f.call(null,G__27462,G__27463));\n})();\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__27460,G__27461) : rf.call(null,G__27460,G__27461));\n});\nG__30559 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30559__0.call(this);\ncase 1:\nreturn G__30559__1.call(this,result);\ncase 2:\nreturn G__30559__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30559.cljs$core$IFn$_invoke$arity$0 \x3d G__30559__0;\nG__30559.cljs$core$IFn$_invoke$arity$1 \x3d G__30559__1;\nG__30559.cljs$core$IFn$_invoke$arity$2 \x3d G__30559__2;\nreturn G__30559;\n})()\n});\n}));\n\n(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar mapi \x3d (function cljs$core$mapi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30560 \x3d size;\nvar i_30561 \x3d (0);\nwhile(true){\nif((i_30561 \x3c n__5616__auto___30560)){\ncljs.core.chunk_append(b,(function (){var G__27468 \x3d (idx + i_30561);\nvar G__27469 \x3d cljs.core._nth(c,i_30561);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27468,G__27469) : f.call(null,G__27468,G__27469));\n})());\n\nvar G__30562 \x3d (i_30561 + (1));\ni_30561 \x3d G__30562;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$mapi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__27470 \x3d idx;\nvar G__27471 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27470,G__27471) : f.call(null,G__27470,G__27471));\n})(),cljs$core$mapi((idx + (1)),cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn mapi((0),coll);\n}));\n\n(cljs.core.map_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the non-nil results of (f item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a transducer when no collection is provided.\n */\ncljs.core.keep \x3d (function cljs$core$keep(var_args){\nvar G__27473 \x3d arguments.length;\nswitch (G__27473) {\ncase 1:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__30570 \x3d null;\nvar G__30570__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30570__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30570__2 \x3d (function (result,input){\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__30570 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30570__0.call(this);\ncase 1:\nreturn G__30570__1.call(this,result);\ncase 2:\nreturn G__30570__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30570.cljs$core$IFn$_invoke$arity$0 \x3d G__30570__0;\nG__30570.cljs$core$IFn$_invoke$arity$1 \x3d G__30570__1;\nG__30570.cljs$core$IFn$_invoke$arity$2 \x3d G__30570__2;\nreturn G__30570;\n})()\n});\n}));\n\n(cljs.core.keep.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30571 \x3d size;\nvar i_30572 \x3d (0);\nwhile(true){\nif((i_30572 \x3c n__5616__auto___30571)){\nvar x_30573 \x3d (function (){var G__27474 \x3d cljs.core._nth(c,i_30572);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27474) : f.call(null,G__27474));\n})();\nif((x_30573 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_30573);\n}\n\nvar G__30574 \x3d (i_30572 + (1));\ni_30572 \x3d G__30574;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__27475 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27475) : f.call(null,G__27475));\n})();\nif((x \x3d\x3d null)){\nreturn cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.keep.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Atom \x3d (function (state,meta,validator,watches){\nthis.state \x3d state;\nthis.meta \x3d meta;\nthis.validator \x3d validator;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 16386;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6455296;\n});\n(cljs.core.Atom.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn (o__$1 \x3d\x3d\x3d other);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar seq__27476 \x3d cljs.core.seq(self__.watches);\nvar chunk__27477 \x3d null;\nvar count__27478 \x3d (0);\nvar i__27479 \x3d (0);\nwhile(true){\nif((i__27479 \x3c count__27478)){\nvar vec__27486 \x3d chunk__27477.cljs$core$IIndexed$_nth$arity$2(null,i__27479);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27486,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27486,(1),null);\n(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));\n\n\nvar G__30575 \x3d seq__27476;\nvar G__30576 \x3d chunk__27477;\nvar G__30577 \x3d count__27478;\nvar G__30578 \x3d (i__27479 + (1));\nseq__27476 \x3d G__30575;\nchunk__27477 \x3d G__30576;\ncount__27478 \x3d G__30577;\ni__27479 \x3d G__30578;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__27476);\nif(temp__5823__auto__){\nvar seq__27476__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27476__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27476__$1);\nvar G__30579 \x3d cljs.core.chunk_rest(seq__27476__$1);\nvar G__30580 \x3d c__5548__auto__;\nvar G__30581 \x3d cljs.core.count(c__5548__auto__);\nvar G__30582 \x3d (0);\nseq__27476 \x3d G__30579;\nchunk__27477 \x3d G__30580;\ncount__27478 \x3d G__30581;\ni__27479 \x3d G__30582;\ncontinue;\n} else {\nvar vec__27489 \x3d cljs.core.first(seq__27476__$1);\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27489,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27489,(1),null);\n(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));\n\n\nvar G__30592 \x3d cljs.core.next(seq__27476__$1);\nvar G__30593 \x3d null;\nvar G__30594 \x3d (0);\nvar G__30595 \x3d (0);\nseq__27476 \x3d G__30592;\nchunk__27477 \x3d G__30593;\ncount__27478 \x3d G__30594;\ni__27479 \x3d G__30595;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\n(this$__$1.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,f));\n\nreturn this$__$1;\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.Atom.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22validator\x22,\x22validator\x22,-325659154,null),new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null)], null);\n}));\n\n(cljs.core.Atom.cljs$lang$type \x3d true);\n\n(cljs.core.Atom.cljs$lang$ctorStr \x3d \x22cljs.core/Atom\x22);\n\n(cljs.core.Atom.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Atom\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Atom.\n */\ncljs.core.__GT_Atom \x3d (function cljs$core$__GT_Atom(state,meta,validator,watches){\nreturn (new cljs.core.Atom(state,meta,validator,watches));\n});\n\n/**\n * Creates and returns an Atom with an initial value of x and zero or\n * more options (in any order):\n * \n * :meta metadata-map\n * \n * :validator validate-fn\n * \n * If metadata-map is supplied, it will become the metadata on the\n * atom. validate-fn must be nil or a side-effect-free fn of one\n * argument, which will be passed the intended new state on any state\n * change. If the new state is unacceptable, the validate-fn should\n * return false or throw an Error. If either of these error conditions\n * occur, then the value of the atom will not change.\n */\ncljs.core.atom \x3d (function cljs$core$atom(var_args){\nvar G__27495 \x3d arguments.length;\nswitch (G__27495) {\ncase 1:\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30597 \x3d arguments.length;\nvar i__5750__auto___30598 \x3d (0);\nwhile(true){\nif((i__5750__auto___30598 \x3c len__5749__auto___30597)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30598]));\n\nvar G__30599 \x3d (i__5750__auto___30598 + (1));\ni__5750__auto___30598 \x3d G__30599;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Atom(x,null,null,null));\n}));\n\n(cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__27496){\nvar map__27497 \x3d p__27496;\nvar map__27497__$1 \x3d cljs.core.__destructure_map(map__27497);\nvar meta \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27497__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964));\nvar validator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__27497__$1,new cljs.core.Keyword(null,\x22validator\x22,\x22validator\x22,-1966190681));\nreturn (new cljs.core.Atom(x,meta,validator,null));\n}));\n\n/** @this {Function} */\n(cljs.core.atom.cljs$lang$applyTo \x3d (function (seq27493){\nvar G__27494 \x3d cljs.core.first(seq27493);\nvar seq27493__$1 \x3d cljs.core.next(seq27493);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27494,seq27493__$1);\n}));\n\n(cljs.core.atom.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Sets the value of atom to newval without regard for the\n * current value. Returns new-value.\n */\ncljs.core.reset_BANG_ \x3d (function cljs$core$reset_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new_value;\n} else {\nreturn cljs.core._reset_BANG_(a,new_value);\n}\n});\n/**\n * Sets the value of atom to newval. Returns [old new], the value of the\n * atom before and after the reset.\n */\ncljs.core.reset_vals_BANG_ \x3d (function cljs$core$reset_vals_BANG_(a,new_value){\nif((a instanceof cljs.core.Atom)){\nvar validate \x3d a.validator;\nif((validate \x3d\x3d null)){\n} else {\nif(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){\n} else {\nthrow (new Error(\x22Validator rejected reference state\x22));\n}\n}\n\nvar old_value \x3d a.state;\n(a.state \x3d new_value);\n\nif((a.watches \x3d\x3d null)){\n} else {\na.cljs$core$IWatchable$_notify_watches$arity$3(null,old_value,new_value);\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [old_value,new_value], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._reset_BANG_(a,new_value)], null);\n}\n});\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects. Returns\n * the value that was swapped in.\n */\ncljs.core.swap_BANG_ \x3d (function cljs$core$swap_BANG_(var_args){\nvar G__27504 \x3d arguments.length;\nswitch (G__27504) {\ncase 2:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30601 \x3d arguments.length;\nvar i__5750__auto___30602 \x3d (0);\nwhile(true){\nif((i__5750__auto___30602 \x3c len__5749__auto___30601)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30602]));\n\nvar G__30603 \x3d (i__5750__auto___30602 + (1));\ni__5750__auto___30602 \x3d G__30603;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__27505 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27505) : f.call(null,G__27505));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__27506 \x3d a.state;\nvar G__27507 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27506,G__27507) : f.call(null,G__27506,G__27507));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,(function (){var G__27508 \x3d a.state;\nvar G__27509 \x3d x;\nvar G__27510 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27508,G__27509,G__27510) : f.call(null,G__27508,G__27509,G__27510));\n})());\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y);\n}\n}));\n\n(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn cljs.core._swap_BANG_(a,f,x,y,more);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_BANG_.cljs$lang$applyTo \x3d (function (seq27499){\nvar G__27500 \x3d cljs.core.first(seq27499);\nvar seq27499__$1 \x3d cljs.core.next(seq27499);\nvar G__27501 \x3d cljs.core.first(seq27499__$1);\nvar seq27499__$2 \x3d cljs.core.next(seq27499__$1);\nvar G__27502 \x3d cljs.core.first(seq27499__$2);\nvar seq27499__$3 \x3d cljs.core.next(seq27499__$2);\nvar G__27503 \x3d cljs.core.first(seq27499__$3);\nvar seq27499__$4 \x3d cljs.core.next(seq27499__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27500,G__27501,G__27502,G__27503,seq27499__$4);\n}));\n\n(cljs.core.swap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically swaps the value of atom to be:\n * (apply f current-value-of-atom args). Note that f may be called\n * multiple times, and thus should be free of side effects.\n * Returns [old new], the value of the atom before and after the swap.\n */\ncljs.core.swap_vals_BANG_ \x3d (function cljs$core$swap_vals_BANG_(var_args){\nvar G__27517 \x3d arguments.length;\nswitch (G__27517) {\ncase 2:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30611 \x3d arguments.length;\nvar i__5750__auto___30612 \x3d (0);\nwhile(true){\nif((i__5750__auto___30612 \x3c len__5749__auto___30611)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30612]));\n\nvar G__30613 \x3d (i__5750__auto___30612 + (1));\ni__5750__auto___30612 \x3d G__30613;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,f){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__27518 \x3d a.state;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27518) : f.call(null,G__27518));\n})());\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f)], null);\n}\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,f,x){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__27519 \x3d a.state;\nvar G__27520 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27519,G__27520) : f.call(null,G__27519,G__27520));\n})());\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f,x)], null);\n}\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,f,x,y){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,(function (){var G__27521 \x3d a.state;\nvar G__27522 \x3d x;\nvar G__27523 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27521,G__27522,G__27523) : f.call(null,G__27521,G__27522,G__27523));\n})());\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f,x,y)], null);\n}\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a,f,x,y,more){\nif((a instanceof cljs.core.Atom)){\nreturn cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core._deref(a),cljs.core._swap_BANG_(a,f,x,y,more)], null);\n}\n}));\n\n/** @this {Function} */\n(cljs.core.swap_vals_BANG_.cljs$lang$applyTo \x3d (function (seq27512){\nvar G__27513 \x3d cljs.core.first(seq27512);\nvar seq27512__$1 \x3d cljs.core.next(seq27512);\nvar G__27514 \x3d cljs.core.first(seq27512__$1);\nvar seq27512__$2 \x3d cljs.core.next(seq27512__$1);\nvar G__27515 \x3d cljs.core.first(seq27512__$2);\nvar seq27512__$3 \x3d cljs.core.next(seq27512__$2);\nvar G__27516 \x3d cljs.core.first(seq27512__$3);\nvar seq27512__$4 \x3d cljs.core.next(seq27512__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27513,G__27514,G__27515,G__27516,seq27512__$4);\n}));\n\n(cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Atomically sets the value of atom to newval if and only if the\n * current value of the atom is equal to oldval. Returns true if\n * set happened, else false.\n */\ncljs.core.compare_and_set_BANG_ \x3d (function cljs$core$compare_and_set_BANG_(a,oldval,newval){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),oldval)){\ncljs.core.reset_BANG_(a,newval);\n\nreturn true;\n} else {\nreturn false;\n}\n});\n/**\n * Sets the validator-fn for an atom. validator-fn must be nil or a\n * side-effect-free fn of one argument, which will be passed the intended\n * new state on any state change. If the new state is unacceptable, the\n * validator-fn should return false or throw an Error. If the current state\n * is not acceptable to the new validator, an Error will be thrown and the\n * validator will not be changed.\n */\ncljs.core.set_validator_BANG_ \x3d (function cljs$core$set_validator_BANG_(iref,val){\nif((((!((val \x3d\x3d null)))) \x26\x26 (cljs.core.not((function (){var G__27524 \x3d cljs.core._deref(iref);\nreturn (val.cljs$core$IFn$_invoke$arity$1 ? val.cljs$core$IFn$_invoke$arity$1(G__27524) : val.call(null,G__27524));\n})())))){\nthrow (new Error(\x22Validator rejected reference state\x22));\n} else {\n}\n\nreturn (iref.validator \x3d val);\n});\n/**\n * Gets the validator-fn for a var/ref/agent/atom.\n */\ncljs.core.get_validator \x3d (function cljs$core$get_validator(iref){\nreturn iref.validator;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IVolatile}\n * @implements {cljs.core.IDeref}\n*/\ncljs.core.Volatile \x3d (function (state){\nthis.state \x3d state;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2 \x3d (function (_,new_state){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.state \x3d new_state);\n}));\n\n(cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.state;\n}));\n\n(cljs.core.Volatile.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22state\x22,\x22state\x22,-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Volatile.cljs$lang$type \x3d true);\n\n(cljs.core.Volatile.cljs$lang$ctorStr \x3d \x22cljs.core/Volatile\x22);\n\n(cljs.core.Volatile.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Volatile\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Volatile.\n */\ncljs.core.__GT_Volatile \x3d (function cljs$core$__GT_Volatile(state){\nreturn (new cljs.core.Volatile(state));\n});\n\n/**\n * Creates and returns a Volatile with an initial value of val.\n */\ncljs.core.volatile_BANG_ \x3d (function cljs$core$volatile_BANG_(val){\nreturn (new cljs.core.Volatile(val));\n});\n/**\n * Returns true if x is a volatile.\n */\ncljs.core.volatile_QMARK_ \x3d (function cljs$core$volatile_QMARK_(x){\nreturn (x instanceof cljs.core.Volatile);\n});\n/**\n * Sets the value of volatile to newval without regard for the\n * current value. Returns newval.\n */\ncljs.core.vreset_BANG_ \x3d (function cljs$core$vreset_BANG_(vol,newval){\nreturn cljs.core._vreset_BANG_(vol,newval);\n});\n/**\n * Returns a lazy sequence of the non-nil results of (f index item). Note,\n * this means false return values will be included. f must be free of\n * side-effects. Returns a stateful transducer when no collection is\n * provided.\n */\ncljs.core.keep_indexed \x3d (function cljs$core$keep_indexed(var_args){\nvar G__27526 \x3d arguments.length;\nswitch (G__27526) {\ncase 1:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__30624 \x3d null;\nvar G__30624__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30624__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30624__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nvar v \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(i,input) : f.call(null,i,input));\nif((v \x3d\x3d null)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n}\n});\nG__30624 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30624__0.call(this);\ncase 1:\nreturn G__30624__1.call(this,result);\ncase 2:\nreturn G__30624__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30624.cljs$core$IFn$_invoke$arity$0 \x3d G__30624__0;\nG__30624.cljs$core$IFn$_invoke$arity$1 \x3d G__30624__1;\nG__30624.cljs$core$IFn$_invoke$arity$2 \x3d G__30624__2;\nreturn G__30624;\n})()\n});\n}));\n\n(cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nvar keepi \x3d (function cljs$core$keepi(idx,coll__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll__$1);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30625 \x3d size;\nvar i_30626 \x3d (0);\nwhile(true){\nif((i_30626 \x3c n__5616__auto___30625)){\nvar x_30627 \x3d (function (){var G__27531 \x3d (idx + i_30626);\nvar G__27532 \x3d cljs.core._nth(c,i_30626);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27531,G__27532) : f.call(null,G__27531,G__27532));\n})();\nif((x_30627 \x3d\x3d null)){\n} else {\ncljs.core.chunk_append(b,x_30627);\n}\n\nvar G__30628 \x3d (i_30626 + (1));\ni_30626 \x3d G__30628;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$keepi((idx + size),cljs.core.chunk_rest(s)));\n} else {\nvar x \x3d (function (){var G__27533 \x3d idx;\nvar G__27534 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27533,G__27534) : f.call(null,G__27533,G__27534));\n})();\nif((x \x3d\x3d null)){\nreturn cljs$core$keepi((idx + (1)),cljs.core.rest(s));\n} else {\nreturn cljs.core.cons(x,cljs$core$keepi((idx + (1)),cljs.core.rest(s)));\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn keepi((0),coll);\n}));\n\n(cljs.core.keep_indexed.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a set of predicates and returns a function f that returns true if all of its\n * composing predicates return a logical true value against all of its arguments, else it returns\n * false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical false result against the original predicates.\n */\ncljs.core.every_pred \x3d (function cljs$core$every_pred(var_args){\nvar G__27546 \x3d arguments.length;\nswitch (G__27546) {\ncase 1:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30630 \x3d arguments.length;\nvar i__5750__auto___30631 \x3d (0);\nwhile(true){\nif((i__5750__auto___30631 \x3c len__5749__auto___30630)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30631]));\n\nvar G__30632 \x3d (i__5750__auto___30631 + (1));\ni__5750__auto___30631 \x3d G__30632;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$ep1 \x3d null;\nvar cljs$core$ep1__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep1__1 \x3d (function (x){\nreturn cljs.core.boolean$((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x)));\n});\nvar cljs$core$ep1__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep1__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep1__4 \x3d (function() { \nvar G__30639__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$ep1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_(p,args);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30639 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30640__i \x3d 0, G__30640__a \x3d new Array(arguments.length - 3);\nwhile (G__30640__i \x3c G__30640__a.length) {G__30640__a[G__30640__i] \x3d arguments[G__30640__i + 3]; ++G__30640__i;}\n args \x3d new cljs.core.IndexedSeq(G__30640__a,0,null);\n} \nreturn G__30639__delegate.call(this,x,y,z,args);};\nG__30639.cljs$lang$maxFixedArity \x3d 3;\nG__30639.cljs$lang$applyTo \x3d (function (arglist__30641){\nvar x \x3d cljs.core.first(arglist__30641);\narglist__30641 \x3d cljs.core.next(arglist__30641);\nvar y \x3d cljs.core.first(arglist__30641);\narglist__30641 \x3d cljs.core.next(arglist__30641);\nvar z \x3d cljs.core.first(arglist__30641);\nvar args \x3d cljs.core.rest(arglist__30641);\nreturn G__30639__delegate(x,y,z,args);\n});\nG__30639.cljs$core$IFn$_invoke$arity$variadic \x3d G__30639__delegate;\nreturn G__30639;\n})()\n;\ncljs$core$ep1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep1__0.call(this);\ncase 1:\nreturn cljs$core$ep1__1.call(this,x);\ncase 2:\nreturn cljs$core$ep1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep1__3.call(this,x,y,z);\ndefault:\nvar G__30642 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30643__i \x3d 0, G__30643__a \x3d new Array(arguments.length - 3);\nwhile (G__30643__i \x3c G__30643__a.length) {G__30643__a[G__30643__i] \x3d arguments[G__30643__i + 3]; ++G__30643__i;}\nG__30642 \x3d new cljs.core.IndexedSeq(G__30643__a,0,null);\n}\nreturn cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30642);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep1.cljs$lang$applyTo \x3d cljs$core$ep1__4.cljs$lang$applyTo;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep1__0;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep1__1;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep1__2;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep1__3;\ncljs$core$ep1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep1;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$ep2 \x3d null;\nvar cljs$core$ep2__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep2__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep2__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep2__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$3)){\nvar and__5023__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$4)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n} else {\nreturn and__5023__auto____$4;\n}\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep2__4 \x3d (function() { \nvar G__30644__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$ep2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__27535_SHARP_){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27535_SHARP_) : p1.call(null,p1__27535_SHARP_));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27535_SHARP_) : p2.call(null,p1__27535_SHARP_));\n} else {\nreturn and__5023__auto____$1;\n}\n}),args);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30644 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30645__i \x3d 0, G__30645__a \x3d new Array(arguments.length - 3);\nwhile (G__30645__i \x3c G__30645__a.length) {G__30645__a[G__30645__i] \x3d arguments[G__30645__i + 3]; ++G__30645__i;}\n args \x3d new cljs.core.IndexedSeq(G__30645__a,0,null);\n} \nreturn G__30644__delegate.call(this,x,y,z,args);};\nG__30644.cljs$lang$maxFixedArity \x3d 3;\nG__30644.cljs$lang$applyTo \x3d (function (arglist__30646){\nvar x \x3d cljs.core.first(arglist__30646);\narglist__30646 \x3d cljs.core.next(arglist__30646);\nvar y \x3d cljs.core.first(arglist__30646);\narglist__30646 \x3d cljs.core.next(arglist__30646);\nvar z \x3d cljs.core.first(arglist__30646);\nvar args \x3d cljs.core.rest(arglist__30646);\nreturn G__30644__delegate(x,y,z,args);\n});\nG__30644.cljs$core$IFn$_invoke$arity$variadic \x3d G__30644__delegate;\nreturn G__30644;\n})()\n;\ncljs$core$ep2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep2__0.call(this);\ncase 1:\nreturn cljs$core$ep2__1.call(this,x);\ncase 2:\nreturn cljs$core$ep2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep2__3.call(this,x,y,z);\ndefault:\nvar G__30647 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30648__i \x3d 0, G__30648__a \x3d new Array(arguments.length - 3);\nwhile (G__30648__i \x3c G__30648__a.length) {G__30648__a[G__30648__i] \x3d arguments[G__30648__i + 3]; ++G__30648__i;}\nG__30647 \x3d new cljs.core.IndexedSeq(G__30648__a,0,null);\n}\nreturn cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30647);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep2.cljs$lang$applyTo \x3d cljs$core$ep2__4.cljs$lang$applyTo;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep2__0;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep2__1;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep2__2;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep2__3;\ncljs$core$ep2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep2;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$ep3 \x3d null;\nvar cljs$core$ep3__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$ep3__1 \x3d (function (x){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep3__2 \x3d (function (x,y){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$3)){\nvar and__5023__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$4)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n} else {\nreturn and__5023__auto____$4;\n}\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep3__3 \x3d (function (x,y,z){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$3)){\nvar and__5023__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$4)){\nvar and__5023__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(and__5023__auto____$5)){\nvar and__5023__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(and__5023__auto____$6)){\nvar and__5023__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$7)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n} else {\nreturn and__5023__auto____$7;\n}\n} else {\nreturn and__5023__auto____$6;\n}\n} else {\nreturn and__5023__auto____$5;\n}\n} else {\nreturn and__5023__auto____$4;\n}\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\nvar cljs$core$ep3__4 \x3d (function() { \nvar G__30652__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$ep3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__27536_SHARP_){\nvar and__5023__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27536_SHARP_) : p1.call(null,p1__27536_SHARP_));\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27536_SHARP_) : p2.call(null,p1__27536_SHARP_));\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__27536_SHARP_) : p3.call(null,p1__27536_SHARP_));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n}),args);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30652 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30653__i \x3d 0, G__30653__a \x3d new Array(arguments.length - 3);\nwhile (G__30653__i \x3c G__30653__a.length) {G__30653__a[G__30653__i] \x3d arguments[G__30653__i + 3]; ++G__30653__i;}\n args \x3d new cljs.core.IndexedSeq(G__30653__a,0,null);\n} \nreturn G__30652__delegate.call(this,x,y,z,args);};\nG__30652.cljs$lang$maxFixedArity \x3d 3;\nG__30652.cljs$lang$applyTo \x3d (function (arglist__30654){\nvar x \x3d cljs.core.first(arglist__30654);\narglist__30654 \x3d cljs.core.next(arglist__30654);\nvar y \x3d cljs.core.first(arglist__30654);\narglist__30654 \x3d cljs.core.next(arglist__30654);\nvar z \x3d cljs.core.first(arglist__30654);\nvar args \x3d cljs.core.rest(arglist__30654);\nreturn G__30652__delegate(x,y,z,args);\n});\nG__30652.cljs$core$IFn$_invoke$arity$variadic \x3d G__30652__delegate;\nreturn G__30652;\n})()\n;\ncljs$core$ep3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$ep3__0.call(this);\ncase 1:\nreturn cljs$core$ep3__1.call(this,x);\ncase 2:\nreturn cljs$core$ep3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$ep3__3.call(this,x,y,z);\ndefault:\nvar G__30655 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30656__i \x3d 0, G__30656__a \x3d new Array(arguments.length - 3);\nwhile (G__30656__i \x3c G__30656__a.length) {G__30656__a[G__30656__i] \x3d arguments[G__30656__i + 3]; ++G__30656__i;}\nG__30655 \x3d new cljs.core.IndexedSeq(G__30656__a,0,null);\n}\nreturn cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30655);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$ep3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$ep3.cljs$lang$applyTo \x3d cljs$core$ep3__4.cljs$lang$applyTo;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$ep3__0;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$ep3__1;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$ep3__2;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$ep3__3;\ncljs$core$ep3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$ep3;\n})()\n}));\n\n(cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$epn \x3d null;\nvar cljs$core$epn__0 \x3d (function (){\nreturn true;\n});\nvar cljs$core$epn__1 \x3d (function (x){\nreturn cljs.core.every_QMARK_((function (p1__27537_SHARP_){\nreturn (p1__27537_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27537_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27537_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$epn__2 \x3d (function (x,y){\nreturn cljs.core.every_QMARK_((function (p1__27538_SHARP_){\nvar and__5023__auto__ \x3d (p1__27538_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27538_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27538_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (p1__27538_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27538_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27538_SHARP_.call(null,y));\n} else {\nreturn and__5023__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__3 \x3d (function (x,y,z){\nreturn cljs.core.every_QMARK_((function (p1__27539_SHARP_){\nvar and__5023__auto__ \x3d (p1__27539_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27539_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27539_SHARP_.call(null,x));\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (p1__27539_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27539_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27539_SHARP_.call(null,y));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (p1__27539_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27539_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__27539_SHARP_.call(null,z));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),ps__$1);\n});\nvar cljs$core$epn__4 \x3d (function() { \nvar G__30657__delegate \x3d function (x,y,z,args){\nreturn cljs.core.boolean$((function (){var and__5023__auto__ \x3d cljs$core$epn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.every_QMARK_((function (p1__27540_SHARP_){\nreturn cljs.core.every_QMARK_(p1__27540_SHARP_,args);\n}),ps__$1);\n} else {\nreturn and__5023__auto__;\n}\n})());\n};\nvar G__30657 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30658__i \x3d 0, G__30658__a \x3d new Array(arguments.length - 3);\nwhile (G__30658__i \x3c G__30658__a.length) {G__30658__a[G__30658__i] \x3d arguments[G__30658__i + 3]; ++G__30658__i;}\n args \x3d new cljs.core.IndexedSeq(G__30658__a,0,null);\n} \nreturn G__30657__delegate.call(this,x,y,z,args);};\nG__30657.cljs$lang$maxFixedArity \x3d 3;\nG__30657.cljs$lang$applyTo \x3d (function (arglist__30659){\nvar x \x3d cljs.core.first(arglist__30659);\narglist__30659 \x3d cljs.core.next(arglist__30659);\nvar y \x3d cljs.core.first(arglist__30659);\narglist__30659 \x3d cljs.core.next(arglist__30659);\nvar z \x3d cljs.core.first(arglist__30659);\nvar args \x3d cljs.core.rest(arglist__30659);\nreturn G__30657__delegate(x,y,z,args);\n});\nG__30657.cljs$core$IFn$_invoke$arity$variadic \x3d G__30657__delegate;\nreturn G__30657;\n})()\n;\ncljs$core$epn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$epn__0.call(this);\ncase 1:\nreturn cljs$core$epn__1.call(this,x);\ncase 2:\nreturn cljs$core$epn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$epn__3.call(this,x,y,z);\ndefault:\nvar G__30660 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30661__i \x3d 0, G__30661__a \x3d new Array(arguments.length - 3);\nwhile (G__30661__i \x3c G__30661__a.length) {G__30661__a[G__30661__i] \x3d arguments[G__30661__i + 3]; ++G__30661__i;}\nG__30660 \x3d new cljs.core.IndexedSeq(G__30661__a,0,null);\n}\nreturn cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30660);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$epn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$epn.cljs$lang$applyTo \x3d cljs$core$epn__4.cljs$lang$applyTo;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$epn__0;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$epn__1;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$epn__2;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$epn__3;\ncljs$core$epn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$epn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.every_pred.cljs$lang$applyTo \x3d (function (seq27542){\nvar G__27543 \x3d cljs.core.first(seq27542);\nvar seq27542__$1 \x3d cljs.core.next(seq27542);\nvar G__27544 \x3d cljs.core.first(seq27542__$1);\nvar seq27542__$2 \x3d cljs.core.next(seq27542__$1);\nvar G__27545 \x3d cljs.core.first(seq27542__$2);\nvar seq27542__$3 \x3d cljs.core.next(seq27542__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27543,G__27544,G__27545,seq27542__$3);\n}));\n\n(cljs.core.every_pred.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Takes a set of predicates and returns a function f that returns the first logical true value\n * returned by one of its composing predicates against any of its arguments, else it returns\n * logical false. Note that f is short-circuiting in that it will stop execution on the first\n * argument that triggers a logical true result against the original predicates.\n */\ncljs.core.some_fn \x3d (function cljs$core$some_fn(var_args){\nvar G__27558 \x3d arguments.length;\nswitch (G__27558) {\ncase 1:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30663 \x3d arguments.length;\nvar i__5750__auto___30664 \x3d (0);\nwhile(true){\nif((i__5750__auto___30664 \x3c len__5749__auto___30663)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30664]));\n\nvar G__30665 \x3d (i__5750__auto___30664 + (1));\ni__5750__auto___30664 \x3d G__30665;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn (function() {\nvar cljs$core$sp1 \x3d null;\nvar cljs$core$sp1__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp1__1 \x3d (function (x){\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\n});\nvar cljs$core$sp1__2 \x3d (function (x,y){\nvar or__5025__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\n}\n});\nvar cljs$core$sp1__3 \x3d (function (x,y,z){\nvar or__5025__auto__ \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));\n}\n}\n});\nvar cljs$core$sp1__4 \x3d (function() { \nvar G__30669__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$sp1.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some(p,args);\n}\n};\nvar G__30669 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30670__i \x3d 0, G__30670__a \x3d new Array(arguments.length - 3);\nwhile (G__30670__i \x3c G__30670__a.length) {G__30670__a[G__30670__i] \x3d arguments[G__30670__i + 3]; ++G__30670__i;}\n args \x3d new cljs.core.IndexedSeq(G__30670__a,0,null);\n} \nreturn G__30669__delegate.call(this,x,y,z,args);};\nG__30669.cljs$lang$maxFixedArity \x3d 3;\nG__30669.cljs$lang$applyTo \x3d (function (arglist__30671){\nvar x \x3d cljs.core.first(arglist__30671);\narglist__30671 \x3d cljs.core.next(arglist__30671);\nvar y \x3d cljs.core.first(arglist__30671);\narglist__30671 \x3d cljs.core.next(arglist__30671);\nvar z \x3d cljs.core.first(arglist__30671);\nvar args \x3d cljs.core.rest(arglist__30671);\nreturn G__30669__delegate(x,y,z,args);\n});\nG__30669.cljs$core$IFn$_invoke$arity$variadic \x3d G__30669__delegate;\nreturn G__30669;\n})()\n;\ncljs$core$sp1 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp1__0.call(this);\ncase 1:\nreturn cljs$core$sp1__1.call(this,x);\ncase 2:\nreturn cljs$core$sp1__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp1__3.call(this,x,y,z);\ndefault:\nvar G__30675 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30676__i \x3d 0, G__30676__a \x3d new Array(arguments.length - 3);\nwhile (G__30676__i \x3c G__30676__a.length) {G__30676__a[G__30676__i] \x3d arguments[G__30676__i + 3]; ++G__30676__i;}\nG__30675 \x3d new cljs.core.IndexedSeq(G__30676__a,0,null);\n}\nreturn cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30675);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp1.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp1.cljs$lang$applyTo \x3d cljs$core$sp1__4.cljs$lang$applyTo;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp1__0;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp1__1;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp1__2;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp1__3;\ncljs$core$sp1.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp1;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2 \x3d (function (p1,p2){\nreturn (function() {\nvar cljs$core$sp2 \x3d null;\nvar cljs$core$sp2__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp2__1 \x3d (function (x){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\n}\n});\nvar cljs$core$sp2__2 \x3d (function (x,y){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\n}\n}\n}\n});\nvar cljs$core$sp2__3 \x3d (function (x,y,z){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nvar or__5025__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp2__4 \x3d (function() { \nvar G__30680__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$sp2.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some((function (p1__27547_SHARP_){\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27547_SHARP_) : p1.call(null,p1__27547_SHARP_));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27547_SHARP_) : p2.call(null,p1__27547_SHARP_));\n}\n}),args);\n}\n};\nvar G__30680 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30681__i \x3d 0, G__30681__a \x3d new Array(arguments.length - 3);\nwhile (G__30681__i \x3c G__30681__a.length) {G__30681__a[G__30681__i] \x3d arguments[G__30681__i + 3]; ++G__30681__i;}\n args \x3d new cljs.core.IndexedSeq(G__30681__a,0,null);\n} \nreturn G__30680__delegate.call(this,x,y,z,args);};\nG__30680.cljs$lang$maxFixedArity \x3d 3;\nG__30680.cljs$lang$applyTo \x3d (function (arglist__30682){\nvar x \x3d cljs.core.first(arglist__30682);\narglist__30682 \x3d cljs.core.next(arglist__30682);\nvar y \x3d cljs.core.first(arglist__30682);\narglist__30682 \x3d cljs.core.next(arglist__30682);\nvar z \x3d cljs.core.first(arglist__30682);\nvar args \x3d cljs.core.rest(arglist__30682);\nreturn G__30680__delegate(x,y,z,args);\n});\nG__30680.cljs$core$IFn$_invoke$arity$variadic \x3d G__30680__delegate;\nreturn G__30680;\n})()\n;\ncljs$core$sp2 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp2__0.call(this);\ncase 1:\nreturn cljs$core$sp2__1.call(this,x);\ncase 2:\nreturn cljs$core$sp2__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp2__3.call(this,x,y,z);\ndefault:\nvar G__30683 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30684__i \x3d 0, G__30684__a \x3d new Array(arguments.length - 3);\nwhile (G__30684__i \x3c G__30684__a.length) {G__30684__a[G__30684__i] \x3d arguments[G__30684__i + 3]; ++G__30684__i;}\nG__30683 \x3d new cljs.core.IndexedSeq(G__30684__a,0,null);\n}\nreturn cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30683);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp2.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp2.cljs$lang$applyTo \x3d cljs$core$sp2__4.cljs$lang$applyTo;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp2__0;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp2__1;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp2__2;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp2__3;\ncljs$core$sp2.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp2;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3 \x3d (function (p1,p2,p3){\nreturn (function() {\nvar cljs$core$sp3 \x3d null;\nvar cljs$core$sp3__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$sp3__1 \x3d (function (x){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\n}\n}\n});\nvar cljs$core$sp3__2 \x3d (function (x,y){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nvar or__5025__auto____$4 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__3 \x3d (function (x,y,z){\nvar or__5025__auto__ \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nvar or__5025__auto____$4 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nvar or__5025__auto____$5 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));\nif(cljs.core.truth_(or__5025__auto____$5)){\nreturn or__5025__auto____$5;\n} else {\nvar or__5025__auto____$6 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));\nif(cljs.core.truth_(or__5025__auto____$6)){\nreturn or__5025__auto____$6;\n} else {\nvar or__5025__auto____$7 \x3d (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$7)){\nreturn or__5025__auto____$7;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));\n}\n}\n}\n}\n}\n}\n}\n}\n});\nvar cljs$core$sp3__4 \x3d (function() { \nvar G__30690__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$sp3.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some((function (p1__27548_SHARP_){\nvar or__5025__auto____$1 \x3d (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__27548_SHARP_) : p1.call(null,p1__27548_SHARP_));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__27548_SHARP_) : p2.call(null,p1__27548_SHARP_));\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__27548_SHARP_) : p3.call(null,p1__27548_SHARP_));\n}\n}\n}),args);\n}\n};\nvar G__30690 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30691__i \x3d 0, G__30691__a \x3d new Array(arguments.length - 3);\nwhile (G__30691__i \x3c G__30691__a.length) {G__30691__a[G__30691__i] \x3d arguments[G__30691__i + 3]; ++G__30691__i;}\n args \x3d new cljs.core.IndexedSeq(G__30691__a,0,null);\n} \nreturn G__30690__delegate.call(this,x,y,z,args);};\nG__30690.cljs$lang$maxFixedArity \x3d 3;\nG__30690.cljs$lang$applyTo \x3d (function (arglist__30695){\nvar x \x3d cljs.core.first(arglist__30695);\narglist__30695 \x3d cljs.core.next(arglist__30695);\nvar y \x3d cljs.core.first(arglist__30695);\narglist__30695 \x3d cljs.core.next(arglist__30695);\nvar z \x3d cljs.core.first(arglist__30695);\nvar args \x3d cljs.core.rest(arglist__30695);\nreturn G__30690__delegate(x,y,z,args);\n});\nG__30690.cljs$core$IFn$_invoke$arity$variadic \x3d G__30690__delegate;\nreturn G__30690;\n})()\n;\ncljs$core$sp3 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$sp3__0.call(this);\ncase 1:\nreturn cljs$core$sp3__1.call(this,x);\ncase 2:\nreturn cljs$core$sp3__2.call(this,x,y);\ncase 3:\nreturn cljs$core$sp3__3.call(this,x,y,z);\ndefault:\nvar G__30698 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30699__i \x3d 0, G__30699__a \x3d new Array(arguments.length - 3);\nwhile (G__30699__i \x3c G__30699__a.length) {G__30699__a[G__30699__i] \x3d arguments[G__30699__i + 3]; ++G__30699__i;}\nG__30698 \x3d new cljs.core.IndexedSeq(G__30699__a,0,null);\n}\nreturn cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30698);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$sp3.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$sp3.cljs$lang$applyTo \x3d cljs$core$sp3__4.cljs$lang$applyTo;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$sp3__0;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$sp3__1;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$sp3__2;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$sp3__3;\ncljs$core$sp3.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$sp3;\n})()\n}));\n\n(cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p1,p2,p3,ps){\nvar ps__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);\nreturn (function() {\nvar cljs$core$spn \x3d null;\nvar cljs$core$spn__0 \x3d (function (){\nreturn null;\n});\nvar cljs$core$spn__1 \x3d (function (x){\nreturn cljs.core.some((function (p1__27549_SHARP_){\nreturn (p1__27549_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27549_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27549_SHARP_.call(null,x));\n}),ps__$1);\n});\nvar cljs$core$spn__2 \x3d (function (x,y){\nreturn cljs.core.some((function (p1__27550_SHARP_){\nvar or__5025__auto__ \x3d (p1__27550_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27550_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27550_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (p1__27550_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27550_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27550_SHARP_.call(null,y));\n}\n}),ps__$1);\n});\nvar cljs$core$spn__3 \x3d (function (x,y,z){\nreturn cljs.core.some((function (p1__27551_SHARP_){\nvar or__5025__auto__ \x3d (p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__27551_SHARP_.call(null,x));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__27551_SHARP_.call(null,y));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__27551_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__27551_SHARP_.call(null,z));\n}\n}\n}),ps__$1);\n});\nvar cljs$core$spn__4 \x3d (function() { \nvar G__30700__delegate \x3d function (x,y,z,args){\nvar or__5025__auto__ \x3d cljs$core$spn.cljs$core$IFn$_invoke$arity$3(x,y,z);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.some((function (p1__27552_SHARP_){\nreturn cljs.core.some(p1__27552_SHARP_,args);\n}),ps__$1);\n}\n};\nvar G__30700 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30701__i \x3d 0, G__30701__a \x3d new Array(arguments.length - 3);\nwhile (G__30701__i \x3c G__30701__a.length) {G__30701__a[G__30701__i] \x3d arguments[G__30701__i + 3]; ++G__30701__i;}\n args \x3d new cljs.core.IndexedSeq(G__30701__a,0,null);\n} \nreturn G__30700__delegate.call(this,x,y,z,args);};\nG__30700.cljs$lang$maxFixedArity \x3d 3;\nG__30700.cljs$lang$applyTo \x3d (function (arglist__30702){\nvar x \x3d cljs.core.first(arglist__30702);\narglist__30702 \x3d cljs.core.next(arglist__30702);\nvar y \x3d cljs.core.first(arglist__30702);\narglist__30702 \x3d cljs.core.next(arglist__30702);\nvar z \x3d cljs.core.first(arglist__30702);\nvar args \x3d cljs.core.rest(arglist__30702);\nreturn G__30700__delegate(x,y,z,args);\n});\nG__30700.cljs$core$IFn$_invoke$arity$variadic \x3d G__30700__delegate;\nreturn G__30700;\n})()\n;\ncljs$core$spn \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$spn__0.call(this);\ncase 1:\nreturn cljs$core$spn__1.call(this,x);\ncase 2:\nreturn cljs$core$spn__2.call(this,x,y);\ncase 3:\nreturn cljs$core$spn__3.call(this,x,y,z);\ndefault:\nvar G__30703 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__30704__i \x3d 0, G__30704__a \x3d new Array(arguments.length - 3);\nwhile (G__30704__i \x3c G__30704__a.length) {G__30704__a[G__30704__i] \x3d arguments[G__30704__i + 3]; ++G__30704__i;}\nG__30703 \x3d new cljs.core.IndexedSeq(G__30704__a,0,null);\n}\nreturn cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__30703);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$spn.cljs$lang$maxFixedArity \x3d 3;\ncljs$core$spn.cljs$lang$applyTo \x3d cljs$core$spn__4.cljs$lang$applyTo;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$spn__0;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$spn__1;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$2 \x3d cljs$core$spn__2;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$3 \x3d cljs$core$spn__3;\ncljs$core$spn.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn cljs$core$spn;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.some_fn.cljs$lang$applyTo \x3d (function (seq27554){\nvar G__27555 \x3d cljs.core.first(seq27554);\nvar seq27554__$1 \x3d cljs.core.next(seq27554);\nvar G__27556 \x3d cljs.core.first(seq27554__$1);\nvar seq27554__$2 \x3d cljs.core.next(seq27554__$1);\nvar G__27557 \x3d cljs.core.first(seq27554__$2);\nvar seq27554__$3 \x3d cljs.core.next(seq27554__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27555,G__27556,G__27557,seq27554__$3);\n}));\n\n(cljs.core.some_fn.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns a lazy sequence consisting of the result of applying f to\n * the set of first items of each coll, followed by applying f to the\n * set of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments. Returns a transducer when\n * no collection is provided.\n */\ncljs.core.map \x3d (function cljs$core$map(var_args){\nvar G__27566 \x3d arguments.length;\nswitch (G__27566) {\ncase 1:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30718 \x3d arguments.length;\nvar i__5750__auto___30719 \x3d (0);\nwhile(true){\nif((i__5750__auto___30719 \x3c len__5749__auto___30718)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30719]));\n\nvar G__30720 \x3d (i__5750__auto___30719 + (1));\ni__5750__auto___30719 \x3d G__30720;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nreturn (function() {\nvar G__30721 \x3d null;\nvar G__30721__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30721__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30721__2 \x3d (function (result,input){\nvar G__27567 \x3d result;\nvar G__27568 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__27567,G__27568) : rf.call(null,G__27567,G__27568));\n});\nvar G__30721__3 \x3d (function() { \nvar G__30722__delegate \x3d function (result,input,inputs){\nvar G__27569 \x3d result;\nvar G__27570 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,input,inputs);\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__27569,G__27570) : rf.call(null,G__27569,G__27570));\n};\nvar G__30722 \x3d function (result,input,var_args){\nvar inputs \x3d null;\nif (arguments.length \x3e 2) {\nvar G__30723__i \x3d 0, G__30723__a \x3d new Array(arguments.length - 2);\nwhile (G__30723__i \x3c G__30723__a.length) {G__30723__a[G__30723__i] \x3d arguments[G__30723__i + 2]; ++G__30723__i;}\n inputs \x3d new cljs.core.IndexedSeq(G__30723__a,0,null);\n} \nreturn G__30722__delegate.call(this,result,input,inputs);};\nG__30722.cljs$lang$maxFixedArity \x3d 2;\nG__30722.cljs$lang$applyTo \x3d (function (arglist__30724){\nvar result \x3d cljs.core.first(arglist__30724);\narglist__30724 \x3d cljs.core.next(arglist__30724);\nvar input \x3d cljs.core.first(arglist__30724);\nvar inputs \x3d cljs.core.rest(arglist__30724);\nreturn G__30722__delegate(result,input,inputs);\n});\nG__30722.cljs$core$IFn$_invoke$arity$variadic \x3d G__30722__delegate;\nreturn G__30722;\n})()\n;\nG__30721 \x3d function(result,input,var_args){\nvar inputs \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__30721__0.call(this);\ncase 1:\nreturn G__30721__1.call(this,result);\ncase 2:\nreturn G__30721__2.call(this,result,input);\ndefault:\nvar G__30725 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__30726__i \x3d 0, G__30726__a \x3d new Array(arguments.length - 2);\nwhile (G__30726__i \x3c G__30726__a.length) {G__30726__a[G__30726__i] \x3d arguments[G__30726__i + 2]; ++G__30726__i;}\nG__30725 \x3d new cljs.core.IndexedSeq(G__30726__a,0,null);\n}\nreturn G__30721__3.cljs$core$IFn$_invoke$arity$variadic(result,input, G__30725);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30721.cljs$lang$maxFixedArity \x3d 2;\nG__30721.cljs$lang$applyTo \x3d G__30721__3.cljs$lang$applyTo;\nG__30721.cljs$core$IFn$_invoke$arity$0 \x3d G__30721__0;\nG__30721.cljs$core$IFn$_invoke$arity$1 \x3d G__30721__1;\nG__30721.cljs$core$IFn$_invoke$arity$2 \x3d G__30721__2;\nG__30721.cljs$core$IFn$_invoke$arity$variadic \x3d G__30721__3.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__30721;\n})()\n});\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30727 \x3d size;\nvar i_30728 \x3d (0);\nwhile(true){\nif((i_30728 \x3c n__5616__auto___30727)){\ncljs.core.chunk_append(b,(function (){var G__27571 \x3d cljs.core._nth(c,i_30728);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27571) : f.call(null,G__27571));\n})());\n\nvar G__30729 \x3d (i_30728 + (1));\ni_30728 \x3d G__30729;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));\n} else {\nreturn cljs.core.cons((function (){var G__27572 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27572) : f.call(null,G__27572));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn cljs.core.cons((function (){var G__27573 \x3d cljs.core.first(s1);\nvar G__27574 \x3d cljs.core.first(s2);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27573,G__27574) : f.call(null,G__27573,G__27574));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,cljs.core.rest(s1),cljs.core.rest(s2)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nvar s3 \x3d cljs.core.seq(c3);\nif(((s1) \x26\x26 (((s2) \x26\x26 (s3))))){\nreturn cljs.core.cons((function (){var G__27575 \x3d cljs.core.first(s1);\nvar G__27576 \x3d cljs.core.first(s2);\nvar G__27577 \x3d cljs.core.first(s3);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27575,G__27576,G__27577) : f.call(null,G__27575,G__27576,G__27577));\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,cljs.core.rest(s1),cljs.core.rest(s2),cljs.core.rest(s3)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nvar step \x3d (function cljs$core$step(cs){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cs);\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn 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)));\n} else {\nreturn null;\n}\n}),null,null));\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27559_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,p1__27559_SHARP_);\n}),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))));\n}));\n\n/** @this {Function} */\n(cljs.core.map.cljs$lang$applyTo \x3d (function (seq27561){\nvar G__27562 \x3d cljs.core.first(seq27561);\nvar seq27561__$1 \x3d cljs.core.next(seq27561);\nvar G__27563 \x3d cljs.core.first(seq27561__$1);\nvar seq27561__$2 \x3d cljs.core.next(seq27561__$1);\nvar G__27564 \x3d cljs.core.first(seq27561__$2);\nvar seq27561__$3 \x3d cljs.core.next(seq27561__$2);\nvar G__27565 \x3d cljs.core.first(seq27561__$3);\nvar seq27561__$4 \x3d cljs.core.next(seq27561__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27562,G__27563,G__27564,G__27565,seq27561__$4);\n}));\n\n(cljs.core.map.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a lazy sequence of the first n items in coll, or all items if\n * there are fewer than n. Returns a stateful transducer when\n * no collection is provided.\n */\ncljs.core.take \x3d (function cljs$core$take(var_args){\nvar G__27579 \x3d arguments.length;\nswitch (G__27579) {\ncase 1:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__30731 \x3d null;\nvar G__30731__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30731__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30731__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nvar nn \x3d na.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\nvar result__$1 \x3d (((n__$1 \x3e (0)))?(rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input)):result);\nif((!((nn \x3e (0))))){\nreturn cljs.core.ensure_reduced(result__$1);\n} else {\nreturn result__$1;\n}\n});\nG__30731 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30731__0.call(this);\ncase 1:\nreturn G__30731__1.call(this,result);\ncase 2:\nreturn G__30731__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30731.cljs$core$IFn$_invoke$arity$0 \x3d G__30731__0;\nG__30731.cljs$core$IFn$_invoke$arity$1 \x3d G__30731__1;\nG__30731.cljs$core$IFn$_invoke$arity$2 \x3d G__30731__2;\nreturn G__30731;\n})()\n});\n}));\n\n(cljs.core.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nif((n \x3e (0))){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take.cljs$core$IFn$_invoke$arity$2((n - (1)),cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a laziness-preserving sequence of all but the first n items in coll.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.drop \x3d (function cljs$core$drop(var_args){\nvar G__27581 \x3d arguments.length;\nswitch (G__27581) {\ncase 1:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar na \x3d cljs.core.volatile_BANG_(n);\nreturn (function() {\nvar G__30736 \x3d null;\nvar G__30736__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30736__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30736__2 \x3d (function (result,input){\nvar n__$1 \x3d cljs.core.deref(na);\nna.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(na.cljs$core$IDeref$_deref$arity$1(null) - (1)));\n\nif((n__$1 \x3e (0))){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__30736 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30736__0.call(this);\ncase 1:\nreturn G__30736__1.call(this,result);\ncase 2:\nreturn G__30736__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30736.cljs$core$IFn$_invoke$arity$0 \x3d G__30736__0;\nG__30736.cljs$core$IFn$_invoke$arity$1 \x3d G__30736__1;\nG__30736.cljs$core$IFn$_invoke$arity$2 \x3d G__30736__2;\nreturn G__30736;\n})()\n});\n}));\n\n(cljs.core.drop.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition1$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IDrop$))))?true:false):false)){\nvar or__5025__auto__ \x3d (((n \x3e (0)))?coll.cljs$core$IDrop$_drop$arity$2(null,Math.ceil(n)):cljs.core.seq(coll));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n} else {\nvar step \x3d (function (n__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif((((n__$1 \x3e (0))) \x26\x26 (s))){\nvar G__30740 \x3d (n__$1 - (1));\nvar G__30741 \x3d cljs.core.rest(s);\nn__$1 \x3d G__30740;\ncoll__$1 \x3d G__30741;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(n,coll);\n}),null,null));\n}\n}));\n\n(cljs.core.drop.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Return a lazy sequence of all but the last n (default 1) items in coll\n */\ncljs.core.drop_last \x3d (function cljs$core$drop_last(var_args){\nvar G__27584 \x3d arguments.length;\nswitch (G__27584) {\ncase 1:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((1),s);\n}));\n\n(cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,s){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,_){\nreturn x;\n}),s,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s));\n}));\n\n(cljs.core.drop_last.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a seq of the last n items in coll. Depending on the type\n * of coll may be no better than linear time. For vectors, see also subvec.\n */\ncljs.core.take_last \x3d (function cljs$core$take_last(n,coll){\nvar s \x3d cljs.core.seq(coll);\nvar lead \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll));\nwhile(true){\nif(lead){\nvar G__30743 \x3d cljs.core.next(s);\nvar G__30744 \x3d cljs.core.next(lead);\ns \x3d G__30743;\nlead \x3d G__30744;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\n/**\n * Returns a lazy sequence of the items in coll starting from the\n * first item for which (pred item) returns logical false. Returns a\n * stateful transducer when no collection is provided.\n */\ncljs.core.drop_while \x3d (function cljs$core$drop_while(var_args){\nvar G__27586 \x3d arguments.length;\nswitch (G__27586) {\ncase 1:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nvar da \x3d cljs.core.volatile_BANG_(true);\nreturn (function() {\nvar G__30746 \x3d null;\nvar G__30746__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30746__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30746__2 \x3d (function (result,input){\nvar drop_QMARK_ \x3d cljs.core.deref(da);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d drop_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn result;\n} else {\ncljs.core.vreset_BANG_(da,null);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__30746 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30746__0.call(this);\ncase 1:\nreturn G__30746__1.call(this,result);\ncase 2:\nreturn G__30746__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30746.cljs$core$IFn$_invoke$arity$0 \x3d G__30746__0;\nG__30746.cljs$core$IFn$_invoke$arity$1 \x3d G__30746__1;\nG__30746.cljs$core$IFn$_invoke$arity$2 \x3d G__30746__2;\nreturn G__30746;\n})()\n});\n}));\n\n(cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nvar step \x3d (function (pred__$1,coll__$1){\nwhile(true){\nvar s \x3d cljs.core.seq(coll__$1);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(and__5023__auto__){\nvar G__27587 \x3d cljs.core.first(s);\nreturn (pred__$1.cljs$core$IFn$_invoke$arity$1 ? pred__$1.cljs$core$IFn$_invoke$arity$1(G__27587) : pred__$1.call(null,G__27587));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar G__30750 \x3d pred__$1;\nvar G__30751 \x3d cljs.core.rest(s);\npred__$1 \x3d G__30750;\ncoll__$1 \x3d G__30751;\ncontinue;\n} else {\nreturn s;\n}\nbreak;\n}\n});\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn step(pred,coll);\n}),null,null));\n}));\n\n(cljs.core.drop_while.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Cycle \x3d (function (meta,all,prev,current,_next){\nthis.meta \x3d meta;\nthis.all \x3d all;\nthis.prev \x3d prev;\nthis.current \x3d current;\nthis._next \x3d _next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Cycle.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Cycle.prototype.currentval \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(self__.current){\n} else {\nvar temp__5821__auto___30752 \x3d cljs.core.next(self__.prev);\nif(temp__5821__auto___30752){\nvar c_30753 \x3d temp__5821__auto___30752;\n(self__.current \x3d c_30753);\n} else {\n(self__.current \x3d self__.all);\n}\n}\n\nreturn self__.current;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.current \x3d\x3d null)));\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d cljs.core.first(s);\nwhile(true){\nvar s__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.core.next(s);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar ret__$1 \x3d (function (){var G__27590 \x3d ret;\nvar G__27591 \x3d cljs.core.first(s__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27590,G__27591) : f.call(null,G__27590,G__27591));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__30754 \x3d s__$1;\nvar G__30755 \x3d ret__$1;\ns \x3d G__30754;\nret \x3d G__30755;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar s \x3d coll__$1.currentval();\nvar ret \x3d start;\nwhile(true){\nvar ret__$1 \x3d (function (){var G__27592 \x3d ret;\nvar G__27593 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27592,G__27593) : f.call(null,G__27592,G__27593));\n})();\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__30759 \x3d (function (){var or__5025__auto__ \x3d cljs.core.next(s);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn self__.all;\n}\n})();\nvar G__30760 \x3d ret__$1;\ns \x3d G__30759;\nret \x3d G__30760;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(coll__$1.currentval());\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__._next \x3d\x3d null)){\n(self__._next \x3d (new cljs.core.Cycle(null,self__.all,coll__$1.currentval(),null,null)));\n} else {\n}\n\nreturn self__._next;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Cycle(new_meta,self__.all,self__.prev,self__.current,self__._next));\n}\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Cycle.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22all\x22,\x22all\x22,-1762306027,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22current\x22,\x22current\x22,552492924,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_next\x22,\x22_next\x22,101877036,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Cycle.cljs$lang$type \x3d true);\n\n(cljs.core.Cycle.cljs$lang$ctorStr \x3d \x22cljs.core/Cycle\x22);\n\n(cljs.core.Cycle.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Cycle\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Cycle.\n */\ncljs.core.__GT_Cycle \x3d (function cljs$core$__GT_Cycle(meta,all,prev,current,_next){\nreturn (new cljs.core.Cycle(meta,all,prev,current,_next));\n});\n\n/**\n * Returns a lazy (infinite!) sequence of repetitions of the items in coll.\n */\ncljs.core.cycle \x3d (function cljs$core$cycle(coll){\nvar temp__5821__auto__ \x3d cljs.core.seq(coll);\nif(temp__5821__auto__){\nvar vals \x3d temp__5821__auto__;\nreturn (new cljs.core.Cycle(null,vals,null,vals,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n});\n/**\n * Returns a vector of [(take n coll) (drop n coll)]\n */\ncljs.core.split_at \x3d (function cljs$core$split_at(n,coll){\nreturn 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);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Repeat \x3d (function (meta,count,val,next,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.val \x3d val;\nthis.next \x3d next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 262145;\n});\n(cljs.core.Repeat.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Repeat.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Repeat.prototype.indexOf \x3d (function() {\nvar G__30761 \x3d null;\nvar G__30761__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30761__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30761 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30761__1.call(this,x);\ncase 2:\nreturn G__30761__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30761.cljs$core$IFn$_invoke$arity$1 \x3d G__30761__1;\nG__30761.cljs$core$IFn$_invoke$arity$2 \x3d G__30761__2;\nreturn G__30761;\n})()\n);\n\n(cljs.core.Repeat.prototype.lastIndexOf \x3d (function() {\nvar G__30762 \x3d null;\nvar G__30762__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);\n});\nvar G__30762__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30762 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30762__1.call(this,x);\ncase 2:\nreturn G__30762__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30762.cljs$core$IFn$_invoke$arity$1 \x3d G__30762__1;\nG__30762.cljs$core$IFn$_invoke$arity$2 \x3d G__30762__2;\nreturn G__30762;\n})()\n);\n\n(cljs.core.Repeat.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn null;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.val,self__.val) : f.call(null,self__.val,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__30763 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__30763;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (1);\nvar ret \x3d self__.val;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__30764 \x3d (i + (1));\nvar G__30765 \x3d ret__$1;\ni \x3d G__30764;\nret \x3d G__30765;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(start,self__.val) : f.call(null,start,self__.val));\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar G__30769 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nret \x3d G__30769;\ncontinue;\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar ret \x3d start;\nwhile(true){\nif((i \x3c self__.count)){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,self__.val) : f.call(null,ret,self__.val));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__30770 \x3d (i + (1));\nvar G__30771 \x3d ret__$1;\ni \x3d G__30770;\nret \x3d G__30771;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\nif((self__.count \x3e (1))){\n(self__.next \x3d (new cljs.core.Repeat(null,(self__.count - (1)),self__.val,null,null)));\n\nreturn self__.next;\n} else {\nif(((-1) \x3d\x3d\x3d self__.count)){\nreturn coll__$1;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}\n} else {\nreturn self__.next;\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Repeat(new_meta,self__.count,self__.val,self__.next,null));\n}\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3d\x3d\x3d (-1))){\nreturn coll__$1;\n} else {\nvar dropped_count \x3d (self__.count - n);\nif((dropped_count \x3e (0))){\nreturn (new cljs.core.Repeat(null,dropped_count,self__.val,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Repeat.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Repeat.cljs$lang$type \x3d true);\n\n(cljs.core.Repeat.cljs$lang$ctorStr \x3d \x22cljs.core/Repeat\x22);\n\n(cljs.core.Repeat.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Repeat\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Repeat.\n */\ncljs.core.__GT_Repeat \x3d (function cljs$core$__GT_Repeat(meta,count,val,next,__hash){\nreturn (new cljs.core.Repeat(meta,count,val,next,__hash));\n});\n\n/**\n * Returns a lazy (infinite!, or length n if supplied) sequence of xs.\n */\ncljs.core.repeat \x3d (function cljs$core$repeat(var_args){\nvar G__27595 \x3d arguments.length;\nswitch (G__27595) {\ncase 1:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn (new cljs.core.Repeat(null,(-1),x,null,null));\n}));\n\n(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,x){\nif((n \x3e (0))){\nreturn (new cljs.core.Repeat(null,n,x,null,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.repeat.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * DEPRECATED: Use \x27repeat\x27 instead.\n * Returns a lazy seq of n xs.\n */\ncljs.core.replicate \x3d (function cljs$core$replicate(n,x){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));\n});\n/**\n * Takes a function of no args, presumably with side effects, and\n * returns an infinite (or length n if supplied) lazy sequence of calls\n * to it\n */\ncljs.core.repeatedly \x3d (function cljs$core$repeatedly(var_args){\nvar G__27597 \x3d arguments.length;\nswitch (G__27597) {\ncase 1:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn 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));\n}),null,null));\n}));\n\n(cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,f){\nreturn cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));\n}));\n\n(cljs.core.repeatedly.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.UNREALIZED_SEED \x3d ({});\n\n/**\n* @constructor\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Iterate \x3d (function (meta,f,prev_seed,seed,next){\nthis.meta \x3d meta;\nthis.f \x3d f;\nthis.prev_seed \x3d prev_seed;\nthis.seed \x3d seed;\nthis.next \x3d next;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 26083532;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Iterate.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ISeq$_rest$arity$1(null);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((self__.seed \x3d\x3d\x3d cljs.core.UNREALIZED_SEED)));\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,rf){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar first \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar v \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(first) : self__.f.call(null,first));\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(first,v) : rf.call(null,first,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__30777 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__30778 \x3d v__$2;\nret \x3d G__30777;\nv__$1 \x3d G__30778;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,rf,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v \x3d coll__$1.cljs$core$ISeq$_first$arity$1(null);\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(start,v) : rf.call(null,start,v));\nvar v__$1 \x3d v;\nwhile(true){\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nvar v__$2 \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(v__$1) : self__.f.call(null,v__$1));\nvar G__30779 \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(ret,v__$2) : rf.call(null,ret,v__$2));\nvar G__30780 \x3d v__$2;\nret \x3d G__30779;\nv__$1 \x3d G__30780;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.UNREALIZED_SEED \x3d\x3d\x3d self__.seed)){\n(self__.seed \x3d (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(self__.prev_seed) : self__.f.call(null,self__.prev_seed)));\n} else {\n}\n\nreturn self__.seed;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.next \x3d\x3d null)){\n(self__.next \x3d (new cljs.core.Iterate(null,self__.f,coll__$1.cljs$core$ISeq$_first$arity$1(null),cljs.core.UNREALIZED_SEED,null)));\n} else {\n}\n\nreturn self__.next;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.Iterate(new_meta,self__.f,self__.prev_seed,self__.seed,self__.next));\n}\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.Iterate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22prev-seed\x22,\x22prev-seed\x22,2126381367,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seed\x22,\x22seed\x22,1709144854,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Iterate.cljs$lang$type \x3d true);\n\n(cljs.core.Iterate.cljs$lang$ctorStr \x3d \x22cljs.core/Iterate\x22);\n\n(cljs.core.Iterate.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Iterate\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Iterate.\n */\ncljs.core.__GT_Iterate \x3d (function cljs$core$__GT_Iterate(meta,f,prev_seed,seed,next){\nreturn (new cljs.core.Iterate(meta,f,prev_seed,seed,next));\n});\n\n/**\n * Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects\n */\ncljs.core.iterate \x3d (function cljs$core$iterate(f,x){\nreturn (new cljs.core.Iterate(null,f,null,x,null));\n});\n/**\n * Returns a lazy seq of the first item in each coll, then the second etc.\n */\ncljs.core.interleave \x3d (function cljs$core$interleave(var_args){\nvar G__27602 \x3d arguments.length;\nswitch (G__27602) {\ncase 0:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30785 \x3d arguments.length;\nvar i__5750__auto___30786 \x3d (0);\nwhile(true){\nif((i__5750__auto___30786 \x3c len__5749__auto___30785)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30786]));\n\nvar G__30790 \x3d (i__5750__auto___30786 + (1));\ni__5750__auto___30786 \x3d G__30790;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$1 \x3d (function (c1){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn c1;\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2 \x3d (function (c1,c2){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s1 \x3d cljs.core.seq(c1);\nvar s2 \x3d cljs.core.seq(c2);\nif(((s1) \x26\x26 (s2))){\nreturn 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))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic \x3d (function (c1,c2,colls){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar ss \x3d 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)));\nif(cljs.core.every_QMARK_(cljs.core.identity,ss)){\nreturn 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)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n/** @this {Function} */\n(cljs.core.interleave.cljs$lang$applyTo \x3d (function (seq27599){\nvar G__27600 \x3d cljs.core.first(seq27599);\nvar seq27599__$1 \x3d cljs.core.next(seq27599);\nvar G__27601 \x3d cljs.core.first(seq27599__$1);\nvar seq27599__$2 \x3d cljs.core.next(seq27599__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27600,G__27601,seq27599__$2);\n}));\n\n(cljs.core.interleave.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a lazy seq of the elements of coll separated by sep.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.interpose \x3d (function cljs$core$interpose(var_args){\nvar G__27604 \x3d arguments.length;\nswitch (G__27604) {\ncase 1:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$1 \x3d (function (sep){\nreturn (function (rf){\nvar started \x3d cljs.core.volatile_BANG_(false);\nreturn (function() {\nvar G__30792 \x3d null;\nvar G__30792__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30792__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30792__2 \x3d (function (result,input){\nif(cljs.core.truth_(cljs.core.deref(started))){\nvar sepr \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,sep) : rf.call(null,result,sep));\nif(cljs.core.reduced_QMARK_(sepr)){\nreturn sepr;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(sepr,input) : rf.call(null,sepr,input));\n}\n} else {\ncljs.core.vreset_BANG_(started,true);\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__30792 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30792__0.call(this);\ncase 1:\nreturn G__30792__1.call(this,result);\ncase 2:\nreturn G__30792__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30792.cljs$core$IFn$_invoke$arity$0 \x3d G__30792__0;\nG__30792.cljs$core$IFn$_invoke$arity$1 \x3d G__30792__1;\nG__30792.cljs$core$IFn$_invoke$arity$2 \x3d G__30792__2;\nreturn G__30792;\n})()\n});\n}));\n\n(cljs.core.interpose.cljs$core$IFn$_invoke$arity$2 \x3d (function (sep,coll){\nreturn 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));\n}));\n\n(cljs.core.interpose.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Take a collection of collections, and return a lazy seq\n * of items from the inner collection\n */\ncljs.core.flatten1 \x3d (function cljs$core$flatten1(colls){\nvar cat \x3d (function cljs$core$flatten1_$_cat(coll,colls__$1){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5821__auto__ \x3d cljs.core.seq(coll);\nif(temp__5821__auto__){\nvar coll__$1 \x3d temp__5821__auto__;\nreturn cljs.core.cons(cljs.core.first(coll__$1),cljs$core$flatten1_$_cat(cljs.core.rest(coll__$1),colls__$1));\n} else {\nif(cljs.core.seq(colls__$1)){\nreturn cljs$core$flatten1_$_cat(cljs.core.first(colls__$1),cljs.core.rest(colls__$1));\n} else {\nreturn null;\n}\n}\n}),null,null));\n});\nreturn cat(null,colls);\n});\n/**\n * Returns the result of applying concat to the result of applying map\n * to f and colls. Thus function f should return a collection. Returns\n * a transducer when no collections are provided\n */\ncljs.core.mapcat \x3d (function cljs$core$mapcat(var_args){\nvar G__27608 \x3d arguments.length;\nswitch (G__27608) {\ncase 1:\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30794 \x3d arguments.length;\nvar i__5750__auto___30795 \x3d (0);\nwhile(true){\nif((i__5750__auto___30795 \x3c len__5749__auto___30794)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30795]));\n\nvar G__30796 \x3d (i__5750__auto___30795 + (1));\ni__5750__auto___30795 \x3d G__30796;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(f),cljs.core.cat);\n}));\n\n(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,colls){\nreturn 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));\n}));\n\n/** @this {Function} */\n(cljs.core.mapcat.cljs$lang$applyTo \x3d (function (seq27606){\nvar G__27607 \x3d cljs.core.first(seq27606);\nvar seq27606__$1 \x3d cljs.core.next(seq27606);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27607,seq27606__$1);\n}));\n\n(cljs.core.mapcat.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.filter \x3d (function cljs$core$filter(var_args){\nvar G__27610 \x3d arguments.length;\nswitch (G__27610) {\ncase 1:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__30800 \x3d null;\nvar G__30800__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__30800__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__30800__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__30800 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__30800__0.call(this);\ncase 1:\nreturn G__30800__1.call(this,result);\ncase 2:\nreturn G__30800__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30800.cljs$core$IFn$_invoke$arity$0 \x3d G__30800__0;\nG__30800.cljs$core$IFn$_invoke$arity$1 \x3d G__30800__1;\nG__30800.cljs$core$IFn$_invoke$arity$2 \x3d G__30800__2;\nreturn G__30800;\n})()\n});\n}));\n\n(cljs.core.filter.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s)){\nvar c \x3d cljs.core.chunk_first(s);\nvar size \x3d cljs.core.count(c);\nvar b \x3d cljs.core.chunk_buffer(size);\nvar n__5616__auto___30802 \x3d size;\nvar i_30803 \x3d (0);\nwhile(true){\nif((i_30803 \x3c n__5616__auto___30802)){\nif(cljs.core.truth_((function (){var G__27611 \x3d cljs.core._nth(c,i_30803);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__27611) : pred.call(null,G__27611));\n})())){\ncljs.core.chunk_append(b,cljs.core._nth(c,i_30803));\n} else {\n}\n\nvar G__30804 \x3d (i_30803 + (1));\ni_30803 \x3d G__30804;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.chunk_rest(s)));\n} else {\nvar f \x3d cljs.core.first(s);\nvar r \x3d cljs.core.rest(s);\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(f) : pred.call(null,f)))){\nreturn cljs.core.cons(f,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r));\n} else {\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r);\n}\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.filter.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the items in coll for which\n * (pred item) returns logical false. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.remove \x3d (function cljs$core$remove(var_args){\nvar G__27613 \x3d arguments.length;\nswitch (G__27613) {\ncase 1:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(pred));\n}));\n\n(cljs.core.remove.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(pred),coll);\n}));\n\n(cljs.core.remove.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the nodes in a tree, via a depth-first walk.\n * branch? must be a fn of one arg that returns true if passed a node\n * that can have children (but may not). children must be a fn of one\n * arg that returns a sequence of the children. Will only be called on\n * nodes for which branch? returns true. Root is the root node of the\n * tree.\n */\ncljs.core.tree_seq \x3d (function cljs$core$tree_seq(branch_QMARK_,children,root){\nvar walk \x3d (function cljs$core$tree_seq_$_walk(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn 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));\n}),null,null));\n});\nreturn walk(root);\n});\n/**\n * Takes any nested combination of sequential things (lists, vectors,\n * etc.) and returns their contents as a single, flat sequence.\n * (flatten nil) returns nil.\n */\ncljs.core.flatten \x3d (function cljs$core$flatten(x){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__27614_SHARP_){\nreturn (!(cljs.core.sequential_QMARK_(p1__27614_SHARP_)));\n}),cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,x)));\n});\n/**\n * Returns a new coll consisting of to-coll with all of the items of\n * from-coll conjoined. A transducer may be supplied.\n */\ncljs.core.into \x3d (function cljs$core$into(var_args){\nvar G__27616 \x3d arguments.length;\nswitch (G__27616) {\ncase 0:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$1 \x3d (function (to){\nreturn to;\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$2 \x3d (function (to,from){\nif((!((to \x3d\x3d null)))){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nreturn 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));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,to,from);\n}\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$core$IFn$_invoke$arity$3 \x3d (function (to,xform,from){\nif((((!((to \x3d\x3d null))))?(((((to.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d to.cljs$core$IEditableCollection$))))?true:false):false)){\nvar tm \x3d cljs.core.meta(to);\nvar rf \x3d (function() {\nvar G__30807 \x3d null;\nvar G__30807__1 \x3d (function (coll){\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(coll),tm);\n});\nvar G__30807__2 \x3d (function (coll,v){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,v);\n});\nG__30807 \x3d function(coll,v){\nswitch(arguments.length){\ncase 1:\nreturn G__30807__1.call(this,coll);\ncase 2:\nreturn G__30807__2.call(this,coll,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30807.cljs$core$IFn$_invoke$arity$1 \x3d G__30807__1;\nG__30807.cljs$core$IFn$_invoke$arity$2 \x3d G__30807__2;\nreturn G__30807;\n})()\n;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,rf,cljs.core.transient$(to),from);\n} else {\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj,to,from);\n}\n}));\n\n(cljs.core.into.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector consisting of the result of applying f to the\n * set of first items of each coll, followed by applying f to the set\n * of second items in each coll, until any one of the colls is\n * exhausted. Any remaining items in other colls are ignored. Function\n * f should accept number-of-colls arguments.\n */\ncljs.core.mapv \x3d (function cljs$core$mapv(var_args){\nvar G__27625 \x3d arguments.length;\nswitch (G__27625) {\ncase 2:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30809 \x3d arguments.length;\nvar i__5750__auto___30810 \x3d (0);\nwhile(true){\nif((i__5750__auto___30810 \x3c len__5749__auto___30809)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30810]));\n\nvar G__30814 \x3d (i__5750__auto___30810 + (1));\ni__5750__auto___30810 \x3d G__30814;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nreturn 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)));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,c1,c2){\nreturn 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));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$4 \x3d (function (f,c1,c2,c3){\nreturn 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));\n}));\n\n(cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,c1,c2,c3,colls){\nreturn 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)));\n}));\n\n/** @this {Function} */\n(cljs.core.mapv.cljs$lang$applyTo \x3d (function (seq27620){\nvar G__27621 \x3d cljs.core.first(seq27620);\nvar seq27620__$1 \x3d cljs.core.next(seq27620);\nvar G__27622 \x3d cljs.core.first(seq27620__$1);\nvar seq27620__$2 \x3d cljs.core.next(seq27620__$1);\nvar G__27623 \x3d cljs.core.first(seq27620__$2);\nvar seq27620__$3 \x3d cljs.core.next(seq27620__$2);\nvar G__27624 \x3d cljs.core.first(seq27620__$3);\nvar seq27620__$4 \x3d cljs.core.next(seq27620__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27621,G__27622,G__27623,G__27624,seq27620__$4);\n}));\n\n(cljs.core.mapv.cljs$lang$maxFixedArity \x3d (4));\n\n/**\n * Returns a vector of the items in coll for which\n * (pred item) returns logical true. pred must be free of side-effects.\n */\ncljs.core.filterv \x3d (function cljs$core$filterv(pred,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(o) : pred.call(null,o)))){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,o);\n} else {\nreturn v;\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));\n});\n/**\n * Returns a lazy sequence of lists of n items each, at offsets step\n * apart. If step is not supplied, defaults to n, i.e. the partitions\n * do not overlap. If a pad collection is supplied, use its elements as\n * necessary to complete last partition up to n items. In case there are\n * not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partition \x3d (function cljs$core$partition(var_args){\nvar G__27627 \x3d arguments.length;\nswitch (G__27627) {\ncase 2:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn 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)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar p \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);\nif((n \x3d\x3d\x3d cljs.core.count(p))){\nreturn 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)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns the value in a nested associative structure,\n * where ks is a sequence of keys. Returns nil if the key is not present,\n * or the not-found value if supplied.\n */\ncljs.core.get_in \x3d (function cljs$core$get_in(var_args){\nvar G__27629 \x3d arguments.length;\nswitch (G__27629) {\ncase 2:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2 \x3d (function (m,ks){\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((ks__$1 \x3d\x3d null)){\nreturn m__$1;\n} else {\nvar G__30860 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m__$1,cljs.core.first(ks__$1));\nvar G__30861 \x3d cljs.core.next(ks__$1);\nm__$1 \x3d G__30860;\nks__$1 \x3d G__30861;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,ks,not_found){\nvar sentinel \x3d cljs.core.lookup_sentinel;\nvar m__$1 \x3d m;\nvar ks__$1 \x3d cljs.core.seq(ks);\nwhile(true){\nif((!((ks__$1 \x3d\x3d null)))){\nvar m__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.first(ks__$1),sentinel);\nif((sentinel \x3d\x3d\x3d m__$2)){\nreturn not_found;\n} else {\nvar G__30865 \x3d sentinel;\nvar G__30866 \x3d m__$2;\nvar G__30867 \x3d cljs.core.next(ks__$1);\nsentinel \x3d G__30865;\nm__$1 \x3d G__30866;\nks__$1 \x3d G__30867;\ncontinue;\n}\n} else {\nreturn m__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.get_in.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Associates a value in a nested associative structure, where ks is a\n * sequence of keys and v is the new value and returns a new nested structure.\n * If any levels do not exist, hash-maps will be created.\n */\ncljs.core.assoc_in \x3d (function cljs$core$assoc_in(m,p__27630,v){\nvar vec__27631 \x3d p__27630;\nvar seq__27632 \x3d cljs.core.seq(vec__27631);\nvar first__27633 \x3d cljs.core.first(seq__27632);\nvar seq__27632__$1 \x3d cljs.core.next(seq__27632);\nvar k \x3d first__27633;\nvar ks \x3d seq__27632__$1;\nif(ks){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27634 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27635 \x3d ks;\nvar G__27636 \x3d v;\nreturn (cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3 ? cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(G__27634,G__27635,G__27636) : cljs.core.assoc_in.call(null,G__27634,G__27635,G__27636));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\n/**\n * \x27Updates\x27 a value in a nested associative structure, where ks is a\n * sequence of keys and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * nested structure. If any levels do not exist, hash-maps will be\n * created.\n */\ncljs.core.update_in \x3d (function cljs$core$update_in(var_args){\nvar G__27645 \x3d arguments.length;\nswitch (G__27645) {\ncase 3:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30869 \x3d arguments.length;\nvar i__5750__auto___30870 \x3d (0);\nwhile(true){\nif((i__5750__auto___30870 \x3c len__5749__auto___30869)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30870]));\n\nvar G__30871 \x3d (i__5750__auto___30870 + (1));\ni__5750__auto___30870 \x3d G__30871;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,p__27646,f){\nvar vec__27647 \x3d p__27646;\nvar seq__27648 \x3d cljs.core.seq(vec__27647);\nvar first__27649 \x3d cljs.core.first(seq__27648);\nvar seq__27648__$1 \x3d cljs.core.next(seq__27648);\nvar k \x3d first__27649;\nvar ks \x3d seq__27648__$1;\nif(ks){\nreturn 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));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27650 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27650) : f.call(null,G__27650));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,p__27651,f,a){\nvar vec__27652 \x3d p__27651;\nvar seq__27653 \x3d cljs.core.seq(vec__27652);\nvar first__27654 \x3d cljs.core.first(seq__27653);\nvar seq__27653__$1 \x3d cljs.core.next(seq__27653);\nvar k \x3d first__27654;\nvar ks \x3d seq__27653__$1;\nif(ks){\nreturn 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));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27655 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27656 \x3d a;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27655,G__27656) : f.call(null,G__27655,G__27656));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,p__27657,f,a,b){\nvar vec__27658 \x3d p__27657;\nvar seq__27659 \x3d cljs.core.seq(vec__27658);\nvar first__27660 \x3d cljs.core.first(seq__27659);\nvar seq__27659__$1 \x3d cljs.core.next(seq__27659);\nvar k \x3d first__27660;\nvar ks \x3d seq__27659__$1;\nif(ks){\nreturn 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));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27661 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27662 \x3d a;\nvar G__27663 \x3d b;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27661,G__27662,G__27663) : f.call(null,G__27661,G__27662,G__27663));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,p__27664,f,a,b,c){\nvar vec__27665 \x3d p__27664;\nvar seq__27666 \x3d cljs.core.seq(vec__27665);\nvar first__27667 \x3d cljs.core.first(seq__27666);\nvar seq__27666__$1 \x3d cljs.core.next(seq__27666);\nvar k \x3d first__27667;\nvar ks \x3d seq__27666__$1;\nif(ks){\nreturn 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));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27668 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27669 \x3d a;\nvar G__27670 \x3d b;\nvar G__27671 \x3d c;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__27668,G__27669,G__27670,G__27671) : f.call(null,G__27668,G__27669,G__27670,G__27671));\n})());\n}\n}));\n\n(cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,p__27672,f,a,b,c,args){\nvar vec__27673 \x3d p__27672;\nvar seq__27674 \x3d cljs.core.seq(vec__27673);\nvar first__27675 \x3d cljs.core.first(seq__27674);\nvar seq__27674__$1 \x3d cljs.core.next(seq__27674);\nvar k \x3d first__27675;\nvar ks \x3d seq__27674__$1;\nif(ks){\nreturn 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)));\n} else {\nreturn 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)));\n}\n}));\n\n/** @this {Function} */\n(cljs.core.update_in.cljs$lang$applyTo \x3d (function (seq27638){\nvar G__27639 \x3d cljs.core.first(seq27638);\nvar seq27638__$1 \x3d cljs.core.next(seq27638);\nvar G__27640 \x3d cljs.core.first(seq27638__$1);\nvar seq27638__$2 \x3d cljs.core.next(seq27638__$1);\nvar G__27641 \x3d cljs.core.first(seq27638__$2);\nvar seq27638__$3 \x3d cljs.core.next(seq27638__$2);\nvar G__27642 \x3d cljs.core.first(seq27638__$3);\nvar seq27638__$4 \x3d cljs.core.next(seq27638__$3);\nvar G__27643 \x3d cljs.core.first(seq27638__$4);\nvar seq27638__$5 \x3d cljs.core.next(seq27638__$4);\nvar G__27644 \x3d cljs.core.first(seq27638__$5);\nvar seq27638__$6 \x3d cljs.core.next(seq27638__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27639,G__27640,G__27641,G__27642,G__27643,G__27644,seq27638__$6);\n}));\n\n(cljs.core.update_in.cljs$lang$maxFixedArity \x3d (6));\n\n/**\n * \x27Updates\x27 a value in an associative structure, where k is a\n * key and f is a function that will take the old value\n * and any supplied args and return the new value, and returns a new\n * structure. If the key does not exist, nil is passed as the old value.\n */\ncljs.core.update \x3d (function cljs$core$update(var_args){\nvar G__27684 \x3d arguments.length;\nswitch (G__27684) {\ncase 3:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___30873 \x3d arguments.length;\nvar i__5750__auto___30874 \x3d (0);\nwhile(true){\nif((i__5750__auto___30874 \x3c len__5749__auto___30873)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___30874]));\n\nvar G__30875 \x3d (i__5750__auto___30874 + (1));\ni__5750__auto___30874 \x3d G__30875;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$3 \x3d (function (m,k,f){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27685 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__27685) : f.call(null,G__27685));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$4 \x3d (function (m,k,f,x){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27686 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27687 \x3d x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27686,G__27687) : f.call(null,G__27686,G__27687));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$5 \x3d (function (m,k,f,x,y){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27688 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27689 \x3d x;\nvar G__27690 \x3d y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27688,G__27689,G__27690) : f.call(null,G__27688,G__27689,G__27690));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$6 \x3d (function (m,k,f,x,y,z){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27691 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27692 \x3d x;\nvar G__27693 \x3d y;\nvar G__27694 \x3d z;\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__27691,G__27692,G__27693,G__27694) : f.call(null,G__27691,G__27692,G__27693,G__27694));\n})());\n}));\n\n(cljs.core.update.cljs$core$IFn$_invoke$arity$variadic \x3d (function (m,k,f,x,y,z,more){\nreturn 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)));\n}));\n\n/** @this {Function} */\n(cljs.core.update.cljs$lang$applyTo \x3d (function (seq27677){\nvar G__27678 \x3d cljs.core.first(seq27677);\nvar seq27677__$1 \x3d cljs.core.next(seq27677);\nvar G__27679 \x3d cljs.core.first(seq27677__$1);\nvar seq27677__$2 \x3d cljs.core.next(seq27677__$1);\nvar G__27680 \x3d cljs.core.first(seq27677__$2);\nvar seq27677__$3 \x3d cljs.core.next(seq27677__$2);\nvar G__27681 \x3d cljs.core.first(seq27677__$3);\nvar seq27677__$4 \x3d cljs.core.next(seq27677__$3);\nvar G__27682 \x3d cljs.core.first(seq27677__$4);\nvar seq27677__$5 \x3d cljs.core.next(seq27677__$4);\nvar G__27683 \x3d cljs.core.first(seq27677__$5);\nvar seq27677__$6 \x3d cljs.core.next(seq27677__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27678,G__27679,G__27680,G__27681,G__27682,G__27683,seq27677__$6);\n}));\n\n(cljs.core.update.cljs$lang$maxFixedArity \x3d (6));\n\n\n/**\n* @constructor\n*/\ncljs.core.VectorNode \x3d (function (edit,arr){\nthis.edit \x3d edit;\nthis.arr \x3d arr;\n});\n\n(cljs.core.VectorNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.VectorNode.cljs$lang$type \x3d true);\n\n(cljs.core.VectorNode.cljs$lang$ctorStr \x3d \x22cljs.core/VectorNode\x22);\n\n(cljs.core.VectorNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/VectorNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/VectorNode.\n */\ncljs.core.__GT_VectorNode \x3d (function cljs$core$__GT_VectorNode(edit,arr){\nreturn (new cljs.core.VectorNode(edit,arr));\n});\n\ncljs.core.pv_fresh_node \x3d (function cljs$core$pv_fresh_node(edit){\nreturn (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]));\n});\ncljs.core.pv_aget \x3d (function cljs$core$pv_aget(node,idx){\nreturn (node.arr[idx]);\n});\ncljs.core.pv_aset \x3d (function cljs$core$pv_aset(node,idx,val){\nreturn (node.arr[idx] \x3d val);\n});\ncljs.core.pv_clone_node \x3d (function cljs$core$pv_clone_node(node){\nreturn (new cljs.core.VectorNode(node.edit,cljs.core.aclone(node.arr)));\n});\ncljs.core.tail_off \x3d (function cljs$core$tail_off(pv){\nvar cnt \x3d pv.cnt;\nif((cnt \x3c (32))){\nreturn (0);\n} else {\nreturn (((cnt - (1)) \x3e\x3e\x3e (5)) \x3c\x3c (5));\n}\n});\ncljs.core.new_path \x3d (function cljs$core$new_path(edit,level,node){\nvar ll \x3d level;\nvar ret \x3d node;\nwhile(true){\nif((ll \x3d\x3d\x3d (0))){\nreturn ret;\n} else {\nvar embed \x3d ret;\nvar r \x3d cljs.core.pv_fresh_node(edit);\nvar _ \x3d cljs.core.pv_aset(r,(0),embed);\nvar G__30879 \x3d (ll - (5));\nvar G__30880 \x3d r;\nll \x3d G__30879;\nret \x3d G__30880;\ncontinue;\n}\nbreak;\n}\n});\ncljs.core.push_tail \x3d (function cljs$core$push_tail(pv,level,parent,tailnode){\nvar ret \x3d cljs.core.pv_clone_node(parent);\nvar subidx \x3d (((pv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\nif(((5) \x3d\x3d\x3d level)){\ncljs.core.pv_aset(ret,subidx,tailnode);\n\nreturn ret;\n} else {\nvar child \x3d cljs.core.pv_aget(parent,subidx);\nif((!((child \x3d\x3d null)))){\nvar node_to_insert \x3d (function (){var G__27695 \x3d pv;\nvar G__27696 \x3d (level - (5));\nvar G__27697 \x3d child;\nvar G__27698 \x3d tailnode;\nreturn (cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(G__27695,G__27696,G__27697,G__27698) : cljs.core.push_tail.call(null,G__27695,G__27696,G__27697,G__27698));\n})();\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n} else {\nvar node_to_insert \x3d cljs.core.new_path(null,(level - (5)),tailnode);\ncljs.core.pv_aset(ret,subidx,node_to_insert);\n\nreturn ret;\n}\n}\n});\ncljs.core.vector_index_out_of_bounds \x3d (function cljs$core$vector_index_out_of_bounds(i,cnt){\nthrow (new Error([\x22No item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(i),\x22 in vector of length \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnt)].join(\x27\x27)));\n});\ncljs.core.first_array_for_longvec \x3d (function cljs$core$first_array_for_longvec(pv){\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__30881 \x3d cljs.core.pv_aget(node,(0));\nvar G__30882 \x3d (level - (5));\nnode \x3d G__30881;\nlevel \x3d G__30882;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n});\ncljs.core.unchecked_array_for \x3d (function cljs$core$unchecked_array_for(pv,i){\nif((i \x3e\x3d cljs.core.tail_off(pv))){\nreturn pv.tail;\n} else {\nvar node \x3d pv.root;\nvar level \x3d pv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__30883 \x3d cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31)));\nvar G__30884 \x3d (level - (5));\nnode \x3d G__30883;\nlevel \x3d G__30884;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\ncljs.core.array_for \x3d (function cljs$core$array_for(pv,i){\nif(((((0) \x3c\x3d i)) \x26\x26 ((i \x3c pv.cnt)))){\nreturn cljs.core.unchecked_array_for(pv,i);\n} else {\nreturn cljs.core.vector_index_out_of_bounds(i,pv.cnt);\n}\n});\ncljs.core.do_assoc \x3d (function cljs$core$do_assoc(pv,level,node,i,val){\nvar ret \x3d cljs.core.pv_clone_node(node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(ret,(i \x26 (31)),val);\n\nreturn ret;\n} else {\nvar subidx \x3d ((i \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(function (){var G__27699 \x3d pv;\nvar G__27700 \x3d (level - (5));\nvar G__27701 \x3d cljs.core.pv_aget(node,subidx);\nvar G__27702 \x3d i;\nvar G__27703 \x3d val;\nreturn (cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5 ? cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(G__27699,G__27700,G__27701,G__27702,G__27703) : cljs.core.do_assoc.call(null,G__27699,G__27700,G__27701,G__27702,G__27703));\n})());\n\nreturn ret;\n}\n});\ncljs.core.pop_tail \x3d (function cljs$core$pop_tail(pv,level,node){\nvar subidx \x3d (((pv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__27704 \x3d pv;\nvar G__27705 \x3d (level - (5));\nvar G__27706 \x3d cljs.core.pv_aget(node,subidx);\nreturn (cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(G__27704,G__27705,G__27706) : cljs.core.pop_tail.call(null,G__27704,G__27705,G__27706));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,new_child);\n\nreturn ret;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar ret \x3d cljs.core.pv_clone_node(node);\ncljs.core.pv_aset(ret,subidx,null);\n\nreturn ret;\n\n}\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.RangedIterator \x3d (function (i,base,arr,v,start,end){\nthis.i \x3d i;\nthis.base \x3d base;\nthis.arr \x3d arr;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\n});\n(cljs.core.RangedIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn (self__.i \x3c self__.end);\n}));\n\n(cljs.core.RangedIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.i - self__.base) \x3d\x3d\x3d (32))){\n(self__.arr \x3d cljs.core.unchecked_array_for(self__.v,self__.i));\n\n(self__.base \x3d (self__.base + (32)));\n} else {\n}\n\nvar ret \x3d (self__.arr[(self__.i \x26 (31))]);\n(self__.i \x3d (self__.i + (1)));\n\nreturn ret;\n}));\n\n(cljs.core.RangedIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22base\x22,\x22base\x22,1825810849,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null)], null);\n}));\n\n(cljs.core.RangedIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangedIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangedIterator\x22);\n\n(cljs.core.RangedIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RangedIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangedIterator.\n */\ncljs.core.__GT_RangedIterator \x3d (function cljs$core$__GT_RangedIterator(i,base,arr,v,start,end){\nreturn (new cljs.core.RangedIterator(i,base,arr,v,start,end));\n});\n\ncljs.core.ranged_iterator \x3d (function cljs$core$ranged_iterator(v,start,end){\nvar i \x3d start;\nreturn (new cljs.core.RangedIterator(i,(i - (i % (32))),(((start \x3c cljs.core.count(v)))?cljs.core.unchecked_array_for(v,i):null),v,start,end));\n});\ncljs.core.pv_reduce \x3d (function cljs$core$pv_reduce(var_args){\nvar G__27708 \x3d arguments.length;\nswitch (G__27708) {\ncase 4:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4 \x3d (function (pv,f,start,end){\nif((start \x3c end)){\nreturn 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);\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n}));\n\n(cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5 \x3d (function (pv,f,init,start,end){\nvar acc \x3d init;\nvar i \x3d start;\nvar arr \x3d cljs.core.unchecked_array_for(pv,start);\nwhile(true){\nif((i \x3c end)){\nvar j \x3d (i \x26 (31));\nvar arr__$1 \x3d (((j \x3d\x3d\x3d (0)))?cljs.core.unchecked_array_for(pv,i):arr);\nvar nacc \x3d (function (){var G__27709 \x3d acc;\nvar G__27710 \x3d (arr__$1[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27709,G__27710) : f.call(null,G__27709,G__27710));\n})();\nif(cljs.core.reduced_QMARK_(nacc)){\nreturn cljs.core.deref(nacc);\n} else {\nvar G__30895 \x3d nacc;\nvar G__30896 \x3d (i + (1));\nvar G__30897 \x3d arr__$1;\nacc \x3d G__30895;\ni \x3d G__30896;\narr \x3d G__30897;\ncontinue;\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.pv_reduce.cljs$lang$maxFixedArity \x3d 5);\n\n\n\n\n\n\n\n/**\n * Marker protocol\n * @interface\n */\ncljs.core.APersistentVector \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.APersistentVector}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentVector \x3d (function (meta,cnt,shift,root,tail,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 401412;\n});\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (new cljs.core.MapEntry(n,(cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentVector.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentVector.prototype.indexOf \x3d (function() {\nvar G__30898 \x3d null;\nvar G__30898__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30898__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30898 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30898__1.call(this,x);\ncase 2:\nreturn G__30898__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30898.cljs$core$IFn$_invoke$arity$1 \x3d G__30898__1;\nG__30898.cljs$core$IFn$_invoke$arity$2 \x3d G__30898__2;\nreturn G__30898;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.lastIndexOf \x3d (function() {\nvar G__30899 \x3d null;\nvar G__30899__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30899__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30899 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30899__1.call(this,x);\ncase 2:\nreturn G__30899__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30899.cljs$core$IFn$_invoke$arity$1 \x3d G__30899__1;\nG__30899.cljs$core$IFn$_invoke$arity$2 \x3d G__30899__2;\nreturn G__30899;\n})()\n);\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__27712 \x3d init__$2;\nvar G__27713 \x3d (j + i);\nvar G__27714 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27712,G__27713,G__27714) : f.call(null,G__27712,G__27713,G__27714));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__30900 \x3d (j + (1));\nvar G__30901 \x3d init__$3;\nj \x3d G__30900;\ninit__$2 \x3d G__30901;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__30902 \x3d (i + len);\nvar G__30903 \x3d init__$2;\ni \x3d G__30902;\ninit__$1 \x3d G__30903;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn (cljs.core.unchecked_array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(coll__$1) \x3c\x3d n)){\nvar new_tail \x3d cljs.core.aclone(self__.tail);\n(new_tail[(n \x26 (31))] \x3d val);\n\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,new_tail,null));\n} else {\nreturn (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));\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn coll__$1.cljs$core$ICollection$_conj$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt),\x22]\x22].join(\x27\x27)));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.ranged_iterator(this$__$1,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(self__.cnt - (1)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n} else {\nif(((1) \x3c (self__.cnt - cljs.core.tail_off(coll__$1)))){\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt - (1)),self__.shift,self__.root,self__.tail.slice((0),(-1)),null));\n} else {\nvar new_tail \x3d cljs.core.unchecked_array_for(coll__$1,(self__.cnt - (2)));\nvar nr \x3d cljs.core.pop_tail(coll__$1,self__.shift,self__.root);\nvar new_root \x3d (((nr \x3d\x3d null))?cljs.core.PersistentVector.EMPTY_NODE:nr);\nvar cnt_1 \x3d (self__.cnt - (1));\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,(self__.shift - (5)),cljs.core.pv_aget(new_root,(0)),new_tail,null));\n} else {\nreturn (new cljs.core.PersistentVector(self__.meta,cnt_1,self__.shift,new_root,new_tail,null));\n}\n\n}\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn (new cljs.core.RSeq(coll__$1,(self__.cnt - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((other instanceof cljs.core.PersistentVector)){\nif((self__.cnt \x3d\x3d\x3d cljs.core.count(other))){\nvar me_iter \x3d coll__$1.cljs$core$IIterable$_iterator$arity$1(null);\nvar you_iter \x3d other.cljs$core$IIterable$_iterator$arity$1(null);\nwhile(true){\nif(me_iter.hasNext()){\nvar x \x3d me_iter.next();\nvar y \x3d you_iter.next();\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientVector(self__.cnt,self__.shift,(cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_root.cljs$core$IFn$_invoke$arity$1(self__.root) : cljs.core.tv_editable_root.call(null,self__.root)),(cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1 ? cljs.core.tv_editable_tail.cljs$core$IFn$_invoke$arity$1(self__.tail) : cljs.core.tv_editable_tail.call(null,self__.tail))));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (v,f){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(v__$1,f,(0),self__.cnt);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (v,f,init){\nvar self__ \x3d this;\nvar v__$1 \x3d this;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.cnt)){\nvar arr \x3d cljs.core.unchecked_array_for(v__$1,i);\nvar len \x3d arr.length;\nvar init__$2 \x3d (function (){var j \x3d (0);\nvar init__$2 \x3d init__$1;\nwhile(true){\nif((j \x3c len)){\nvar init__$3 \x3d (function (){var G__27715 \x3d init__$2;\nvar G__27716 \x3d (arr[j]);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27715,G__27716) : f.call(null,G__27715,G__27716));\n})();\nif(cljs.core.reduced_QMARK_(init__$3)){\nreturn init__$3;\n} else {\nvar G__30914 \x3d (j + (1));\nvar G__30915 \x3d init__$3;\nj \x3d G__30914;\ninit__$2 \x3d G__30915;\ncontinue;\n}\n} else {\nreturn init__$2;\n}\nbreak;\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__30916 \x3d (i + len);\nvar G__30917 \x3d init__$2;\ni \x3d G__30916;\ninit__$1 \x3d G__30917;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,k,v);\n} else {\nthrow (new Error(\x22Vector\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(k)){\nreturn ((((0) \x3c\x3d k)) \x26\x26 ((k \x3c self__.cnt)));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nif((self__.cnt \x3c\x3d (32))){\nreturn (new cljs.core.IndexedSeq(self__.tail,(0),null));\n} else {\nvar G__27717 \x3d coll__$1;\nvar G__27718 \x3d cljs.core.first_array_for_longvec(coll__$1);\nvar G__27719 \x3d (0);\nvar G__27720 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27717,G__27718,G__27719,G__27720) : cljs.core.chunked_seq.call(null,G__27717,G__27718,G__27719,G__27720));\n\n}\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentVector(new_meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.cnt - cljs.core.tail_off(coll__$1)) \x3c (32))){\nvar len \x3d self__.tail.length;\nvar new_tail \x3d (new Array((len + (1))));\nvar n__5616__auto___30918 \x3d len;\nvar i_30919 \x3d (0);\nwhile(true){\nif((i_30919 \x3c n__5616__auto___30918)){\n(new_tail[i_30919] \x3d (self__.tail[i_30919]));\n\nvar G__30920 \x3d (i_30919 + (1));\ni_30919 \x3d G__30920;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(new_tail[len] \x3d o);\n\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),self__.shift,self__.root,new_tail,null));\n} else {\nvar root_overflow_QMARK_ \x3d ((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift));\nvar new_shift \x3d ((root_overflow_QMARK_)?(self__.shift + (5)):self__.shift);\nvar new_root \x3d ((root_overflow_QMARK_)?(function (){var n_r \x3d cljs.core.pv_fresh_node(null);\ncljs.core.pv_aset(n_r,(0),self__.root);\n\ncljs.core.pv_aset(n_r,(1),cljs.core.new_path(null,self__.shift,(new cljs.core.VectorNode(null,self__.tail))));\n\nreturn n_r;\n})():cljs.core.push_tail(coll__$1,self__.shift,self__.root,(new cljs.core.VectorNode(null,self__.tail))));\nreturn (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),new_shift,new_root,[o],null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27721 \x3d (arguments.length - (1));\nswitch (G__27721) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentVector.prototype.apply \x3d (function (self__,args27711){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27711)));\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n} else {\nthrow (new Error(\x22Key must be integer\x22));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c self__.cnt)){\nvar offset \x3d (n % (32));\nvar G__27722 \x3d coll__$1;\nvar G__27723 \x3d cljs.core.unchecked_array_for(coll__$1,n);\nvar G__27724 \x3d (n - offset);\nvar G__27725 \x3d offset;\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27722,G__27723,G__27724,G__27725) : cljs.core.chunked_seq.call(null,G__27722,G__27723,G__27724,G__27725));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentVector.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentVector.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentVector\x22);\n\n(cljs.core.PersistentVector.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentVector.\n */\ncljs.core.__GT_PersistentVector \x3d (function cljs$core$__GT_PersistentVector(meta,cnt,shift,root,tail,__hash){\nreturn (new cljs.core.PersistentVector(meta,cnt,shift,root,tail,__hash));\n});\n\n(cljs.core.PersistentVector.EMPTY_NODE \x3d (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])));\n(cljs.core.PersistentVector.EMPTY \x3d (new cljs.core.PersistentVector(null,(0),(5),cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentVector.fromArray \x3d (function (xs,no_clone){\nvar l \x3d xs.length;\nvar xs__$1 \x3d ((no_clone)?xs:cljs.core.aclone(xs));\nif((l \x3c (32))){\nreturn (new cljs.core.PersistentVector(null,l,(5),cljs.core.PersistentVector.EMPTY_NODE,xs__$1,null));\n} else {\nvar node \x3d xs__$1.slice((0),(32));\nvar v \x3d (new cljs.core.PersistentVector(null,(32),(5),cljs.core.PersistentVector.EMPTY_NODE,node,null));\nvar i \x3d (32);\nvar out \x3d v.cljs$core$IEditableCollection$_as_transient$arity$1(null);\nwhile(true){\nif((i \x3c l)){\nvar G__30926 \x3d (i + (1));\nvar G__30927 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(out,(xs__$1[i]));\ni \x3d G__30926;\nout \x3d G__30927;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentVector.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Creates a new vector containing the contents of coll. JavaScript arrays\n * will be aliased and should not be modified.\n */\ncljs.core.vec \x3d (function cljs$core$vec(coll){\nif(cljs.core.truth_((cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.core.map_entry_QMARK_.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.map_entry_QMARK_.call(null,coll)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.key.call(null,coll)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.val.call(null,coll))], null);\n} else {\nif(cljs.core.vector_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nif(cljs.core.array_QMARK_(coll)){\nreturn cljs.core.PersistentVector.fromArray(coll,true);\n} else {\nreturn 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));\n\n}\n}\n}\n});\n/**\n * Creates a new vector containing the args.\n */\ncljs.core.vector \x3d (function cljs$core$vector(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___30932 \x3d arguments.length;\nvar i__5750__auto___30933 \x3d (0);\nwhile(true){\nif((i__5750__auto___30933 \x3c len__5749__auto___30932)){\nargs__5755__auto__.push((arguments[i__5750__auto___30933]));\n\nvar G__30934 \x3d (i__5750__auto___30933 + (1));\ni__5750__auto___30933 \x3d G__30934;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nif((((args instanceof cljs.core.IndexedSeq)) \x26\x26 ((args.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentVector.fromArray(args.arr,(!(cljs.core.array_QMARK_(args.arr))));\n} else {\nreturn cljs.core.vec(args);\n}\n}));\n\n(cljs.core.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.vector.cljs$lang$applyTo \x3d (function (seq27726){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27726));\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ASeq}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ChunkedSeq \x3d (function (vec,node,i,off,meta,__hash){\nthis.vec \x3d vec;\nthis.node \x3d node;\nthis.i \x3d i;\nthis.off \x3d off;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375020;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 263680;\n});\n(cljs.core.ChunkedSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ChunkedSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.indexOf \x3d (function() {\nvar G__30935 \x3d null;\nvar G__30935__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30935__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30935 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30935__1.call(this,x);\ncase 2:\nreturn G__30935__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30935.cljs$core$IFn$_invoke$arity$1 \x3d G__30935__1;\nG__30935.cljs$core$IFn$_invoke$arity$2 \x3d G__30935__2;\nreturn G__30935;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.lastIndexOf \x3d (function() {\nvar G__30936 \x3d null;\nvar G__30936__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30936__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__30936 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__30936__1.call(this,x);\ncase 2:\nreturn G__30936__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30936.cljs$core$IFn$_invoke$arity$1 \x3d G__30936__1;\nG__30936.cljs$core$IFn$_invoke$arity$2 \x3d G__30936__2;\nreturn G__30936;\n})()\n);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__27727 \x3d self__.vec;\nvar G__27728 \x3d self__.node;\nvar G__27729 \x3d self__.i;\nvar G__27730 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27727,G__27728,G__27729,G__27730) : cljs.core.chunked_seq.call(null,G__27727,G__27728,G__27729,G__27730));\n})();\nif((s \x3d\x3d null)){\nreturn null;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedNext$_chunked_next$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.vec,f,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.vec,f,start,(self__.i + self__.off),cljs.core.count(self__.vec));\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.node[self__.off]);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((self__.off + (1)) \x3c self__.node.length)){\nvar s \x3d (function (){var G__27731 \x3d self__.vec;\nvar G__27732 \x3d self__.node;\nvar G__27733 \x3d self__.i;\nvar G__27734 \x3d (self__.off + (1));\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27731,G__27732,G__27733,G__27734) : cljs.core.chunked_seq.call(null,G__27731,G__27732,G__27733,G__27734));\n})();\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n} else {\nreturn coll__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null);\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(self__.node,self__.off);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__27735 \x3d self__.vec;\nvar G__27736 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__27737 \x3d end;\nvar G__27738 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27735,G__27736,G__27737,G__27738) : cljs.core.chunked_seq.call(null,G__27735,G__27736,G__27737,G__27738));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(self__.vec,self__.node,self__.i,self__.off,new_meta) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,self__.off,new_meta));\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar o \x3d (self__.off + n);\nif((o \x3c self__.node.length)){\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(self__.vec,self__.node,self__.i,o) : cljs.core.chunked_seq.call(null,self__.vec,self__.node,self__.i,o));\n} else {\nvar i__$1 \x3d (self__.i + o);\nif((i__$1 \x3c cljs.core._count(self__.vec))){\nvar new_offset \x3d (i__$1 % (32));\nvar G__27739 \x3d self__.vec;\nvar G__27740 \x3d cljs.core.unchecked_array_for(self__.vec,i__$1);\nvar G__27741 \x3d (i__$1 - new_offset);\nvar G__27742 \x3d new_offset;\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27739,G__27740,G__27741,G__27742) : cljs.core.chunked_seq.call(null,G__27739,G__27740,G__27741,G__27742));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar end \x3d (self__.i + self__.node.length);\nif((end \x3c cljs.core._count(self__.vec))){\nvar G__27743 \x3d self__.vec;\nvar G__27744 \x3d cljs.core.unchecked_array_for(self__.vec,end);\nvar G__27745 \x3d end;\nvar G__27746 \x3d (0);\nreturn (cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 ? cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(G__27743,G__27744,G__27745,G__27746) : cljs.core.chunked_seq.call(null,G__27743,G__27744,G__27745,G__27746));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ChunkedSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22node\x22,\x22node\x22,-2073234571,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22off\x22,\x22off\x22,-2047994980,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ChunkedSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ChunkedSeq\x22);\n\n(cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ChunkedSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ChunkedSeq.\n */\ncljs.core.__GT_ChunkedSeq \x3d (function cljs$core$__GT_ChunkedSeq(vec,node,i,off,meta,__hash){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,__hash));\n});\n\n(cljs.core.ChunkedSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.chunked_seq \x3d (function cljs$core$chunked_seq(var_args){\nvar G__27748 \x3d arguments.length;\nswitch (G__27748) {\ncase 3:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (vec,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,cljs.core.array_for(vec,i),i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 \x3d (function (vec,node,i,off){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,null,null));\n}));\n\n(cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 \x3d (function (vec,node,i,off,meta){\nreturn (new cljs.core.ChunkedSeq(vec,node,i,off,meta,null));\n}));\n\n(cljs.core.chunked_seq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Subvec \x3d (function (meta,v,start,end,__hash){\nthis.meta \x3d meta;\nthis.v \x3d v;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 167666463;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.core.Subvec.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c (0))){\nreturn null;\n} else {\nvar idx \x3d (self__.start + n);\nif((idx \x3c self__.end)){\nreturn (new cljs.core.MapEntry(n,cljs.core._lookup(self__.v,idx),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Subvec.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Subvec.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Subvec.prototype.indexOf \x3d (function() {\nvar G__30959 \x3d null;\nvar G__30959__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__30959__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__30959 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__30959__1.call(this,x);\ncase 2:\nreturn G__30959__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30959.cljs$core$IFn$_invoke$arity$1 \x3d G__30959__1;\nG__30959.cljs$core$IFn$_invoke$arity$2 \x3d G__30959__2;\nreturn G__30959;\n})()\n);\n\n(cljs.core.Subvec.prototype.lastIndexOf \x3d (function() {\nvar G__30960 \x3d null;\nvar G__30960__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__30960__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__30960 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__30960__1.call(this,x);\ncase 2:\nreturn G__30960__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__30960.cljs$core$IFn$_invoke$arity$1 \x3d G__30960__1;\nG__30960.cljs$core$IFn$_invoke$arity$2 \x3d G__30960__2;\nreturn G__30960;\n})()\n);\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar i \x3d self__.start;\nvar j \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c self__.end)){\nvar init__$2 \x3d (function (){var G__27750 \x3d init__$1;\nvar G__27751 \x3d j;\nvar G__27752 \x3d cljs.core._nth(self__.v,i);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27750,G__27751,G__27752) : f.call(null,G__27750,G__27751,G__27752));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__30973 \x3d (i + (1));\nvar G__30974 \x3d (j + (1));\nvar G__30975 \x3d init__$2;\ni \x3d G__30973;\nj \x3d G__30974;\ninit__$1 \x3d G__30975;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn cljs.core.vector_index_out_of_bounds(n,(self__.end - self__.start));\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((n \x3c (0))) || ((self__.end \x3c\x3d (self__.start + n))))){\nreturn not_found;\n} else {\nreturn cljs.core._nth(self__.v,(self__.start + n),not_found);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (coll,n,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar v_pos \x3d (self__.start + n);\nif((((n \x3c (0))) || (((self__.end + (1)) \x3c\x3d v_pos)))){\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds [0,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll__$1.cljs$core$ICounted$_count$arity$1(null)),\x22]\x22].join(\x27\x27)));\n} else {\nvar G__27753 \x3d self__.meta;\nvar G__27754 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.v,v_pos,val);\nvar G__27755 \x3d self__.start;\nvar G__27756 \x3d (function (){var x__5110__auto__ \x3d self__.end;\nvar y__5111__auto__ \x3d (v_pos + (1));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar G__27757 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__27753,G__27754,G__27755,G__27756,G__27757) : cljs.core.build_subvec.call(null,G__27753,G__27754,G__27755,G__27756,G__27757));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.ranged_iterator(self__.v,self__.start,self__.end);\n} else {\nreturn cljs.core.seq_iter(coll__$1);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Subvec(self__.meta,self__.v,self__.start,self__.end,self__.__hash));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.end - self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core._nth(self__.v,(self__.end - (1)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.start \x3d\x3d\x3d self__.end)){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nvar G__27759 \x3d self__.meta;\nvar G__27760 \x3d self__.v;\nvar G__27761 \x3d self__.start;\nvar G__27762 \x3d (self__.end - (1));\nvar G__27763 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__27759,G__27760,G__27761,G__27762,G__27763) : cljs.core.build_subvec.call(null,G__27759,G__27760,G__27761,G__27762,G__27763));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.start \x3d\x3d\x3d self__.end)))){\nreturn (new cljs.core.RSeq(coll__$1,((self__.end - self__.start) - (1)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.v,f,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((!((self__.v \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d self__.v.cljs$core$APersistentVector$))))?true:false):false)){\nreturn cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.v,f,init,self__.start,self__.end);\n} else {\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,init);\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,key,val){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22Subvec\x27s key for assoc must be a number.\x22));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,key){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.integer_QMARK_(key)){\nreturn ((((0) \x3c\x3d key)) \x26\x26 ((key \x3c (self__.end - self__.start))));\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar subvec_seq \x3d (function cljs$core$subvec_seq(i){\nif((i \x3d\x3d\x3d self__.end)){\nreturn null;\n} else {\nreturn cljs.core.cons(cljs.core._nth(self__.v,i),(new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$subvec_seq((i + (1)));\n}),null,null)));\n}\n});\nreturn subvec_seq(self__.start);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(new_meta,self__.v,self__.start,self__.end,self__.__hash) : cljs.core.build_subvec.call(null,new_meta,self__.v,self__.start,self__.end,self__.__hash));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__27766 \x3d self__.meta;\nvar G__27767 \x3d cljs.core._assoc_n(self__.v,self__.end,o);\nvar G__27768 \x3d self__.start;\nvar G__27769 \x3d (self__.end + (1));\nvar G__27770 \x3d null;\nreturn (cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5 ? cljs.core.build_subvec.cljs$core$IFn$_invoke$arity$5(G__27766,G__27767,G__27768,G__27769,G__27770) : cljs.core.build_subvec.call(null,G__27766,G__27767,G__27768,G__27769,G__27770));\n}));\n\n(cljs.core.Subvec.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27771 \x3d (arguments.length - (1));\nswitch (G__27771) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.Subvec.prototype.apply \x3d (function (self__,args27749){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27749)));\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.Subvec.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Subvec.cljs$lang$type \x3d true);\n\n(cljs.core.Subvec.cljs$lang$ctorStr \x3d \x22cljs.core/Subvec\x22);\n\n(cljs.core.Subvec.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Subvec\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Subvec.\n */\ncljs.core.__GT_Subvec \x3d (function cljs$core$__GT_Subvec(meta,v,start,end,__hash){\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n});\n\n(cljs.core.Subvec.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.build_subvec \x3d (function cljs$core$build_subvec(meta,v,start,end,__hash){\nwhile(true){\nif((v instanceof cljs.core.Subvec)){\nvar G__30981 \x3d meta;\nvar G__30982 \x3d v.v;\nvar G__30983 \x3d (v.start + start);\nvar G__30984 \x3d (v.start + end);\nvar G__30985 \x3d __hash;\nmeta \x3d G__30981;\nv \x3d G__30982;\nstart \x3d G__30983;\nend \x3d G__30984;\n__hash \x3d G__30985;\ncontinue;\n} else {\nif(cljs.core.vector_QMARK_(v)){\n} else {\nthrow (new Error(\x22v must satisfy IVector\x22));\n}\n\nif((((start \x3c (0))) || ((((end \x3c start)) || ((end \x3e cljs.core.count(v))))))){\nthrow (new Error(\x22Index out of bounds\x22));\n} else {\n}\n\nreturn (new cljs.core.Subvec(meta,v,start,end,__hash));\n}\nbreak;\n}\n});\n/**\n * Returns a persistent vector of the items in vector from\n * start (inclusive) to end (exclusive). If end is not supplied,\n * defaults to (count vector). This operation is O(1) and very fast, as\n * the resulting vector shares structure with the original and no\n * trimming is done.\n */\ncljs.core.subvec \x3d (function cljs$core$subvec(var_args){\nvar G__27773 \x3d arguments.length;\nswitch (G__27773) {\ncase 2:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,start){\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(v,start,cljs.core.count(v));\n}));\n\n(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3 \x3d (function (v,start,end){\nif((((!((start \x3d\x3d null)))) \x26\x26 ((!((end \x3d\x3d null)))))){\n} else {\nthrow (new Error(\x22Assert failed: (and (not (nil? start)) (not (nil? end)))\x22));\n}\n\nreturn cljs.core.build_subvec(null,v,(start | (0)),(end | (0)),null);\n}));\n\n(cljs.core.subvec.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.tv_ensure_editable \x3d (function cljs$core$tv_ensure_editable(edit,node){\nif((edit \x3d\x3d\x3d node.edit)){\nreturn node;\n} else {\nreturn (new cljs.core.VectorNode(edit,cljs.core.aclone(node.arr)));\n}\n});\ncljs.core.tv_editable_root \x3d (function cljs$core$tv_editable_root(node){\nreturn (new cljs.core.VectorNode(({}),cljs.core.aclone(node.arr)));\n});\ncljs.core.tv_editable_tail \x3d (function cljs$core$tv_editable_tail(tl){\nvar ret \x3d [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];\ncljs.core.array_copy(tl,(0),ret,(0),tl.length);\n\nreturn ret;\n});\ncljs.core.tv_push_tail \x3d (function cljs$core$tv_push_tail(tv,level,parent,tail_node){\nvar ret \x3d cljs.core.tv_ensure_editable(tv.root.edit,parent);\nvar subidx \x3d (((tv.cnt - (1)) \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(ret,subidx,(((level \x3d\x3d\x3d (5)))?tail_node:(function (){var child \x3d cljs.core.pv_aget(ret,subidx);\nif((!((child \x3d\x3d null)))){\nvar G__27776 \x3d tv;\nvar G__27777 \x3d (level - (5));\nvar G__27778 \x3d child;\nvar G__27779 \x3d tail_node;\nreturn (cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(G__27776,G__27777,G__27778,G__27779) : cljs.core.tv_push_tail.call(null,G__27776,G__27777,G__27778,G__27779));\n} else {\nreturn cljs.core.new_path(tv.root.edit,(level - (5)),tail_node);\n}\n})()));\n\nreturn ret;\n});\ncljs.core.tv_pop_tail \x3d (function cljs$core$tv_pop_tail(tv,level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(tv.root.edit,node);\nvar subidx \x3d (((tv.cnt - (2)) \x3e\x3e\x3e level) \x26 (31));\nif((level \x3e (5))){\nvar new_child \x3d (function (){var G__27780 \x3d tv;\nvar G__27781 \x3d (level - (5));\nvar G__27782 \x3d cljs.core.pv_aget(node__$1,subidx);\nreturn (cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(G__27780,G__27781,G__27782) : cljs.core.tv_pop_tail.call(null,G__27780,G__27781,G__27782));\n})();\nif((((new_child \x3d\x3d null)) \x26\x26 ((subidx \x3d\x3d\x3d (0))))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,new_child);\n\nreturn node__$1;\n}\n} else {\nif((subidx \x3d\x3d\x3d (0))){\nreturn null;\n} else {\ncljs.core.pv_aset(node__$1,subidx,null);\n\nreturn node__$1;\n\n}\n}\n});\ncljs.core.unchecked_editable_array_for \x3d (function cljs$core$unchecked_editable_array_for(tv,i){\nif((i \x3e\x3d cljs.core.tail_off(tv))){\nreturn tv.tail;\n} else {\nvar root \x3d tv.root;\nvar node \x3d root;\nvar level \x3d tv.shift;\nwhile(true){\nif((level \x3e (0))){\nvar G__30997 \x3d cljs.core.tv_ensure_editable(root.edit,cljs.core.pv_aget(node,((i \x3e\x3e\x3e level) \x26 (31))));\nvar G__30998 \x3d (level - (5));\nnode \x3d G__30997;\nlevel \x3d G__30998;\ncontinue;\n} else {\nreturn node.arr;\n}\nbreak;\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientVector}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientVector \x3d (function (cnt,shift,root,tail){\nthis.cnt \x3d cnt;\nthis.shift \x3d shift;\nthis.root \x3d root;\nthis.tail \x3d tail;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 88;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 275;\n});\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((self__.cnt - cljs.core.tail_off(tcoll__$1)) \x3c (32))){\n(self__.tail[(self__.cnt \x26 (31))] \x3d o);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar tail_node \x3d (new cljs.core.VectorNode(self__.root.edit,self__.tail));\nvar new_tail \x3d [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];\n(new_tail[(0)] \x3d o);\n\n(self__.tail \x3d new_tail);\n\nif(((self__.cnt \x3e\x3e\x3e (5)) \x3e ((1) \x3c\x3c self__.shift))){\nvar new_root_array \x3d [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];\nvar new_shift \x3d (self__.shift + (5));\n(new_root_array[(0)] \x3d self__.root);\n\n(new_root_array[(1)] \x3d cljs.core.new_path(self__.root.edit,self__.shift,tail_node));\n\n(self__.root \x3d (new cljs.core.VectorNode(self__.root.edit,new_root_array)));\n\n(self__.shift \x3d new_shift);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d cljs.core.tv_push_tail(tcoll__$1,self__.shift,self__.root,tail_node);\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt + (1)));\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\n(self__.root.edit \x3d null);\n\nvar len \x3d (self__.cnt - cljs.core.tail_off(tcoll__$1));\nvar trimmed_tail \x3d (new Array(len));\ncljs.core.array_copy(self__.tail,(0),trimmed_tail,(0),len);\n\nreturn (new cljs.core.PersistentVector(null,self__.cnt,self__.shift,self__.root,trimmed_tail,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(typeof key \x3d\x3d\x3d \x27number\x27){\nreturn tcoll__$1.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,key,val);\n} else {\nthrow (new Error(\x22TransientVector\x27s key for assoc! must be a number.\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 \x3d (function (tcoll,n,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nif((cljs.core.tail_off(tcoll__$1) \x3c\x3d n)){\n(self__.tail[(n \x26 (31))] \x3d val);\n\nreturn tcoll__$1;\n} else {\nvar new_root \x3d (function cljs$core$go(level,node){\nvar node__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,node);\nif((level \x3d\x3d\x3d (0))){\ncljs.core.pv_aset(node__$1,(n \x26 (31)),val);\n\nreturn node__$1;\n} else {\nvar subidx \x3d ((n \x3e\x3e\x3e level) \x26 (31));\ncljs.core.pv_aset(node__$1,subidx,cljs$core$go((level - (5)),cljs.core.pv_aget(node__$1,subidx)));\n\nreturn node__$1;\n}\n})(self__.shift,self__.root);\n(self__.root \x3d new_root);\n\nreturn tcoll__$1;\n}\n} else {\nif((n \x3d\x3d\x3d self__.cnt)){\nreturn tcoll__$1.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,val);\n} else {\nthrow (new Error([\x22Index \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 out of bounds for TransientVector of length\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt)].join(\x27\x27)));\n\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.root.edit){\nif((self__.cnt \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Can\x27t pop empty vector\x22));\n} else {\nif(((1) \x3d\x3d\x3d self__.cnt)){\n(self__.cnt \x3d (0));\n\nreturn tcoll__$1;\n} else {\nif((((self__.cnt - (1)) \x26 (31)) \x3e (0))){\n(self__.cnt \x3d (self__.cnt - (1)));\n\nreturn tcoll__$1;\n} else {\nvar new_tail \x3d cljs.core.unchecked_editable_array_for(tcoll__$1,(self__.cnt - (2)));\nvar new_root \x3d (function (){var nr \x3d cljs.core.tv_pop_tail(tcoll__$1,self__.shift,self__.root);\nif((!((nr \x3d\x3d null)))){\nreturn nr;\n} else {\nreturn (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]));\n}\n})();\nif(((((5) \x3c self__.shift)) \x26\x26 ((cljs.core.pv_aget(new_root,(1)) \x3d\x3d null)))){\nvar new_root__$1 \x3d cljs.core.tv_ensure_editable(self__.root.edit,cljs.core.pv_aget(new_root,(0)));\n(self__.root \x3d new_root__$1);\n\n(self__.shift \x3d (self__.shift - (5)));\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n} else {\n(self__.root \x3d new_root);\n\n(self__.cnt \x3d (self__.cnt - (1)));\n\n(self__.tail \x3d new_tail);\n\nreturn tcoll__$1;\n}\n\n}\n}\n}\n} else {\nthrow (new Error(\x22pop! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn self__.cnt;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.root.edit){\nreturn (cljs.core.array_for(coll__$1,n)[(n \x26 (31))]);\n} else {\nthrow (new Error(\x22nth after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,n,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c self__.cnt)))){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$2(null,n);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!(self__.root.edit))){\nthrow (new Error(\x22lookup after persistent!\x22));\n} else {\nif(typeof k \x3d\x3d\x3d \x27number\x27){\nreturn coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.TransientVector.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27784 \x3d (arguments.length - (1));\nswitch (G__27784) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientVector.prototype.apply \x3d (function (self__,args27783){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27783)));\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.TransientVector.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22shift\x22,\x22shift\x22,-1657295705,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientVector.cljs$lang$type \x3d true);\n\n(cljs.core.TransientVector.cljs$lang$ctorStr \x3d \x22cljs.core/TransientVector\x22);\n\n(cljs.core.TransientVector.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientVector\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientVector.\n */\ncljs.core.__GT_TransientVector \x3d (function cljs$core$__GT_TransientVector(cnt,shift,root,tail){\nreturn (new cljs.core.TransientVector(cnt,shift,root,tail));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentQueueIter \x3d (function (fseq,riter){\nthis.fseq \x3d fseq;\nthis.riter \x3d riter;\n});\n(cljs.core.PersistentQueueIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5025__auto__ \x3d (((!((self__.fseq \x3d\x3d null)))) \x26\x26 (cljs.core.seq(self__.fseq)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d (!((self__.riter \x3d\x3d null)));\nif(and__5023__auto__){\nreturn self__.riter.hasNext();\n} else {\nreturn and__5023__auto__;\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.fseq \x3d\x3d null)))){\nvar ret \x3d cljs.core.first(self__.fseq);\n(self__.fseq \x3d cljs.core.next(self__.fseq));\n\nreturn ret;\n} else {\nif((((!((self__.riter \x3d\x3d null)))) \x26\x26 (self__.riter.hasNext()))){\nreturn self__.riter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}));\n\n(cljs.core.PersistentQueueIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.PersistentQueueIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22fseq\x22,\x22fseq\x22,-1466412450,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22riter\x22,\x22riter\x22,-237834262,null)], null);\n}));\n\n(cljs.core.PersistentQueueIter.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueIter\x22);\n\n(cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentQueueIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueIter.\n */\ncljs.core.__GT_PersistentQueueIter \x3d (function cljs$core$__GT_PersistentQueueIter(fseq,riter){\nreturn (new cljs.core.PersistentQueueIter(fseq,riter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueueSeq \x3d (function (meta,front,rear,__hash){\nthis.meta \x3d meta;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31850700;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentQueueSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.indexOf \x3d (function() {\nvar G__31010 \x3d null;\nvar G__31010__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31010__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31010 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31010__1.call(this,x);\ncase 2:\nreturn G__31010__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31010.cljs$core$IFn$_invoke$arity$1 \x3d G__31010__1;\nG__31010.cljs$core$IFn$_invoke$arity$2 \x3d G__31010__2;\nreturn G__31010;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31011 \x3d null;\nvar G__31011__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31011__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31011 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31011__1.call(this,x);\ncase 2:\nreturn G__31011__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31011.cljs$core$IFn$_invoke$arity$1 \x3d G__31011__1;\nG__31011.cljs$core$IFn$_invoke$arity$2 \x3d G__31011__2;\nreturn G__31011;\n})()\n);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5821__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5821__auto__){\nvar f1 \x3d temp__5821__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((!((self__.rear \x3d\x3d null)))){\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5821__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5821__auto__){\nvar f1 \x3d temp__5821__auto__;\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));\n} else {\nif((self__.rear \x3d\x3d null)){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nreturn (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));\n}\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueueSeq(new_meta,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueueSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueueSeq\x22);\n\n(cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentQueueSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueueSeq.\n */\ncljs.core.__GT_PersistentQueueSeq \x3d (function cljs$core$__GT_PersistentQueueSeq(meta,front,rear,__hash){\nreturn (new cljs.core.PersistentQueueSeq(meta,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueueSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.PersistentQueue \x3d (function (meta,count,front,rear,__hash){\nthis.meta \x3d meta;\nthis.count \x3d count;\nthis.front \x3d front;\nthis.rear \x3d rear;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 31858766;\n});\n(cljs.core.PersistentQueue.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentQueue.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.indexOf \x3d (function() {\nvar G__31019 \x3d null;\nvar G__31019__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31019__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31019 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31019__1.call(this,x);\ncase 2:\nreturn G__31019__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31019.cljs$core$IFn$_invoke$arity$1 \x3d G__31019__1;\nG__31019.cljs$core$IFn$_invoke$arity$2 \x3d G__31019__2;\nreturn G__31019;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.lastIndexOf \x3d (function() {\nvar G__31020 \x3d null;\nvar G__31020__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn 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)));\n});\nvar G__31020__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31020 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31020__1.call(this,x);\ncase 2:\nreturn G__31020__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31020.cljs$core$IFn$_invoke$arity$1 \x3d G__31020__1;\nG__31020.cljs$core$IFn$_invoke$arity$2 \x3d G__31020__2;\nreturn G__31020;\n})()\n);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueueIter(self__.front,cljs.core._iterator(self__.rear)));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentQueue(self__.meta,self__.count,self__.front,self__.rear,self__.__hash));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nvar temp__5821__auto__ \x3d cljs.core.next(self__.front);\nif(temp__5821__auto__){\nvar f1 \x3d temp__5821__auto__;\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),f1,self__.rear,null));\n} else {\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),cljs.core.seq(self__.rear),cljs.core.PersistentVector.EMPTY,null));\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.front);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.rest(cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar rear__$1 \x3d cljs.core.seq(self__.rear);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d self__.front;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn rear__$1;\n}\n})())){\nreturn (new cljs.core.PersistentQueueSeq(null,self__.front,cljs.core.seq(rear__$1),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentQueue(new_meta,self__.count,self__.front,self__.rear,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.truth_(self__.front)){\nreturn (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),self__.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d self__.rear;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),o),null));\n} else {\nreturn (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));\n}\n}));\n\n(cljs.core.PersistentQueue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22front\x22,\x22front\x22,117022539,null),new cljs.core.Symbol(null,\x22rear\x22,\x22rear\x22,-900164830,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentQueue.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentQueue\x22);\n\n(cljs.core.PersistentQueue.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentQueue\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentQueue.\n */\ncljs.core.__GT_PersistentQueue \x3d (function cljs$core$__GT_PersistentQueue(meta,count,front,rear,__hash){\nreturn (new cljs.core.PersistentQueue(meta,count,front,rear,__hash));\n});\n\n(cljs.core.PersistentQueue.EMPTY \x3d (new cljs.core.PersistentQueue(null,(0),null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash)));\n(cljs.core.PersistentQueue.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n*/\ncljs.core.NeverEquiv \x3d (function (){\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2097152;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NeverEquiv.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (o,other){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.NeverEquiv.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cljs.core.NeverEquiv.cljs$lang$type \x3d true);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorStr \x3d \x22cljs.core/NeverEquiv\x22);\n\n(cljs.core.NeverEquiv.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/NeverEquiv\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NeverEquiv.\n */\ncljs.core.__GT_NeverEquiv \x3d (function cljs$core$__GT_NeverEquiv(){\nreturn (new cljs.core.NeverEquiv());\n});\n\ncljs.core.never_equiv \x3d (new cljs.core.NeverEquiv());\n/**\n * Test map equivalence. Returns true if x equals y, otherwise returns false.\n */\ncljs.core.equiv_map \x3d (function cljs$core$equiv_map(x,y){\nreturn cljs.core.boolean$(((((cljs.core.map_QMARK_(y)) \x26\x26 ((!(cljs.core.record_QMARK_(y))))))?(((cljs.core.count(x) \x3d\x3d\x3d cljs.core.count(y)))?(((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1048576))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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){\nif(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)){\nreturn true;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,x):cljs.core.every_QMARK_((function (xkv){\nreturn 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));\n}),x)):null):null));\n});\ncljs.core.scan_array \x3d (function cljs$core$scan_array(incr,k,array){\nvar len \x3d array.length;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((k \x3d\x3d\x3d (array[i]))){\nreturn i;\n} else {\nvar G__31031 \x3d (i + incr);\ni \x3d G__31031;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.core.obj_map_compare_keys \x3d (function cljs$core$obj_map_compare_keys(a,b){\nvar a__$1 \x3d cljs.core.hash(a);\nvar b__$1 \x3d cljs.core.hash(b);\nif((a__$1 \x3c b__$1)){\nreturn (-1);\n} else {\nif((a__$1 \x3e b__$1)){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\ncljs.core.obj_map__GT_hash_map \x3d (function cljs$core$obj_map__GT_hash_map(m,k,v){\nvar ks \x3d m.keys;\nvar len \x3d ks.length;\nvar so \x3d m.strobj;\nvar mm \x3d cljs.core.meta(m);\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar k__$1 \x3d (ks[i]);\nvar G__31032 \x3d (i + (1));\nvar G__31033 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k__$1,cljs.core.goog$module$goog$object.get(so,k__$1));\ni \x3d G__31032;\nout \x3d G__31033;\ncontinue;\n} else {\nreturn cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k,v)),mm);\n}\nbreak;\n}\n});\ncljs.core.obj_clone \x3d (function cljs$core$obj_clone(obj,ks){\nvar new_obj \x3d ({});\nvar l \x3d ks.length;\nvar i_31034 \x3d (0);\nwhile(true){\nif((i_31034 \x3c l)){\nvar k_31035 \x3d (ks[i_31034]);\ncljs.core.goog$module$goog$object.set(new_obj,k_31035,cljs.core.goog$module$goog$object.get(obj,k_31035));\n\nvar G__31036 \x3d (i_31034 + (1));\ni_31034 \x3d G__31036;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn new_obj;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.ObjMap \x3d (function (meta,keys,strobj,update_count,__hash){\nthis.meta \x3d meta;\nthis.keys \x3d keys;\nthis.strobj \x3d strobj;\nthis.update_count \x3d update_count;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4;\n});\n(cljs.core.ObjMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (new cljs.core.MapEntry(k,(self__.strobj[k]),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ObjMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn (self__.strobj[k]);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.keys.length;\nvar keys__$1 \x3d self__.keys.sort(cljs.core.obj_map_compare_keys);\nvar init__$1 \x3d init;\nwhile(true){\nif(cljs.core.seq(keys__$1)){\nvar k \x3d cljs.core.first(keys__$1);\nvar init__$2 \x3d (function (){var G__27790 \x3d init__$1;\nvar G__27791 \x3d k;\nvar G__27792 \x3d (self__.strobj[k]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27790,G__27791,G__27792) : f.call(null,G__27790,G__27791,G__27792));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31040 \x3d cljs.core.rest(keys__$1);\nvar G__31041 \x3d init__$2;\nkeys__$1 \x3d G__31040;\ninit__$1 \x3d G__31041;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.keys.length;\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.ObjMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nvar new_keys \x3d cljs.core.aclone(self__.keys);\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nnew_keys.splice(cljs.core.scan_array((1),k,new_keys),(1));\n\ndelete new_strobj[k];\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nif((((self__.update_count \x3e cljs.core.ObjMap.HASHMAP_THRESHOLD)) || ((self__.keys.length \x3e\x3d cljs.core.ObjMap.HASHMAP_THRESHOLD)))){\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n} else {\nif((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))){\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nreturn (new cljs.core.ObjMap(self__.meta,self__.keys,new_strobj,(self__.update_count + (1)),null));\n} else {\nvar new_strobj \x3d cljs.core.obj_clone(self__.strobj,self__.keys);\nvar new_keys \x3d cljs.core.aclone(self__.keys);\ncljs.core.goog$module$goog$object.set(new_strobj,k,v);\n\nnew_keys.push(k);\n\nreturn (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));\n}\n}\n} else {\nreturn cljs.core.obj_map__GT_hash_map(coll__$1,k,v);\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((typeof k \x3d\x3d\x3d \x27string\x27) \x26\x26 ((!((cljs.core.scan_array((1),k,self__.keys) \x3d\x3d null)))))){\nreturn true;\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.keys.length \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__27788_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__27788_SHARP_,(self__.strobj[p1__27788_SHARP_])],null));\n}),self__.keys.sort(cljs.core.obj_map_compare_keys));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ObjMap(new_meta,self__.keys,self__.strobj,self__.update_count,self__.__hash));\n}\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,coll__$1,entry);\n}\n}));\n\n(cljs.core.ObjMap.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27793 \x3d (arguments.length - (1));\nswitch (G__27793) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.ObjMap.prototype.apply \x3d (function (self__,args27789){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27789)));\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.ObjMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22strobj\x22,\x22strobj\x22,1088091283,null),new cljs.core.Symbol(null,\x22update-count\x22,\x22update-count\x22,-411982269,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ObjMap.cljs$lang$type \x3d true);\n\n(cljs.core.ObjMap.cljs$lang$ctorStr \x3d \x22cljs.core/ObjMap\x22);\n\n(cljs.core.ObjMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ObjMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ObjMap.\n */\ncljs.core.__GT_ObjMap \x3d (function cljs$core$__GT_ObjMap(meta,keys,strobj,update_count,__hash){\nreturn (new cljs.core.ObjMap(meta,keys,strobj,update_count,__hash));\n});\n\n(cljs.core.ObjMap.EMPTY \x3d (new cljs.core.ObjMap(null,[],({}),(0),cljs.core.empty_unordered_hash)));\n(cljs.core.ObjMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.ObjMap.fromObject \x3d (function (ks,obj){\nreturn (new cljs.core.ObjMap(null,ks,obj,(0),null));\n}));\n\n/**\n* @constructor\n*/\ncljs.core.RecordIter \x3d (function (i,record,base_count,fields,ext_map_iter){\nthis.i \x3d i;\nthis.record \x3d record;\nthis.base_count \x3d base_count;\nthis.fields \x3d fields;\nthis.ext_map_iter \x3d ext_map_iter;\n});\n(cljs.core.RecordIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar or__5025__auto__ \x3d (self__.i \x3c self__.base_count);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn self__.ext_map_iter.hasNext();\n}\n}));\n\n(cljs.core.RecordIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.i \x3c self__.base_count)){\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(self__.fields,self__.i);\n(self__.i \x3d (self__.i + (1)));\n\nreturn (new cljs.core.MapEntry(k,cljs.core._lookup(self__.record,k),null));\n} else {\nreturn self__.ext_map_iter.next();\n}\n}));\n\n(cljs.core.RecordIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.RecordIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22record\x22,\x22record\x22,861424668,null),new cljs.core.Symbol(null,\x22base-count\x22,\x22base-count\x22,-1180647182,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22ext-map-iter\x22,\x22ext-map-iter\x22,-1215982757,null)], null);\n}));\n\n(cljs.core.RecordIter.cljs$lang$type \x3d true);\n\n(cljs.core.RecordIter.cljs$lang$ctorStr \x3d \x22cljs.core/RecordIter\x22);\n\n(cljs.core.RecordIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RecordIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RecordIter.\n */\ncljs.core.__GT_RecordIter \x3d (function cljs$core$__GT_RecordIter(i,record,base_count,fields,ext_map_iter){\nreturn (new cljs.core.RecordIter(i,record,base_count,fields,ext_map_iter));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.ES6EntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6EntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar vec__27796 \x3d cljs.core.first(self__.s);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27796,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27796,(1),null);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [k,v], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6EntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6EntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6EntriesIterator\x22);\n\n(cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6EntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6EntriesIterator.\n */\ncljs.core.__GT_ES6EntriesIterator \x3d (function cljs$core$__GT_ES6EntriesIterator(s){\nreturn (new cljs.core.ES6EntriesIterator(s));\n});\n\ncljs.core.es6_entries_iterator \x3d (function cljs$core$es6_entries_iterator(coll){\nreturn (new cljs.core.ES6EntriesIterator(cljs.core.seq(coll)));\n});\n\n/**\n* @constructor\n*/\ncljs.core.ES6SetEntriesIterator \x3d (function (s){\nthis.s \x3d s;\n});\n(cljs.core.ES6SetEntriesIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!((self__.s \x3d\x3d null)))){\nvar x \x3d cljs.core.first(self__.s);\n(self__.s \x3d cljs.core.next(self__.s));\n\nreturn ({\x22value\x22: [x,x], \x22done\x22: false});\n} else {\nreturn ({\x22value\x22: null, \x22done\x22: true});\n}\n}));\n\n(cljs.core.ES6SetEntriesIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ES6SetEntriesIterator\x22);\n\n(cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ES6SetEntriesIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ES6SetEntriesIterator.\n */\ncljs.core.__GT_ES6SetEntriesIterator \x3d (function cljs$core$__GT_ES6SetEntriesIterator(s){\nreturn (new cljs.core.ES6SetEntriesIterator(s));\n});\n\ncljs.core.es6_set_entries_iterator \x3d (function cljs$core$es6_set_entries_iterator(coll){\nreturn (new cljs.core.ES6SetEntriesIterator(cljs.core.seq(coll)));\n});\ncljs.core.array_index_of_nil_QMARK_ \x3d (function cljs$core$array_index_of_nil_QMARK_(arr){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((arr[i]) \x3d\x3d null)){\nreturn i;\n} else {\nvar G__31053 \x3d (i + (2));\ni \x3d G__31053;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_keyword_QMARK_ \x3d (function cljs$core$array_index_of_keyword_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.fqn;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Keyword)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).fqn)))){\nreturn i;\n} else {\nvar G__31054 \x3d (i + (2));\ni \x3d G__31054;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_symbol_QMARK_ \x3d (function cljs$core$array_index_of_symbol_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar kstr \x3d k.str;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(((((arr[i]) instanceof cljs.core.Symbol)) \x26\x26 ((kstr \x3d\x3d\x3d (arr[i]).str)))){\nreturn i;\n} else {\nvar G__31055 \x3d (i + (2));\ni \x3d G__31055;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_identical_QMARK_ \x3d (function cljs$core$array_index_of_identical_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif((k \x3d\x3d\x3d (arr[i]))){\nreturn i;\n} else {\nvar G__31056 \x3d (i + (2));\ni \x3d G__31056;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of_equiv_QMARK_ \x3d (function cljs$core$array_index_of_equiv_QMARK_(arr,k){\nvar len \x3d arr.length;\nvar i \x3d (0);\nwhile(true){\nif((len \x3c\x3d i)){\nreturn (-1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(arr[i]))){\nreturn i;\n} else {\nvar G__31057 \x3d (i + (2));\ni \x3d G__31057;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.core.array_index_of \x3d (function cljs$core$array_index_of(arr,k){\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.array_index_of_keyword_QMARK_(arr,k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (typeof k \x3d\x3d\x3d \x27number\x27))){\nreturn cljs.core.array_index_of_identical_QMARK_(arr,k);\n} else {\nif((k instanceof cljs.core.Symbol)){\nreturn cljs.core.array_index_of_symbol_QMARK_(arr,k);\n} else {\nif((k \x3d\x3d null)){\nreturn cljs.core.array_index_of_nil_QMARK_(arr);\n} else {\nreturn cljs.core.array_index_of_equiv_QMARK_(arr,k);\n\n}\n}\n}\n}\n});\ncljs.core.array_map_index_of \x3d (function cljs$core$array_map_index_of(m,k){\nreturn cljs.core.array_index_of(m.arr,k);\n});\ncljs.core.array_extend_kv \x3d (function cljs$core$array_extend_kv(arr,k,v){\nvar l \x3d arr.length;\nvar narr \x3d (new Array((l + (2))));\nvar i_31058 \x3d (0);\nwhile(true){\nif((i_31058 \x3c l)){\n(narr[i_31058] \x3d (arr[i_31058]));\n\nvar G__31059 \x3d (i_31058 + (1));\ni_31058 \x3d G__31059;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(narr[l] \x3d k);\n\n(narr[(l + (1))] \x3d v);\n\nreturn narr;\n});\ncljs.core.array_map_extend_kv \x3d (function cljs$core$array_map_extend_kv(m,k,v){\nreturn cljs.core.array_extend_kv(m.arr,k,v);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.MapEntry \x3d (function (key,val,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.MapEntry.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__27800 \x3d k;\nswitch (G__27800) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.indexOf \x3d (function() {\nvar G__31061 \x3d null;\nvar G__31061__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31061__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31061 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31061__1.call(this,x);\ncase 2:\nreturn G__31061__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31061.cljs$core$IFn$_invoke$arity$1 \x3d G__31061__1;\nG__31061.cljs$core$IFn$_invoke$arity$2 \x3d G__31061__2;\nreturn G__31061;\n})()\n);\n\n(cljs.core.MapEntry.prototype.lastIndexOf \x3d (function() {\nvar G__31062 \x3d null;\nvar G__31062__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31062__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31062 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31062__1.call(this,x);\ncase 2:\nreturn G__31062__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31062.cljs$core$IFn$_invoke$arity$1 \x3d G__31062__1;\nG__31062.cljs$core$IFn$_invoke$arity$2 \x3d G__31062__2;\nreturn G__31062;\n})()\n);\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn 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);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn 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);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.MapEntry.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27801 \x3d (arguments.length - (1));\nswitch (G__27801) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MapEntry.prototype.apply \x3d (function (self__,args27799){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27799)));\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.MapEntry.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.MapEntry.cljs$lang$type \x3d true);\n\n(cljs.core.MapEntry.cljs$lang$ctorStr \x3d \x22cljs.core/MapEntry\x22);\n\n(cljs.core.MapEntry.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MapEntry\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MapEntry.\n */\ncljs.core.__GT_MapEntry \x3d (function cljs$core$__GT_MapEntry(key,val,__hash){\nreturn (new cljs.core.MapEntry(key,val,__hash));\n});\n\n/**\n * Returns true if x satisfies IMapEntry\n */\ncljs.core.map_entry_QMARK_ \x3d (function cljs$core$map_entry_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (2048))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMapEntry$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMapSeq \x3d (function (arr,i,_meta){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 262144;\n});\n(cljs.core.PersistentArrayMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.indexOf \x3d (function() {\nvar G__31070 \x3d null;\nvar G__31070__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31070__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31070 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31070__1.call(this,x);\ncase 2:\nreturn G__31070__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31070.cljs$core$IFn$_invoke$arity$1 \x3d G__31070__1;\nG__31070.cljs$core$IFn$_invoke$arity$2 \x3d G__31070__2;\nreturn G__31070;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31071 \x3d null;\nvar G__31071__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31071__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31071 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31071__1.call(this,x);\ncase 2:\nreturn G__31071__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31071.cljs$core$IFn$_invoke$arity$1 \x3d G__31071__1;\nG__31071.cljs$core$IFn$_invoke$arity$2 \x3d G__31071__2;\nreturn G__31071;\n})()\n);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn ((self__.arr.length - self__.i) / (2));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.i \x3c (self__.arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,self__.i,new_meta));\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((n \x3c coll__$1.cljs$core$ICounted$_count$arity$1(null))){\nreturn (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + ((2) * n)),null));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentArrayMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapSeq\x22);\n\n(cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentArrayMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapSeq.\n */\ncljs.core.__GT_PersistentArrayMapSeq \x3d (function cljs$core$__GT_PersistentArrayMapSeq(arr,i,_meta){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n});\n\n(cljs.core.PersistentArrayMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.persistent_array_map_seq \x3d (function cljs$core$persistent_array_map_seq(arr,i,_meta){\nif((i \x3c\x3d (arr.length - (2)))){\nreturn (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));\n} else {\nreturn null;\n}\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.PersistentArrayMapIterator \x3d (function (arr,i,cnt){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.cnt \x3d cnt;\n});\n(cljs.core.PersistentArrayMapIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.i \x3c self__.cnt);\n}));\n\n(cljs.core.PersistentArrayMapIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d (new cljs.core.MapEntry((self__.arr[self__.i]),(self__.arr[(self__.i + (1))]),null));\n(self__.i \x3d (self__.i + (2)));\n\nreturn ret;\n}));\n\n(cljs.core.PersistentArrayMapIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null)], null);\n}));\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMapIterator\x22);\n\n(cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentArrayMapIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMapIterator.\n */\ncljs.core.__GT_PersistentArrayMapIterator \x3d (function cljs$core$__GT_PersistentArrayMapIterator(arr,i,cnt){\nreturn (new cljs.core.PersistentArrayMapIterator(arr,i,cnt));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentArrayMap \x3d (function (meta,cnt,arr,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16647951;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 401412;\n});\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn null;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27804 \x3d cljs.core.seq(coll);\nvar chunk__27805 \x3d null;\nvar count__27806 \x3d (0);\nvar i__27807 \x3d (0);\nwhile(true){\nif((i__27807 \x3c count__27806)){\nvar vec__27814 \x3d chunk__27805.cljs$core$IIndexed$_nth$arity$2(null,i__27807);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27814,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27814,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31083 \x3d seq__27804;\nvar G__31084 \x3d chunk__27805;\nvar G__31085 \x3d count__27806;\nvar G__31086 \x3d (i__27807 + (1));\nseq__27804 \x3d G__31083;\nchunk__27805 \x3d G__31084;\ncount__27806 \x3d G__31085;\ni__27807 \x3d G__31086;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__27804);\nif(temp__5823__auto__){\nvar seq__27804__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27804__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27804__$1);\nvar G__31087 \x3d cljs.core.chunk_rest(seq__27804__$1);\nvar G__31088 \x3d c__5548__auto__;\nvar G__31089 \x3d cljs.core.count(c__5548__auto__);\nvar G__31090 \x3d (0);\nseq__27804 \x3d G__31087;\nchunk__27805 \x3d G__31088;\ncount__27806 \x3d G__31089;\ni__27807 \x3d G__31090;\ncontinue;\n} else {\nvar vec__27817 \x3d cljs.core.first(seq__27804__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27817,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27817,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31094 \x3d cljs.core.next(seq__27804__$1);\nvar G__31095 \x3d null;\nvar G__31096 \x3d (0);\nvar G__31097 \x3d (0);\nseq__27804 \x3d G__31094;\nchunk__27805 \x3d G__31095;\ncount__27806 \x3d G__31096;\ni__27807 \x3d G__31097;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var G__27820 \x3d init__$1;\nvar G__27821 \x3d (self__.arr[i]);\nvar G__27822 \x3d (self__.arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27820,G__27821,G__27822) : f.call(null,G__27820,G__27821,G__27822));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn cljs.core.deref(init__$2);\n} else {\nvar G__31102 \x3d (i + (2));\nvar G__31103 \x3d init__$2;\ni \x3d G__31102;\ninit__$1 \x3d G__31103;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMapIterator(self__.arr,(0),(self__.cnt * (2))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,self__.arr,self__.__hash));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(((cljs.core.map_QMARK_(other)) \x26\x26 ((!(cljs.core.record_QMARK_(other)))))){\nvar alen \x3d self__.arr.length;\nvar other__$1 \x3d other;\nif((self__.cnt \x3d\x3d\x3d other__$1.cljs$core$ICounted$_count$arity$1(null))){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c alen)){\nvar v \x3d other__$1.cljs$core$ILookup$_lookup$arity$3(null,(self__.arr[i]),cljs.core.lookup_sentinel);\nif((!((v \x3d\x3d\x3d cljs.core.lookup_sentinel)))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(i + (1))]),v)){\nvar G__31107 \x3d (i + (2));\ni \x3d G__31107;\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientArrayMap(({}),self__.arr.length,cljs.core.aclone(self__.arr)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,start);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3e\x3d (0))){\nvar len \x3d self__.arr.length;\nvar new_len \x3d (len - (2));\nif((new_len \x3d\x3d\x3d (0))){\nreturn coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);\n} else {\nvar new_arr \x3d (new Array(new_len));\nvar s \x3d (0);\nvar d \x3d (0);\nwhile(true){\nif((s \x3e\x3d len)){\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt - (1)),new_arr,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(self__.arr[s]))){\nvar G__31108 \x3d (s + (2));\nvar G__31109 \x3d d;\ns \x3d G__31108;\nd \x3d G__31109;\ncontinue;\n} else {\n(new_arr[d] \x3d (self__.arr[s]));\n\n(new_arr[(d + (1))] \x3d (self__.arr[(s + (1))]));\n\nvar G__31110 \x3d (s + (2));\nvar G__31111 \x3d (d + (2));\ns \x3d G__31110;\nd \x3d G__31111;\ncontinue;\n\n}\n}\nbreak;\n}\n}\n} else {\nreturn coll__$1;\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar idx \x3d cljs.core.array_map_index_of(coll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.cnt \x3c cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr__$1 \x3d cljs.core.array_map_extend_kv(coll__$1,k,v);\nreturn (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt + (1)),arr__$1,null));\n} else {\nreturn 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);\n}\n} else {\nif((v \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn coll__$1;\n} else {\nvar arr__$1 \x3d (function (){var G__27825 \x3d cljs.core.aclone(self__.arr);\n(G__27825[(idx + (1))] \x3d v);\n\nreturn G__27825;\n})();\nreturn (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,arr__$1,null));\n\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((cljs.core.array_map_index_of(coll__$1,k) \x3d\x3d\x3d (-1))));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.persistent_array_map_seq(self__.arr,(0),null);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentArrayMap(new_meta,self__.cnt,self__.arr,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__31112 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__31113 \x3d cljs.core.next(es);\nret \x3d G__31112;\nes \x3d G__31113;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27826 \x3d (arguments.length - (1));\nswitch (G__27826) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentArrayMap.prototype.apply \x3d (function (self__,args27803){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27803)));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (coll,n){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5827__auto__ \x3d coll__$1.cljs$core$ISeqable$_seq$arity$1(null);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar s \x3d temp__5827__auto__;\nreturn cljs.core._drop(s,n);\n}\n}));\n\n(cljs.core.PersistentArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentArrayMap\x22);\n\n(cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentArrayMap.\n */\ncljs.core.__GT_PersistentArrayMap \x3d (function cljs$core$__GT_PersistentArrayMap(meta,cnt,arr,__hash){\nreturn (new cljs.core.PersistentArrayMap(meta,cnt,arr,__hash));\n});\n\n(cljs.core.PersistentArrayMap.EMPTY \x3d (new cljs.core.PersistentArrayMap(null,(0),[],cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD \x3d (8));\n(cljs.core.PersistentArrayMap.fromArray \x3d (function (arr,no_clone,no_check){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar arr__$2 \x3d ((no_check)?arr__$1:(function (){var ret \x3d [];\nvar i_31128 \x3d (0);\nwhile(true){\nif((i_31128 \x3c arr__$1.length)){\nvar k_31129 \x3d (arr__$1[i_31128]);\nvar v_31130 \x3d (arr__$1[(i_31128 + (1))]);\nvar idx_31131 \x3d cljs.core.array_index_of(ret,k_31129);\nif((idx_31131 \x3d\x3d\x3d (-1))){\nret.push(k_31129);\n\nret.push(v_31130);\n} else {\n}\n\nvar G__31132 \x3d (i_31128 + (2));\ni_31128 \x3d G__31132;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn ret;\n})());\nvar cnt \x3d (arr__$2.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr__$2,null));\n}));\n(cljs.core.PersistentArrayMap.createWithCheck \x3d (function (arr){\nvar ret \x3d [];\nvar i_31133 \x3d (0);\nwhile(true){\nif((i_31133 \x3c arr.length)){\nvar k_31134 \x3d (arr[i_31133]);\nvar v_31135 \x3d (arr[(i_31133 + (1))]);\nvar idx_31136 \x3d cljs.core.array_index_of(ret,k_31134);\nif((idx_31136 \x3d\x3d\x3d (-1))){\nvar G__27827_31137 \x3d ret;\nG__27827_31137.push(k_31134);\n\nG__27827_31137.push(v_31135);\n\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_31134)].join(\x27\x27)));\n}\n\nvar G__31138 \x3d (i_31133 + (2));\ni_31133 \x3d G__31138;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar cnt \x3d (arr.length / (2));\nreturn (new cljs.core.PersistentArrayMap(null,cnt,arr,null));\n}));\ncljs.core.key_test \x3d (function cljs$core$key_test(key,other){\nif((key \x3d\x3d\x3d other)){\nreturn true;\n} else {\nif(cljs.core.keyword_identical_QMARK_(key,other)){\nreturn true;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,other);\n\n}\n}\n});\ncljs.core.pam_dupes_QMARK_ \x3d (function cljs$core$pam_dupes_QMARK_(arr){\nvar i \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5025__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31139 \x3d ((2) + j);\nj \x3d G__31139;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar or__5025__auto__ \x3d dupe_QMARK_;\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31140 \x3d ((2) + i);\ni \x3d G__31140;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n});\ncljs.core.pam_new_size \x3d (function cljs$core$pam_new_size(arr){\nvar i \x3d (0);\nvar n \x3d (0);\nwhile(true){\nif((i \x3c arr.length)){\nvar dupe_QMARK_ \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c i)){\nvar or__5025__auto__ \x3d cljs.core.key_test((arr[i]),(arr[j]));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31141 \x3d ((2) + j);\nj \x3d G__31141;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nvar G__31142 \x3d ((2) + i);\nvar G__31143 \x3d ((dupe_QMARK_)?n:(n + (2)));\ni \x3d G__31142;\nn \x3d G__31143;\ncontinue;\n} else {\nreturn n;\n}\nbreak;\n}\n});\ncljs.core.pam_grow_seed_array \x3d (function cljs$core$pam_grow_seed_array(seed,trailing){\nvar seed_cnt \x3d (seed.length - (1));\nvar extra_kvs \x3d cljs.core.seq(trailing);\nvar ret \x3d (new Array((seed_cnt + ((2) * cljs.core.count(extra_kvs)))));\nvar ret__$1 \x3d cljs.core.array_copy(seed,(0),ret,(0),seed_cnt);\nvar i \x3d seed_cnt;\nvar extra_kvs__$1 \x3d extra_kvs;\nwhile(true){\nif(extra_kvs__$1){\nvar kv \x3d cljs.core.first(extra_kvs__$1);\n(ret__$1[i] \x3d cljs.core._key(kv));\n\n(ret__$1[(i + (1))] \x3d cljs.core._val(kv));\n\nvar G__31144 \x3d ((2) + i);\nvar G__31145 \x3d cljs.core.next(extra_kvs__$1);\ni \x3d G__31144;\nextra_kvs__$1 \x3d G__31145;\ncontinue;\n} else {\nreturn ret__$1;\n}\nbreak;\n}\n});\n(cljs.core.PersistentArrayMap.createAsIfByAssoc \x3d (function (init){\nvar len \x3d init.length;\nvar has_trailing_QMARK_ \x3d ((1) \x3d\x3d\x3d (len \x26 (1)));\nif((!(((has_trailing_QMARK_) || (cljs.core.pam_dupes_QMARK_(init)))))){\nreturn (new cljs.core.PersistentArrayMap(null,(len / (2)),init,null));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath(init,has_trailing_QMARK_);\n}\n}));\n(cljs.core.PersistentArrayMap.createAsIfByAssocComplexPath \x3d (function (init,has_trailing_QMARK_){\nvar init__$1 \x3d ((has_trailing_QMARK_)?cljs.core.pam_grow_seed_array(init,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(init[(init.length - (1))]))):init);\nvar n \x3d cljs.core.pam_new_size(init__$1);\nvar len \x3d init__$1.length;\nif((n \x3c len)){\nvar nodups \x3d (new Array(n));\nvar i_31146 \x3d (0);\nvar m_31147 \x3d (0);\nwhile(true){\nif((i_31146 \x3c len)){\nvar dupe_QMARK__31148 \x3d (function (){var j \x3d (0);\nwhile(true){\nif((j \x3c m_31147)){\nvar or__5025__auto__ \x3d cljs.core.key_test((init__$1[i_31146]),(init__$1[j]));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar G__31149 \x3d ((2) + j);\nj \x3d G__31149;\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n})();\nif((!(dupe_QMARK__31148))){\nvar j_31150 \x3d (function (){var j_31150 \x3d (len - (2));\nwhile(true){\nif((j_31150 \x3e\x3d i_31146)){\nif(cljs.core.key_test((init__$1[i_31146]),(init__$1[j_31150]))){\nreturn j_31150;\n} else {\nvar G__31151 \x3d (j_31150 - (2));\nj_31150 \x3d G__31151;\ncontinue;\n}\n} else {\nreturn j_31150;\n}\nbreak;\n}\n})();\n(nodups[m_31147] \x3d (init__$1[i_31146]));\n\n(nodups[(m_31147 + (1))] \x3d (init__$1[(j_31150 + (1))]));\n\nvar G__31152 \x3d ((2) + i_31146);\nvar G__31153 \x3d ((2) + m_31147);\ni_31146 \x3d G__31152;\nm_31147 \x3d G__31153;\ncontinue;\n} else {\nvar G__31154 \x3d ((2) + i_31146);\nvar G__31155 \x3d m_31147;\ni_31146 \x3d G__31154;\nm_31147 \x3d G__31155;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.PersistentArrayMap(null,(nodups.length / (2)),nodups,null));\n} else {\nreturn (new cljs.core.PersistentArrayMap(null,(init__$1.length / (2)),init__$1,null));\n}\n}));\n(cljs.core.PersistentArrayMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientArrayMap \x3d (function (editable_QMARK_,len,arr){\nthis.editable_QMARK_ \x3d editable_QMARK_;\nthis.len \x3d len;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nreturn cljs.core.quot(self__.len,(2));\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,k);\nif((idx \x3d\x3d\x3d (-1))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n}\n} else {\nthrow (new Error(\x22lookup after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$2 \x3d tcoll__$1;\nwhile(true){\nvar temp__5821__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar e \x3d temp__5821__auto__;\nvar G__31156 \x3d cljs.core.next(es);\nvar G__31157 \x3d cljs.core._assoc_BANG_(tcoll__$2,(cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__31156;\ntcoll__$2 \x3d G__31157;\ncontinue;\n} else {\nreturn tcoll__$2;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\n(self__.editable_QMARK_ \x3d false);\n\nreturn (new cljs.core.PersistentArrayMap(null,cljs.core.quot(self__.len,(2)),self__.arr,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3d\x3d\x3d (-1))){\nif(((self__.len + (2)) \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\n(self__.len \x3d (self__.len + (2)));\n\nself__.arr.push(key);\n\nself__.arr.push(val);\n\nreturn tcoll__$1;\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2 ? cljs.core.array__GT_transient_hash_map.cljs$core$IFn$_invoke$arity$2(self__.len,self__.arr) : cljs.core.array__GT_transient_hash_map.call(null,self__.len,self__.arr)),key,val);\n}\n} else {\nif((val \x3d\x3d\x3d (self__.arr[(idx + (1))]))){\nreturn tcoll__$1;\n} else {\n(self__.arr[(idx + (1))] \x3d val);\n\nreturn tcoll__$1;\n}\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif(self__.editable_QMARK_){\nvar idx \x3d cljs.core.array_map_index_of(tcoll__$1,key);\nif((idx \x3e\x3d (0))){\n(self__.arr[idx] \x3d (self__.arr[(self__.len - (2))]));\n\n(self__.arr[(idx + (1))] \x3d (self__.arr[(self__.len - (1))]));\n\nvar G__27829_31158 \x3d self__.arr;\nG__27829_31158.pop();\n\nG__27829_31158.pop();\n\n\n(self__.len \x3d (self__.len - (2)));\n} else {\n}\n\nreturn tcoll__$1;\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27830 \x3d (arguments.length - (1));\nswitch (G__27830) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientArrayMap.prototype.apply \x3d (function (self__,args27828){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27828)));\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,null);\n}));\n\n(cljs.core.TransientArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientArrayMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22editable?\x22,\x22editable?\x22,-164945806,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22len\x22,\x22len\x22,-1230778691,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null)], null);\n}));\n\n(cljs.core.TransientArrayMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientArrayMap\x22);\n\n(cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientArrayMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientArrayMap.\n */\ncljs.core.__GT_TransientArrayMap \x3d (function cljs$core$__GT_TransientArrayMap(editable_QMARK_,len,arr){\nreturn (new cljs.core.TransientArrayMap(editable_QMARK_,len,arr));\n});\n\ncljs.core.array__GT_transient_hash_map \x3d (function cljs$core$array__GT_transient_hash_map(len,arr){\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c len)){\nvar G__31173 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,(arr[i]),(arr[(i + (1))]));\nvar G__31174 \x3d (i + (2));\nout \x3d G__31173;\ni \x3d G__31174;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.Box \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.core.Box.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Box.cljs$lang$type \x3d true);\n\n(cljs.core.Box.cljs$lang$ctorStr \x3d \x22cljs.core/Box\x22);\n\n(cljs.core.Box.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Box\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Box.\n */\ncljs.core.__GT_Box \x3d (function cljs$core$__GT_Box(val){\nreturn (new cljs.core.Box(val));\n});\n\n\n\ncljs.core.mask \x3d (function cljs$core$mask(hash,shift){\nreturn ((hash \x3e\x3e\x3e shift) \x26 (31));\n});\ncljs.core.clone_and_set \x3d (function cljs$core$clone_and_set(var_args){\nvar G__27832 \x3d arguments.length;\nswitch (G__27832) {\ncase 3:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3 \x3d (function (arr,i,a){\nvar G__27833 \x3d cljs.core.aclone(arr);\n(G__27833[i] \x3d a);\n\nreturn G__27833;\n}));\n\n(cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5 \x3d (function (arr,i,a,j,b){\nvar G__27834 \x3d cljs.core.aclone(arr);\n(G__27834[i] \x3d a);\n\n(G__27834[j] \x3d b);\n\nreturn G__27834;\n}));\n\n(cljs.core.clone_and_set.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.core.remove_pair \x3d (function cljs$core$remove_pair(arr,i){\nvar new_arr \x3d (new Array((arr.length - (2))));\ncljs.core.array_copy(arr,(0),new_arr,(0),((2) * i));\n\ncljs.core.array_copy(arr,((2) * (i + (1))),new_arr,((2) * i),(new_arr.length - ((2) * i)));\n\nreturn new_arr;\n});\ncljs.core.bitmap_indexed_node_index \x3d (function cljs$core$bitmap_indexed_node_index(bitmap,bit){\nreturn cljs.core.bit_count((bitmap \x26 (bit - (1))));\n});\ncljs.core.bitpos \x3d (function cljs$core$bitpos(hash,shift){\nreturn ((1) \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\n});\ncljs.core.edit_and_set \x3d (function cljs$core$edit_and_set(var_args){\nvar G__27836 \x3d arguments.length;\nswitch (G__27836) {\ncase 4:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 6:\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4 \x3d (function (inode,edit,i,a){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6 \x3d (function (inode,edit,i,a,j,b){\nvar editable \x3d inode.ensure_editable(edit);\n(editable.arr[i] \x3d a);\n\n(editable.arr[j] \x3d b);\n\nreturn editable;\n}));\n\n(cljs.core.edit_and_set.cljs$lang$maxFixedArity \x3d 6);\n\ncljs.core.inode_kv_reduce \x3d (function cljs$core$inode_kv_reduce(arr,f,init){\nvar len \x3d arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar init__$2 \x3d (function (){var k \x3d (arr[i]);\nif((!((k \x3d\x3d null)))){\nvar G__27837 \x3d init__$1;\nvar G__27838 \x3d k;\nvar G__27839 \x3d (arr[(i + (1))]);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27837,G__27838,G__27839) : f.call(null,G__27837,G__27838,G__27839));\n} else {\nvar node \x3d (arr[(i + (1))]);\nif((!((node \x3d\x3d null)))){\nreturn node.kv_reduce(f,init__$1);\n} else {\nreturn init__$1;\n}\n}\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__31181 \x3d (i + (2));\nvar G__31182 \x3d init__$2;\ni \x3d G__31181;\ninit__$1 \x3d G__31182;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.NodeIterator \x3d (function (arr,i,next_entry,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_entry \x3d next_entry;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.NodeIterator.prototype.advance \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((self__.i \x3c len)){\nvar key \x3d (self__.arr[self__.i]);\nvar node_or_val \x3d (self__.arr[(self__.i + (1))]);\nvar found \x3d (((!((key \x3d\x3d null))))?(self__.next_entry \x3d (new cljs.core.MapEntry(key,node_or_val,null))):(((!((node_or_val \x3d\x3d null))))?(function (){var new_iter \x3d cljs.core._iterator(node_or_val);\nif(new_iter.hasNext()){\nreturn (self__.next_iter \x3d new_iter);\n} else {\nreturn false;\n}\n})():false\n));\n(self__.i \x3d (self__.i + (2)));\n\nif(found){\nreturn true;\n} else {\ncontinue;\n}\n} else {\nreturn false;\n}\nbreak;\n}\n}));\n\n(cljs.core.NodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar or__5025__auto__ \x3d (!((self__.next_entry \x3d\x3d null)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (!((self__.next_iter \x3d\x3d null)));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn this$.advance();\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((!((self__.next_entry \x3d\x3d null)))){\nvar ret \x3d self__.next_entry;\n(self__.next_entry \x3d null);\n\nreturn ret;\n} else {\nif((!((self__.next_iter \x3d\x3d null)))){\nvar ret \x3d self__.next_iter.next();\nif(self__.next_iter.hasNext()){\n} else {\n(self__.next_iter \x3d null);\n}\n\nreturn ret;\n} else {\nif(this$.advance()){\nreturn this$.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n\n}\n}\n}\n}));\n\n(cljs.core.NodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.NodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-entry\x22,\x22next-entry\x22,1091342476,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.NodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/NodeIterator\x22);\n\n(cljs.core.NodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/NodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeIterator.\n */\ncljs.core.__GT_NodeIterator \x3d (function cljs$core$__GT_NodeIterator(arr,i,next_entry,next_iter){\nreturn (new cljs.core.NodeIterator(arr,i,next_entry,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.BitmapIndexedNode \x3d (function (edit,bitmap,arr){\nthis.edit \x3d edit;\nthis.bitmap \x3d bitmap;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.BitmapIndexedNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nvar new_arr \x3d (new Array((((n \x3c (0)))?(4):((2) * (n + (1))))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * n));\n\nreturn (new cljs.core.BitmapIndexedNode(e,self__.bitmap,new_arr));\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\n(removed_leaf_QMARK_.val \x3d true);\n\nreturn inode.edit_and_remove_pair(edit__$1,bit,idx);\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair \x3d (function (e,bit,i){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(e);\nvar earr \x3d editable.arr;\nvar len \x3d earr.length;\n(editable.bitmap \x3d (bit ^ editable.bitmap));\n\ncljs.core.array_copy(earr,((2) * (i + (1))),earr,((2) * i),(len - ((2) * (i + (1)))));\n\n(earr[(len - (2))] \x3d null);\n\n(earr[(len - (1))] \x3d null);\n\nreturn editable;\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn val_or_node;\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((((2) * n) \x3c self__.arr.length)){\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(added_leaf_QMARK_.val \x3d true);\n\ncljs.core.array_copy_downward(earr,((2) * idx),earr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(earr[((2) * idx)] \x3d key);\n\n(earr[(((2) * idx) + (1))] \x3d val);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n} else {\nif((n \x3e\x3d (16))){\nvar nodes \x3d [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];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_31192 \x3d (0);\nvar j_31193 \x3d (0);\nwhile(true){\nif((i_31192 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_31192) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__31194 \x3d (i_31192 + (1));\nvar G__31195 \x3d j_31193;\ni_31192 \x3d G__31194;\nj_31193 \x3d G__31195;\ncontinue;\n} else {\n(nodes[i_31192] \x3d (((!(((self__.arr[j_31193]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),cljs.core.hash((self__.arr[j_31193])),(self__.arr[j_31193]),(self__.arr[(j_31193 + (1))]),added_leaf_QMARK_):(self__.arr[(j_31193 + (1))])));\n\nvar G__31196 \x3d (i_31192 + (1));\nvar G__31197 \x3d (j_31193 + (2));\ni_31192 \x3d G__31196;\nj_31193 \x3d G__31197;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(edit__$1,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (4)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nvar editable \x3d inode.ensure_editable(edit__$1);\n(editable.arr \x3d new_arr);\n\n(editable.bitmap \x3d (editable.bitmap | bit));\n\nreturn editable;\n\n}\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),val);\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * idx),null,(((2) * idx) + (1)),(function (){var G__27840 \x3d edit__$1;\nvar G__27841 \x3d (shift + (5));\nvar G__27842 \x3d key_or_nil;\nvar G__27843 \x3d val_or_node;\nvar G__27844 \x3d hash;\nvar G__27845 \x3d key;\nvar G__27846 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(G__27840,G__27841,G__27842,G__27843,G__27844,G__27845,G__27846) : cljs.core.create_node.call(null,G__27840,G__27841,G__27842,G__27843,G__27844,G__27845,G__27846));\n})());\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nvar n \x3d cljs.core.bit_count(self__.bitmap);\nif((n \x3e\x3d (16))){\nvar nodes \x3d [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];\nvar jdx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\n(nodes[jdx] \x3d cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_));\n\nvar i_31202 \x3d (0);\nvar j_31203 \x3d (0);\nwhile(true){\nif((i_31202 \x3c (32))){\nif((((self__.bitmap \x3e\x3e\x3e i_31202) \x26 (1)) \x3d\x3d\x3d (0))){\nvar G__31205 \x3d (i_31202 + (1));\nvar G__31206 \x3d j_31203;\ni_31202 \x3d G__31205;\nj_31203 \x3d G__31206;\ncontinue;\n} else {\n(nodes[i_31202] \x3d (((!(((self__.arr[j_31203]) \x3d\x3d null))))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),cljs.core.hash((self__.arr[j_31203])),(self__.arr[j_31203]),(self__.arr[(j_31203 + (1))]),added_leaf_QMARK_):(self__.arr[(j_31203 + (1))])));\n\nvar G__31211 \x3d (i_31202 + (1));\nvar G__31212 \x3d (j_31203 + (2));\ni_31202 \x3d G__31211;\nj_31203 \x3d G__31212;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.ArrayNode(null,(n + (1)),nodes));\n} else {\nvar new_arr \x3d (new Array(((2) * (n + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));\n\n(new_arr[((2) * idx)] \x3d key);\n\n(new_arr[(((2) * idx) + (1))] \x3d val);\n\ncljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap | bit),new_arr));\n}\n} else {\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((val \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),val)));\n}\n} else {\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (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)),(function (){var G__27847 \x3d (shift + (5));\nvar G__27848 \x3d key_or_nil;\nvar G__27849 \x3d val_or_node;\nvar G__27850 \x3d hash;\nvar G__27851 \x3d key;\nvar G__27852 \x3d val;\nreturn (cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 ? cljs.core.create_node.cljs$core$IFn$_invoke$arity$6(G__27847,G__27848,G__27849,G__27850,G__27851,G__27852) : cljs.core.create_node.call(null,G__27847,G__27848,G__27849,G__27850,G__27851,G__27852));\n})())));\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn not_found;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nreturn val_or_node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nreturn (new cljs.core.MapEntry(key_or_nil,val_or_node,null));\n} else {\nreturn not_found;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar bit \x3d (1 \x3c\x3c ((hash \x3e\x3e\x3e shift) \x26 0x01f));\nif(((self__.bitmap \x26 bit) \x3d\x3d\x3d (0))){\nreturn inode;\n} else {\nvar idx \x3d cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);\nvar key_or_nil \x3d (self__.arr[((2) * idx)]);\nvar val_or_node \x3d (self__.arr[(((2) * idx) + (1))]);\nif((key_or_nil \x3d\x3d null)){\nvar n \x3d val_or_node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d val_or_node)){\nreturn inode;\n} else {\nif((!((n \x3d\x3d null)))){\nreturn (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));\n} else {\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n\n}\n}\n}\n} else {\nif(cljs.core.key_test(key,key_or_nil)){\nif((self__.bitmap \x3d\x3d\x3d bit)){\nreturn null;\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));\n}\n} else {\nreturn inode;\n\n}\n}\n}\n}));\n\n(cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.BitmapIndexedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22bitmap\x22,\x22bitmap\x22,501334601,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BitmapIndexedNode.cljs$lang$type \x3d true);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorStr \x3d \x22cljs.core/BitmapIndexedNode\x22);\n\n(cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/BitmapIndexedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BitmapIndexedNode.\n */\ncljs.core.__GT_BitmapIndexedNode \x3d (function cljs$core$__GT_BitmapIndexedNode(edit,bitmap,arr){\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,arr));\n});\n\n(cljs.core.BitmapIndexedNode.EMPTY \x3d (new cljs.core.BitmapIndexedNode(null,(0),[])));\ncljs.core.pack_array_node \x3d (function cljs$core$pack_array_node(array_node,edit,idx){\nvar arr \x3d array_node.arr;\nvar len \x3d arr.length;\nvar new_arr \x3d (new Array(((2) * (array_node.cnt - (1)))));\nvar i \x3d (0);\nvar j \x3d (1);\nvar bitmap \x3d (0);\nwhile(true){\nif((i \x3c len)){\nif((((!((i \x3d\x3d\x3d idx)))) \x26\x26 ((!(((arr[i]) \x3d\x3d null)))))){\n(new_arr[j] \x3d (arr[i]));\n\nvar G__31217 \x3d (i + (1));\nvar G__31218 \x3d (j + (2));\nvar G__31219 \x3d (bitmap | ((1) \x3c\x3c i));\ni \x3d G__31217;\nj \x3d G__31218;\nbitmap \x3d G__31219;\ncontinue;\n} else {\nvar G__31221 \x3d (i + (1));\nvar G__31222 \x3d j;\nvar G__31223 \x3d bitmap;\ni \x3d G__31221;\nj \x3d G__31222;\nbitmap \x3d G__31223;\ncontinue;\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit,bitmap,new_arr));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.ArrayNodeIterator \x3d (function (arr,i,next_iter){\nthis.arr \x3d arr;\nthis.i \x3d i;\nthis.next_iter \x3d next_iter;\n});\n(cljs.core.ArrayNodeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar len \x3d self__.arr.length;\nwhile(true){\nif((!((((!((self__.next_iter \x3d\x3d null)))) \x26\x26 (self__.next_iter.hasNext()))))){\nif((self__.i \x3c len)){\nvar node \x3d (self__.arr[self__.i]);\n(self__.i \x3d (self__.i + (1)));\n\nif((!((node \x3d\x3d null)))){\n(self__.next_iter \x3d cljs.core._iterator(node));\n} else {\n}\n\ncontinue;\n} else {\nreturn false;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(this$.hasNext()){\nreturn self__.next_iter.next();\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.ArrayNodeIterator.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.ArrayNodeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22next-iter\x22,\x22next-iter\x22,1526626239,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeIterator\x22);\n\n(cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayNodeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeIterator.\n */\ncljs.core.__GT_ArrayNodeIterator \x3d (function cljs$core$__GT_ArrayNodeIterator(arr,i,next_iter){\nreturn (new cljs.core.ArrayNodeIterator(arr,i,next_iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.ArrayNode \x3d (function (edit,cnt,arr){\nthis.edit \x3d edit;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.ArrayNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(e,self__.cnt,cljs.core.aclone(self__.arr)));\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn inode;\n} else {\nvar n \x3d node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,edit__$1,idx);\n} else {\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n\n}\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_array_node_seq.call(null,self__.arr));\n}));\n\n(cljs.core.ArrayNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar len \x3d self__.arr.length;\nvar i \x3d (0);\nvar init__$1 \x3d init;\nwhile(true){\nif((i \x3c len)){\nvar node \x3d (self__.arr[i]);\nif((!((node \x3d\x3d null)))){\nvar init__$2 \x3d node.kv_reduce(f,init__$1);\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nvar G__31228 \x3d (i + (1));\nvar G__31229 \x3d init__$2;\ni \x3d G__31228;\ninit__$1 \x3d G__31229;\ncontinue;\n}\n} else {\nvar G__31230 \x3d (i + (1));\nvar G__31231 \x3d init__$1;\ni \x3d G__31230;\ninit__$1 \x3d G__31231;\ncontinue;\n}\n} else {\nreturn init__$1;\n}\nbreak;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_lookup((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nvar editable \x3d 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_));\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar n \x3d node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((node \x3d\x3d null)){\nreturn (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_))));\n} else {\nvar n \x3d node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nreturn node.inode_find((shift + (5)),hash,key,not_found);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d ((hash \x3e\x3e\x3e shift) \x26 0x01f);\nvar node \x3d (self__.arr[idx]);\nif((!((node \x3d\x3d null)))){\nvar n \x3d node.inode_without((shift + (5)),hash,key);\nif((n \x3d\x3d\x3d node)){\nreturn inode;\n} else {\nif((n \x3d\x3d null)){\nif((self__.cnt \x3c\x3d (8))){\nreturn cljs.core.pack_array_node(inode,null,idx);\n} else {\nreturn (new cljs.core.ArrayNode(null,(self__.cnt - (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n}\n} else {\nreturn (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));\n\n}\n}\n} else {\nreturn inode;\n}\n}));\n\n(cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.ArrayNodeIterator(self__.arr,(0),null));\n}));\n\n(cljs.core.ArrayNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNode.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNode.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNode\x22);\n\n(cljs.core.ArrayNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNode.\n */\ncljs.core.__GT_ArrayNode \x3d (function cljs$core$__GT_ArrayNode(edit,cnt,arr){\nreturn (new cljs.core.ArrayNode(edit,cnt,arr));\n});\n\ncljs.core.hash_collision_node_find_index \x3d (function cljs$core$hash_collision_node_find_index(arr,cnt,key){\nvar lim \x3d ((2) * cnt);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c lim)){\nif(cljs.core.key_test(key,(arr[i]))){\nreturn i;\n} else {\nvar G__31236 \x3d (i + (2));\ni \x3d G__31236;\ncontinue;\n}\n} else {\nreturn (-1);\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIterable}\n*/\ncljs.core.HashCollisionNode \x3d (function (edit,collision_hash,cnt,arr){\nthis.edit \x3d edit;\nthis.collision_hash \x3d collision_hash;\nthis.cnt \x3d cnt;\nthis.arr \x3d arr;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 0;\n});\n(cljs.core.HashCollisionNode.prototype.ensure_editable \x3d (function (e){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\nreturn inode;\n} else {\nvar new_arr \x3d (new Array(((2) * (self__.cnt + (1)))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * self__.cnt));\n\nreturn (new cljs.core.HashCollisionNode(e,self__.collision_hash,self__.cnt,new_arr));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without_BANG_ \x3d (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\n(removed_leaf_QMARK_.val \x3d true);\n\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nvar editable \x3d inode.ensure_editable(edit__$1);\nvar earr \x3d editable.arr;\n(earr[idx] \x3d (earr[(((2) * self__.cnt) - (2))]));\n\n(earr[(idx + (1))] \x3d (earr[(((2) * self__.cnt) - (1))]));\n\n(earr[(((2) * self__.cnt) - (1))] \x3d null);\n\n(earr[(((2) * self__.cnt) - (2))] \x3d null);\n\n(editable.cnt \x3d (editable.cnt - (1)));\n\nreturn editable;\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_seq \x3d (function (){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr) : cljs.core.create_inode_seq.call(null,self__.arr));\n}));\n\n(cljs.core.HashCollisionNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar inode \x3d this;\nreturn cljs.core.inode_kv_reduce(self__.arr,f,init);\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_lookup \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nreturn (self__.arr[(idx + (1))]);\n\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ \x3d (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nif((self__.arr.length \x3e ((2) * self__.cnt))){\nvar editable \x3d cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * self__.cnt),key,(((2) * self__.cnt) + (1)),val);\n(added_leaf_QMARK_.val \x3d true);\n\n(editable.cnt \x3d (editable.cnt + (1)));\n\nreturn editable;\n} else {\nvar len \x3d self__.arr.length;\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn inode.ensure_editable_array(edit__$1,(self__.cnt + (1)),new_arr);\n}\n} else {\nif(((self__.arr[(idx + (1))]) \x3d\x3d\x3d val)){\nreturn inode;\n} else {\nreturn cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(idx + (1)),val);\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(edit__$1,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode,null,null])).inode_assoc_BANG_(edit__$1,shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_assoc \x3d (function (shift,hash,key,val,added_leaf_QMARK_){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((hash \x3d\x3d\x3d self__.collision_hash)){\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nvar len \x3d ((2) * self__.cnt);\nvar new_arr \x3d (new Array((len + (2))));\ncljs.core.array_copy(self__.arr,(0),new_arr,(0),len);\n\n(new_arr[len] \x3d key);\n\n(new_arr[(len + (1))] \x3d val);\n\n(added_leaf_QMARK_.val \x3d true);\n\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt + (1)),new_arr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(idx + (1))]),val)){\nreturn inode;\n} else {\nreturn (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)));\n}\n}\n} else {\nreturn (new cljs.core.BitmapIndexedNode(null,(1 \x3c\x3c ((self__.collision_hash \x3e\x3e\x3e shift) \x26 0x01f)),[null,inode])).inode_assoc(shift,hash,key,val,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.ensure_editable_array \x3d (function (e,count,array){\nvar self__ \x3d this;\nvar inode \x3d this;\nif((e \x3d\x3d\x3d self__.edit)){\n(self__.arr \x3d array);\n\n(self__.cnt \x3d count);\n\nreturn inode;\n} else {\nreturn (new cljs.core.HashCollisionNode(self__.edit,self__.collision_hash,count,array));\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_find \x3d (function (shift,hash,key,not_found){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3c (0))){\nreturn not_found;\n} else {\nreturn (new cljs.core.MapEntry((self__.arr[idx]),(self__.arr[(idx + (1))]),null));\n\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.inode_without \x3d (function (shift,hash,key){\nvar self__ \x3d this;\nvar inode \x3d this;\nvar idx \x3d cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);\nif((idx \x3d\x3d\x3d (-1))){\nreturn inode;\n} else {\nif((self__.cnt \x3d\x3d\x3d (1))){\nreturn null;\n} else {\nreturn (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt - (1)),cljs.core.remove_pair(self__.arr,cljs.core.quot(idx,(2)))));\n\n}\n}\n}));\n\n(cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.NodeIterator(self__.arr,(0),null,null));\n}));\n\n(cljs.core.HashCollisionNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22collision-hash\x22,\x22collision-hash\x22,-35831342,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashCollisionNode.cljs$lang$type \x3d true);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorStr \x3d \x22cljs.core/HashCollisionNode\x22);\n\n(cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/HashCollisionNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashCollisionNode.\n */\ncljs.core.__GT_HashCollisionNode \x3d (function cljs$core$__GT_HashCollisionNode(edit,collision_hash,cnt,arr){\nreturn (new cljs.core.HashCollisionNode(edit,collision_hash,cnt,arr));\n});\n\ncljs.core.create_node \x3d (function cljs$core$create_node(var_args){\nvar G__27854 \x3d arguments.length;\nswitch (G__27854) {\ncase 6:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase 7:\nreturn cljs.core.create_node.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 \x3d (function (shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc(shift,key2hash,key2,val2,added_leaf_QMARK_);\n}\n}));\n\n(cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 \x3d (function (edit,shift,key1,val1,key2hash,key2,val2){\nvar key1hash \x3d cljs.core.hash(key1);\nif((key1hash \x3d\x3d\x3d key2hash)){\nreturn (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nreturn 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_);\n}\n}));\n\n(cljs.core.create_node.cljs$lang$maxFixedArity \x3d 7);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.NodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.NodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.NodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.NodeSeq.prototype.indexOf \x3d (function() {\nvar G__31248 \x3d null;\nvar G__31248__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31248__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31248 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31248__1.call(this,x);\ncase 2:\nreturn G__31248__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31248.cljs$core$IFn$_invoke$arity$1 \x3d G__31248__1;\nG__31248.cljs$core$IFn$_invoke$arity$2 \x3d G__31248__2;\nreturn G__31248;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31252 \x3d null;\nvar G__31252__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31252__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31252 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31252__1.call(this,x);\ncase 2:\nreturn G__31252__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31252.cljs$core$IFn$_invoke$arity$1 \x3d G__31252__1;\nG__31252.cljs$core$IFn$_invoke$arity$2 \x3d G__31252__2;\nreturn G__31252;\n})()\n);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nvar G__27855 \x3d self__.nodes;\nvar G__27856 \x3d (self__.i + (2));\nvar G__27857 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27855,G__27856,G__27857) : cljs.core.create_inode_seq.call(null,G__27855,G__27856,G__27857));\n} else {\nvar G__27858 \x3d self__.nodes;\nvar G__27859 \x3d self__.i;\nvar G__27860 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27858,G__27859,G__27860) : cljs.core.create_inode_seq.call(null,G__27858,G__27859,G__27860));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.s \x3d\x3d null)){\nreturn (new cljs.core.MapEntry((self__.nodes[self__.i]),(self__.nodes[(self__.i + (1))]),null));\n} else {\nreturn cljs.core.first(self__.s);\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (((self__.s \x3d\x3d null))?(function (){var G__27861 \x3d self__.nodes;\nvar G__27862 \x3d (self__.i + (2));\nvar G__27863 \x3d null;\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27861,G__27862,G__27863) : cljs.core.create_inode_seq.call(null,G__27861,G__27862,G__27863));\n})():(function (){var G__27864 \x3d self__.nodes;\nvar G__27865 \x3d self__.i;\nvar G__27866 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(G__27864,G__27865,G__27866) : cljs.core.create_inode_seq.call(null,G__27864,G__27865,G__27866));\n})());\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.NodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.NodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.NodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.NodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/NodeSeq\x22);\n\n(cljs.core.NodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/NodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/NodeSeq.\n */\ncljs.core.__GT_NodeSeq \x3d (function cljs$core$__GT_NodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.NodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.NodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.create_inode_seq \x3d (function cljs$core$create_inode_seq(var_args){\nvar G__27868 \x3d arguments.length;\nswitch (G__27868) {\ncase 1:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nif((!(((nodes[j]) \x3d\x3d null)))){\nreturn (new cljs.core.NodeSeq(null,nodes,j,null,null));\n} else {\nvar temp__5821__auto__ \x3d (nodes[(j + (1))]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar node \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d node.inode_seq();\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar node_seq \x3d temp__5821__auto____$1;\nreturn (new cljs.core.NodeSeq(null,nodes,(j + (2)),node_seq,null));\n} else {\nvar G__31255 \x3d (j + (2));\nj \x3d G__31255;\ncontinue;\n}\n} else {\nvar G__31256 \x3d (j + (2));\nj \x3d G__31256;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.NodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_inode_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ArrayNodeSeq \x3d (function (meta,nodes,i,s,__hash){\nthis.meta \x3d meta;\nthis.nodes \x3d nodes;\nthis.i \x3d i;\nthis.s \x3d s;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ArrayNodeSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.indexOf \x3d (function() {\nvar G__31257 \x3d null;\nvar G__31257__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31257__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31257 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31257__1.call(this,x);\ncase 2:\nreturn G__31257__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31257.cljs$core$IFn$_invoke$arity$1 \x3d G__31257__1;\nG__31257.cljs$core$IFn$_invoke$arity$2 \x3d G__31257__2;\nreturn G__31257;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31258 \x3d null;\nvar G__31258__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31258__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31258 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31258__1.call(this,x);\ncase 2:\nreturn G__31258__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31258.cljs$core$IFn$_invoke$arity$1 \x3d G__31258__1;\nG__31258.cljs$core$IFn$_invoke$arity$2 \x3d G__31258__2;\nreturn G__31258;\n})()\n);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar G__27869 \x3d self__.nodes;\nvar G__27870 \x3d self__.i;\nvar G__27871 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__27869,G__27870,G__27871) : cljs.core.create_array_node_seq.call(null,G__27869,G__27870,G__27871));\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.first(self__.s);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar ret \x3d (function (){var G__27872 \x3d self__.nodes;\nvar G__27873 \x3d self__.i;\nvar G__27874 \x3d cljs.core.next(self__.s);\nreturn (cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 ? cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(G__27872,G__27873,G__27874) : cljs.core.create_array_node_seq.call(null,G__27872,G__27873,G__27874));\n})();\nif((!((ret \x3d\x3d null)))){\nreturn ret;\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ArrayNodeSeq(new_meta,self__.nodes,self__.i,self__.s,self__.__hash));\n}\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ArrayNodeSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22nodes\x22,\x22nodes\x22,-459054278,null),new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayNodeSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayNodeSeq\x22);\n\n(cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayNodeSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayNodeSeq.\n */\ncljs.core.__GT_ArrayNodeSeq \x3d (function cljs$core$__GT_ArrayNodeSeq(meta,nodes,i,s,__hash){\nreturn (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,__hash));\n});\n\n(cljs.core.ArrayNodeSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.create_array_node_seq \x3d (function cljs$core$create_array_node_seq(var_args){\nvar G__27876 \x3d arguments.length;\nswitch (G__27876) {\ncase 1:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (nodes){\nreturn cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);\n}));\n\n(cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$3 \x3d (function (nodes,i,s){\nif((s \x3d\x3d null)){\nvar len \x3d nodes.length;\nvar j \x3d i;\nwhile(true){\nif((j \x3c len)){\nvar temp__5821__auto__ \x3d (nodes[j]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar nj \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d nj.inode_seq();\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar ns \x3d temp__5821__auto____$1;\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,(j + (1)),ns,null));\n} else {\nvar G__31265 \x3d (j + (1));\nj \x3d G__31265;\ncontinue;\n}\n} else {\nvar G__31266 \x3d (j + (1));\nj \x3d G__31266;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.ArrayNodeSeq(null,nodes,i,s,null));\n}\n}));\n\n(cljs.core.create_array_node_seq.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n*/\ncljs.core.HashMapIter \x3d (function (nil_val,root_iter,seen){\nthis.nil_val \x3d nil_val;\nthis.root_iter \x3d root_iter;\nthis.seen \x3d seen;\n});\n(cljs.core.HashMapIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (((!(self__.seen))) || (self__.root_iter.hasNext()));\n}));\n\n(cljs.core.HashMapIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((!(self__.seen))){\n(self__.seen \x3d true);\n\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn self__.root_iter.next();\n}\n}));\n\n(cljs.core.HashMapIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashMapIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.Symbol(null,\x22root-iter\x22,\x22root-iter\x22,1974672108,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22seen\x22,\x22seen\x22,1121531738,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.HashMapIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashMapIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashMapIter\x22);\n\n(cljs.core.HashMapIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/HashMapIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashMapIter.\n */\ncljs.core.__GT_HashMapIter \x3d (function cljs$core$__GT_HashMapIter(nil_val,root_iter,seen){\nreturn (new cljs.core.HashMapIter(nil_val,root_iter,seen));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashMap \x3d (function (meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nthis.meta \x3d meta;\nthis.cnt \x3d cnt;\nthis.root \x3d root;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 16123663;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.MapEntry(null,self__.nil_val,null));\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_find((0),cljs.core.hash(k),k,null);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27878 \x3d cljs.core.seq(coll);\nvar chunk__27879 \x3d null;\nvar count__27880 \x3d (0);\nvar i__27881 \x3d (0);\nwhile(true){\nif((i__27881 \x3c count__27880)){\nvar vec__27888 \x3d chunk__27879.cljs$core$IIndexed$_nth$arity$2(null,i__27881);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27888,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27888,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31274 \x3d seq__27878;\nvar G__31275 \x3d chunk__27879;\nvar G__31276 \x3d count__27880;\nvar G__31277 \x3d (i__27881 + (1));\nseq__27878 \x3d G__31274;\nchunk__27879 \x3d G__31275;\ncount__27880 \x3d G__31276;\ni__27881 \x3d G__31277;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__27878);\nif(temp__5823__auto__){\nvar seq__27878__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27878__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27878__$1);\nvar G__31278 \x3d cljs.core.chunk_rest(seq__27878__$1);\nvar G__31279 \x3d c__5548__auto__;\nvar G__31280 \x3d cljs.core.count(c__5548__auto__);\nvar G__31281 \x3d (0);\nseq__27878 \x3d G__31278;\nchunk__27879 \x3d G__31279;\ncount__27880 \x3d G__31280;\ni__27881 \x3d G__31281;\ncontinue;\n} else {\nvar vec__27891 \x3d cljs.core.first(seq__27878__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27891,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27891,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31282 \x3d cljs.core.next(seq__27878__$1);\nvar G__31283 \x3d null;\nvar G__31284 \x3d (0);\nvar G__31285 \x3d (0);\nseq__27878 \x3d G__31282;\nchunk__27879 \x3d G__31283;\ncount__27880 \x3d G__31284;\ni__27881 \x3d G__31285;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar init__$1 \x3d ((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);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn cljs.core.deref(init__$1);\n} else {\nif((!((self__.root \x3d\x3d null)))){\nreturn cljs.core.unreduced(self__.root.kv_reduce(f,init__$1));\n} else {\nreturn init__$1;\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar root_iter \x3d ((self__.root)?cljs.core._iterator(self__.root):cljs.core.nil_iter());\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.HashMapIter(self__.nil_val,root_iter,false));\n} else {\nreturn root_iter;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashMap(self__.meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashMap(({}),self__.root,self__.cnt,self__.has_nil_QMARK_,self__.nil_val));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),self__.root,false,null,null));\n} else {\nreturn coll__$1;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn coll__$1;\n} else {\nvar new_root \x3d self__.root.inode_without((0),cljs.core.hash(k),k);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),new_root,self__.has_nil_QMARK_,self__.nil_val,null));\n}\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(((self__.has_nil_QMARK_) \x26\x26 ((v \x3d\x3d\x3d self__.nil_val)))){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(self__.meta,((self__.has_nil_QMARK_)?self__.cnt:(self__.cnt + (1))),self__.root,true,v,null));\n}\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar new_root \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc((0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((new_root \x3d\x3d\x3d self__.root)){\nreturn coll__$1;\n} else {\nreturn (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));\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((k \x3d\x3d null)){\nreturn self__.has_nil_QMARK_;\n} else {\nif((self__.root \x3d\x3d null)){\nreturn false;\n} else {\nreturn (!((self__.root.inode_lookup((0),cljs.core.hash(k),k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)));\n\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar s \x3d (((!((self__.root \x3d\x3d null))))?self__.root.inode_seq():null);\nif(self__.has_nil_QMARK_){\nreturn cljs.core.cons((new cljs.core.MapEntry(null,self__.nil_val,null)),s);\n} else {\nreturn s;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashMap(new_meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__31303 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__31304 \x3d cljs.core.next(es);\nret \x3d G__31303;\nes \x3d G__31304;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27896 \x3d (arguments.length - (1));\nswitch (G__27896) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashMap.prototype.apply \x3d (function (self__,args27877){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27877)));\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashMap\x22);\n\n(cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashMap.\n */\ncljs.core.__GT_PersistentHashMap \x3d (function cljs$core$__GT_PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash){\nreturn (new cljs.core.PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash));\n});\n\n(cljs.core.PersistentHashMap.EMPTY \x3d (new cljs.core.PersistentHashMap(null,(0),null,false,null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashMap.fromArray \x3d (function (arr,no_clone){\nvar arr__$1 \x3d ((no_clone)?arr:cljs.core.aclone(arr));\nvar len \x3d arr__$1.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__31306 \x3d (i + (2));\nvar G__31307 \x3d cljs.core._assoc_BANG_(ret,(arr__$1[i]),(arr__$1[(i + (1))]));\ni \x3d G__31306;\nret \x3d G__31307;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(ret);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.fromArrays \x3d (function (ks,vs){\nvar len \x3d ks.length;\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nif((vs.length \x3c\x3d i)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((ks[i]))].join(\x27\x27)));\n} else {\nvar G__31308 \x3d (i + (1));\nvar G__31309 \x3d cljs.core._assoc_BANG_(out,(ks[i]),(vs[i]));\ni \x3d G__31308;\nout \x3d G__31309;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n(cljs.core.PersistentHashMap.createWithCheck \x3d (function (arr){\nvar len \x3d arr.length;\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nvar i_31310 \x3d (0);\nwhile(true){\nif((i_31310 \x3c len)){\ncljs.core._assoc_BANG_(ret,(arr[i_31310]),(arr[(i_31310 + (1))]));\n\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(ret),((i_31310 / (2)) + (1)))){\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arr[i_31310]))].join(\x27\x27)));\n} else {\nvar G__31311 \x3d (i_31310 + (2));\ni_31310 \x3d G__31311;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(ret);\n}));\n(cljs.core.PersistentHashMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ITransientMap}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ITransientAssociative}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashMap \x3d (function (edit,root,count,has_nil_QMARK_,nil_val){\nthis.edit \x3d edit;\nthis.root \x3d root;\nthis.count \x3d count;\nthis.has_nil_QMARK_ \x3d has_nil_QMARK_;\nthis.nil_val \x3d nil_val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 56;\n});\n(cljs.core.TransientHashMap.prototype.conj_BANG_ \x3d (function (o){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif(cljs.core.map_entry_QMARK_(o)){\nreturn tcoll.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.key.call(null,o)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(o) : cljs.core.val.call(null,o)));\n} else {\nif(cljs.core.vector_QMARK_(o)){\nreturn tcoll.assoc_BANG_((o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((0)) : o.call(null,(0))),(o.cljs$core$IFn$_invoke$arity$1 ? o.cljs$core$IFn$_invoke$arity$1((1)) : o.call(null,(1))));\n} else {\nvar es \x3d cljs.core.seq(o);\nvar tcoll__$1 \x3d tcoll;\nwhile(true){\nvar temp__5821__auto__ \x3d cljs.core.first(es);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar e \x3d temp__5821__auto__;\nvar G__31312 \x3d cljs.core.next(es);\nvar G__31313 \x3d tcoll__$1.assoc_BANG_((cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.key.call(null,e)),(cljs.core.val.cljs$core$IFn$_invoke$arity$1 ? cljs.core.val.cljs$core$IFn$_invoke$arity$1(e) : cljs.core.val.call(null,e)));\nes \x3d G__31312;\ntcoll__$1 \x3d G__31313;\ncontinue;\n} else {\nreturn tcoll__$1;\n}\nbreak;\n}\n\n}\n}\n} else {\nthrow (new Error(\x22conj! after persistent\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.assoc_BANG_ \x3d (function (k,v){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif((self__.nil_val \x3d\x3d\x3d v)){\n} else {\n(self__.nil_val \x3d v);\n}\n\nif(self__.has_nil_QMARK_){\n} else {\n(self__.count \x3d (self__.count + (1)));\n\n(self__.has_nil_QMARK_ \x3d true);\n}\n\nreturn tcoll;\n} else {\nvar added_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d (((self__.root \x3d\x3d null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc_BANG_(self__.edit,(0),cljs.core.hash(k),k,v,added_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(added_leaf_QMARK_.val){\n(self__.count \x3d (self__.count + (1)));\n} else {\n}\n\nreturn tcoll;\n}\n} else {\nthrow (new Error(\x22assoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.without_BANG_ \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\n(self__.has_nil_QMARK_ \x3d false);\n\n(self__.nil_val \x3d null);\n\n(self__.count \x3d (self__.count - (1)));\n\nreturn tcoll;\n} else {\nreturn tcoll;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn tcoll;\n} else {\nvar removed_leaf_QMARK_ \x3d (new cljs.core.Box(false));\nvar node \x3d self__.root.inode_without_BANG_(self__.edit,(0),cljs.core.hash(k),k,removed_leaf_QMARK_);\nif((node \x3d\x3d\x3d self__.root)){\n} else {\n(self__.root \x3d node);\n}\n\nif(removed_leaf_QMARK_.val){\n(self__.count \x3d (self__.count - (1)));\n} else {\n}\n\nreturn tcoll;\n}\n}\n} else {\nthrow (new Error(\x22dissoc! after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.persistent_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif(self__.edit){\n(self__.edit \x3d null);\n\nreturn (new cljs.core.PersistentHashMap(null,self__.count,self__.root,self__.has_nil_QMARK_,self__.nil_val,null));\n} else {\nthrow (new Error(\x22persistent! called twice\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(self__.edit){\nreturn self__.count;\n} else {\nthrow (new Error(\x22count after persistent!\x22));\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,k){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn null;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn null;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,k,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((k \x3d\x3d null)){\nif(self__.has_nil_QMARK_){\nreturn self__.nil_val;\n} else {\nreturn not_found;\n}\n} else {\nif((self__.root \x3d\x3d null)){\nreturn not_found;\n} else {\nreturn self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);\n}\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.conj_BANG_(val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.persistent_BANG_();\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 \x3d (function (tcoll,key,val){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.assoc_BANG_(key,val);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 \x3d (function (tcoll,key){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.without_BANG_(key);\n}));\n\n(cljs.core.TransientHashMap.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27898 \x3d (arguments.length - (1));\nswitch (G__27898) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashMap.prototype.apply \x3d (function (self__,args27897){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27897)));\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (key){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$2(null,key);\n}));\n\n(cljs.core.TransientHashMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (key,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nreturn tcoll.cljs$core$ILookup$_lookup$arity$3(null,key,not_found);\n}));\n\n(cljs.core.TransientHashMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22edit\x22,\x22edit\x22,-1302639,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22has-nil?\x22,\x22has-nil?\x22,825886722,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22nil-val\x22,\x22nil-val\x22,-513933559,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashMap.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashMap\x22);\n\n(cljs.core.TransientHashMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientHashMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashMap.\n */\ncljs.core.__GT_TransientHashMap \x3d (function cljs$core$__GT_TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val){\nreturn (new cljs.core.TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val));\n});\n\ncljs.core.tree_map_seq_push \x3d (function cljs$core$tree_map_seq_push(node,stack,ascending_QMARK_){\nvar t \x3d node;\nvar stack__$1 \x3d stack;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar G__31315 \x3d ((ascending_QMARK_)?t.left:t.right);\nvar G__31316 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack__$1,t);\nt \x3d G__31315;\nstack__$1 \x3d G__31316;\ncontinue;\n} else {\nreturn stack__$1;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.PersistentTreeMapSeq \x3d (function (meta,stack,ascending_QMARK_,cnt,__hash){\nthis.meta \x3d meta;\nthis.stack \x3d stack;\nthis.ascending_QMARK_ \x3d ascending_QMARK_;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374990;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.PersistentTreeMapSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.indexOf \x3d (function() {\nvar G__31317 \x3d null;\nvar G__31317__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31317__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31317 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31317__1.call(this,x);\ncase 2:\nreturn G__31317__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31317.cljs$core$IFn$_invoke$arity$1 \x3d G__31317__1;\nG__31317.cljs$core$IFn$_invoke$arity$2 \x3d G__31317__2;\nreturn G__31317;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31318 \x3d null;\nvar G__31318__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31318__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31318 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31318__1.call(this,x);\ncase 2:\nreturn G__31318__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31318.cljs$core$IFn$_invoke$arity$1 \x3d G__31318__1;\nG__31318.cljs$core$IFn$_invoke$arity$2 \x3d G__31318__2;\nreturn G__31318;\n})()\n);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((next_stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3c (0))){\nreturn (cljs.core.count(cljs.core.next(coll__$1)) + (1));\n} else {\nreturn self__.cnt;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.peek(self__.stack);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar t \x3d cljs.core.first(self__.stack);\nvar next_stack \x3d cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);\nif((!((next_stack \x3d\x3d null)))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(new_meta,self__.stack,self__.ascending_QMARK_,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ascending?\x22,\x22ascending?\x22,-1938452653,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null)], null)),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMapSeq\x22);\n\n(cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentTreeMapSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMapSeq.\n */\ncljs.core.__GT_PersistentTreeMapSeq \x3d (function cljs$core$__GT_PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash){\nreturn (new cljs.core.PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash));\n});\n\n(cljs.core.PersistentTreeMapSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.create_tree_map_seq \x3d (function cljs$core$create_tree_map_seq(tree,ascending_QMARK_,cnt){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(tree,null,ascending_QMARK_),ascending_QMARK_,cnt,null));\n});\n\ncljs.core.balance_left \x3d (function cljs$core$balance_left(key,val,ins,right){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,ins.left.blacken(),(new cljs.core.BlackNode(key,val,ins.right,right,null)),null));\n} else {\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,ins,right,null));\n}\n});\ncljs.core.balance_right \x3d (function cljs$core$balance_right(key,val,left,ins){\nif((ins instanceof cljs.core.RedNode)){\nif((ins.right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(ins.key,ins.val,(new cljs.core.BlackNode(key,val,left,ins.left,null)),ins.right.blacken(),null));\n} else {\nif((ins.left instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n\n}\n}\n} else {\nreturn (new cljs.core.BlackNode(key,val,left,ins,null));\n}\n});\ncljs.core.balance_left_del \x3d (function cljs$core$balance_left_del(key,val,del,right){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,del.blacken(),right,null));\n} else {\nif((right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right(key,val,del,right.redden());\n} else {\nif((((right instanceof cljs.core.RedNode)) \x26\x26 ((right.left instanceof cljs.core.BlackNode)))){\nreturn (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));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.balance_right_del \x3d (function cljs$core$balance_right_del(key,val,left,del){\nif((del instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(key,val,left,del.blacken(),null));\n} else {\nif((left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left(key,val,left.redden(),del);\n} else {\nif((((left instanceof cljs.core.RedNode)) \x26\x26 ((left.right instanceof cljs.core.BlackNode)))){\nreturn (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));\n} else {\nthrow (new Error(\x22red-black tree invariant violation\x22));\n\n}\n}\n}\n});\ncljs.core.tree_map_kv_reduce \x3d (function cljs$core$tree_map_kv_reduce(node,f,init){\nvar init__$1 \x3d (((!((node.left \x3d\x3d null))))?(function (){var G__27899 \x3d node.left;\nvar G__27900 \x3d f;\nvar G__27901 \x3d init;\nreturn (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__27899,G__27900,G__27901) : cljs.core.tree_map_kv_reduce.call(null,G__27899,G__27900,G__27901));\n})():init);\nif(cljs.core.reduced_QMARK_(init__$1)){\nreturn init__$1;\n} else {\nvar init__$2 \x3d (function (){var G__27902 \x3d init__$1;\nvar G__27903 \x3d node.key;\nvar G__27904 \x3d node.val;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__27902,G__27903,G__27904) : f.call(null,G__27902,G__27903,G__27904));\n})();\nif(cljs.core.reduced_QMARK_(init__$2)){\nreturn init__$2;\n} else {\nif((!((node.right \x3d\x3d null)))){\nvar G__27905 \x3d node.right;\nvar G__27906 \x3d f;\nvar G__27907 \x3d init__$2;\nreturn (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__27905,G__27906,G__27907) : cljs.core.tree_map_kv_reduce.call(null,G__27905,G__27906,G__27907));\n} else {\nreturn init__$2;\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.BlackNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.BlackNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__27909 \x3d k;\nswitch (G__27909) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.lastIndexOf \x3d (function() {\nvar G__31320 \x3d null;\nvar G__31320__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31320__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31320 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31320__1.call(this,x);\ncase 2:\nreturn G__31320__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31320.cljs$core$IFn$_invoke$arity$1 \x3d G__31320__1;\nG__31320.cljs$core$IFn$_invoke$arity$2 \x3d G__31320__2;\nreturn G__31320;\n})()\n);\n\n(cljs.core.BlackNode.prototype.indexOf \x3d (function() {\nvar G__31321 \x3d null;\nvar G__31321__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31321__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31321 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31321__1.call(this,x);\ncase 2:\nreturn G__31321__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31321.cljs$core$IFn$_invoke$arity$1 \x3d G__31321__1;\nG__31321.cljs$core$IFn$_invoke$arity$2 \x3d G__31321__2;\nreturn G__31321;\n})()\n);\n\n(cljs.core.BlackNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_right(node);\n}));\n\n(cljs.core.BlackNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node;\n}));\n\n(cljs.core.BlackNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn ins.balance_left(node);\n}));\n\n(cljs.core.BlackNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n}));\n\n(cljs.core.BlackNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n}));\n\n(cljs.core.BlackNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_left_del(self__.key,self__.val,del,self__.right);\n}));\n\n(cljs.core.BlackNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.BlackNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.balance_right_del(self__.key,self__.val,self__.left,del);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn 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);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn 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);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.BlackNode.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27910 \x3d (arguments.length - (1));\nswitch (G__27910) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.BlackNode.prototype.apply \x3d (function (self__,args27908){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27908)));\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.BlackNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.BlackNode.cljs$lang$type \x3d true);\n\n(cljs.core.BlackNode.cljs$lang$ctorStr \x3d \x22cljs.core/BlackNode\x22);\n\n(cljs.core.BlackNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/BlackNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/BlackNode.\n */\ncljs.core.__GT_BlackNode \x3d (function cljs$core$__GT_BlackNode(key,val,left,right,__hash){\nreturn (new cljs.core.BlackNode(key,val,left,right,__hash));\n});\n\n(cljs.core.BlackNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IVector}\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IStack}\n * @implements {cljs.core.IMapEntry}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.ILookup}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.RedNode \x3d (function (key,val,left,right,__hash){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.left \x3d left;\nthis.right \x3d right;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 166619935;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.RedNode.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nvar G__27912 \x3d k;\nswitch (G__27912) {\ncase (0):\nreturn (new cljs.core.MapEntry((0),self__.key,null));\n\nbreak;\ncase (1):\nreturn (new cljs.core.MapEntry((1),self__.val,null));\n\nbreak;\ndefault:\nreturn null;\n\n}\n}));\n\n(cljs.core.RedNode.prototype.lastIndexOf \x3d (function() {\nvar G__31343 \x3d null;\nvar G__31343__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31343__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31343 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31343__1.call(this,x);\ncase 2:\nreturn G__31343__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31343.cljs$core$IFn$_invoke$arity$1 \x3d G__31343__1;\nG__31343.cljs$core$IFn$_invoke$arity$2 \x3d G__31343__2;\nreturn G__31343;\n})()\n);\n\n(cljs.core.RedNode.prototype.indexOf \x3d (function() {\nvar G__31344 \x3d null;\nvar G__31344__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31344__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31344 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31344__1.call(this,x);\ncase 2:\nreturn G__31344__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31344.cljs$core$IFn$_invoke$arity$1 \x3d G__31344__1;\nG__31344.cljs$core$IFn$_invoke$arity$2 \x3d G__31344__2;\nreturn G__31344;\n})()\n);\n\n(cljs.core.RedNode.prototype.add_right \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,ins,null));\n}));\n\n(cljs.core.RedNode.prototype.redden \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nthrow (new Error(\x22red-black tree invariant violation\x22));\n}));\n\n(cljs.core.RedNode.prototype.blacken \x3d (function (){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.add_left \x3d (function (ins){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,ins,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.replace \x3d (function (key__$1,val__$1,left__$1,right__$1){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(key__$1,val__$1,left__$1,right__$1,null));\n}));\n\n(cljs.core.RedNode.prototype.balance_left \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.balance_right \x3d (function (parent){\nvar self__ \x3d this;\nvar node \x3d this;\nif((self__.right instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nif((self__.left instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nreturn (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.remove_left \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,del,self__.right,null));\n}));\n\n(cljs.core.RedNode.prototype.kv_reduce \x3d (function (f,init){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn cljs.core.tree_map_kv_reduce(node,f,init);\n}));\n\n(cljs.core.RedNode.prototype.remove_right \x3d (function (del){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn (new cljs.core.RedNode(self__.key,self__.val,self__.left,del,null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (node,k,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (node,n){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (node,n,not_found){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nif((n \x3d\x3d\x3d (0))){\nreturn self__.key;\n} else {\nif((n \x3d\x3d\x3d (1))){\nreturn self__.val;\n} else {\nreturn not_found;\n\n}\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 \x3d (function (node,n,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn 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);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (2);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.key;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.val,self__.key],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (node,f){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (node,f,start){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (node,k,v){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn 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);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (node,k){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (((k \x3d\x3d\x3d (0))) || ((k \x3d\x3d\x3d (1))));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (node){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn (new cljs.core.IndexedSeq([self__.key,self__.val],(0),null));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (node,meta){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (node,o){\nvar self__ \x3d this;\nvar node__$1 \x3d this;\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);\n}));\n\n(cljs.core.RedNode.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27913 \x3d (arguments.length - (1));\nswitch (G__27913) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.RedNode.prototype.apply \x3d (function (self__,args27911){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27911)));\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$2(null,k);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar node \x3d this;\nreturn node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);\n}));\n\n(cljs.core.RedNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22left\x22,\x22left\x22,1241415590,null),new cljs.core.Symbol(null,\x22right\x22,\x22right\x22,1187949694,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.RedNode.cljs$lang$type \x3d true);\n\n(cljs.core.RedNode.cljs$lang$ctorStr \x3d \x22cljs.core/RedNode\x22);\n\n(cljs.core.RedNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RedNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RedNode.\n */\ncljs.core.__GT_RedNode \x3d (function cljs$core$__GT_RedNode(key,val,left,right,__hash){\nreturn (new cljs.core.RedNode(key,val,left,right,__hash));\n});\n\n(cljs.core.RedNode.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.tree_map_add \x3d (function cljs$core$tree_map_add(comp,tree,k,v,found){\nif((tree \x3d\x3d null)){\nreturn (new cljs.core.RedNode(k,v,null,null,null));\n} else {\nvar c \x3d (function (){var G__27914 \x3d k;\nvar G__27915 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__27914,G__27915) : comp.call(null,G__27914,G__27915));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn null;\n} else {\nif((c \x3c (0))){\nvar ins \x3d (function (){var G__27916 \x3d comp;\nvar G__27917 \x3d tree.left;\nvar G__27918 \x3d k;\nvar G__27919 \x3d v;\nvar G__27920 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__27916,G__27917,G__27918,G__27919,G__27920) : cljs.core.tree_map_add.call(null,G__27916,G__27917,G__27918,G__27919,G__27920));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_left(ins);\n} else {\nreturn null;\n}\n} else {\nvar ins \x3d (function (){var G__27921 \x3d comp;\nvar G__27922 \x3d tree.right;\nvar G__27923 \x3d k;\nvar G__27924 \x3d v;\nvar G__27925 \x3d found;\nreturn (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__27921,G__27922,G__27923,G__27924,G__27925) : cljs.core.tree_map_add.call(null,G__27921,G__27922,G__27923,G__27924,G__27925));\n})();\nif((!((ins \x3d\x3d null)))){\nreturn tree.add_right(ins);\n} else {\nreturn null;\n}\n\n}\n}\n}\n});\ncljs.core.tree_map_append \x3d (function cljs$core$tree_map_append(left,right){\nif((left \x3d\x3d null)){\nreturn right;\n} else {\nif((right \x3d\x3d null)){\nreturn left;\n} else {\nif((left instanceof cljs.core.RedNode)){\nif((right instanceof cljs.core.RedNode)){\nvar app \x3d (function (){var G__27926 \x3d left.right;\nvar G__27927 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27926,G__27927) : cljs.core.tree_map_append.call(null,G__27926,G__27927));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(new cljs.core.RedNode(right.key,right.val,app,right.right,null)),null));\n}\n} else {\nreturn (new cljs.core.RedNode(left.key,left.val,left.left,(function (){var G__27928 \x3d left.right;\nvar G__27929 \x3d right;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27928,G__27929) : cljs.core.tree_map_append.call(null,G__27928,G__27929));\n})(),null));\n}\n} else {\nif((right instanceof cljs.core.RedNode)){\nreturn (new cljs.core.RedNode(right.key,right.val,(function (){var G__27930 \x3d left;\nvar G__27931 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27930,G__27931) : cljs.core.tree_map_append.call(null,G__27930,G__27931));\n})(),right.right,null));\n} else {\nvar app \x3d (function (){var G__27932 \x3d left.right;\nvar G__27933 \x3d right.left;\nreturn (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__27932,G__27933) : cljs.core.tree_map_append.call(null,G__27932,G__27933));\n})();\nif((app instanceof cljs.core.RedNode)){\nreturn (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));\n} else {\nreturn cljs.core.balance_left_del(left.key,left.val,left.left,(new cljs.core.BlackNode(right.key,right.val,app,right.right,null)));\n}\n\n}\n}\n}\n}\n});\ncljs.core.tree_map_remove \x3d (function cljs$core$tree_map_remove(comp,tree,k,found){\nif((!((tree \x3d\x3d null)))){\nvar c \x3d (function (){var G__27934 \x3d k;\nvar G__27935 \x3d tree.key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__27934,G__27935) : comp.call(null,G__27934,G__27935));\n})();\nif((c \x3d\x3d\x3d (0))){\n(found[(0)] \x3d tree);\n\nreturn cljs.core.tree_map_append(tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nvar del \x3d (function (){var G__27936 \x3d comp;\nvar G__27937 \x3d tree.left;\nvar G__27938 \x3d k;\nvar G__27939 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__27936,G__27937,G__27938,G__27939) : cljs.core.tree_map_remove.call(null,G__27936,G__27937,G__27938,G__27939));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.left instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_left_del(tree.key,tree.val,del,tree.right);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,del,tree.right,null));\n}\n} else {\nreturn null;\n}\n} else {\nvar del \x3d (function (){var G__27940 \x3d comp;\nvar G__27941 \x3d tree.right;\nvar G__27942 \x3d k;\nvar G__27943 \x3d found;\nreturn (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__27940,G__27941,G__27942,G__27943) : cljs.core.tree_map_remove.call(null,G__27940,G__27941,G__27942,G__27943));\n})();\nif((((!((del \x3d\x3d null)))) || ((!(((found[(0)]) \x3d\x3d null)))))){\nif((tree.right instanceof cljs.core.BlackNode)){\nreturn cljs.core.balance_right_del(tree.key,tree.val,tree.left,del);\n} else {\nreturn (new cljs.core.RedNode(tree.key,tree.val,tree.left,del,null));\n}\n} else {\nreturn null;\n}\n\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.core.tree_map_replace \x3d (function cljs$core$tree_map_replace(comp,tree,k,v){\nvar tk \x3d tree.key;\nvar c \x3d (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(k,tk) : comp.call(null,k,tk));\nif((c \x3d\x3d\x3d (0))){\nreturn tree.replace(tk,v,tree.left,tree.right);\n} else {\nif((c \x3c (0))){\nreturn tree.replace(tk,tree.val,(function (){var G__27944 \x3d comp;\nvar G__27945 \x3d tree.left;\nvar G__27946 \x3d k;\nvar G__27947 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__27944,G__27945,G__27946,G__27947) : cljs.core.tree_map_replace.call(null,G__27944,G__27945,G__27946,G__27947));\n})(),tree.right);\n} else {\nreturn tree.replace(tk,tree.val,tree.left,(function (){var G__27948 \x3d comp;\nvar G__27949 \x3d tree.right;\nvar G__27950 \x3d k;\nvar G__27951 \x3d v;\nreturn (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__27948,G__27949,G__27950,G__27951) : cljs.core.tree_map_replace.call(null,G__27948,G__27949,G__27950,G__27951));\n})());\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IFind}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeMap \x3d (function (comp,tree,cnt,meta,__hash){\nthis.comp \x3d comp;\nthis.tree \x3d tree;\nthis.cnt \x3d cnt;\nthis.meta \x3d meta;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 418776847;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.entry_at(k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27953 \x3d cljs.core.seq(coll);\nvar chunk__27954 \x3d null;\nvar count__27955 \x3d (0);\nvar i__27956 \x3d (0);\nwhile(true){\nif((i__27956 \x3c count__27955)){\nvar vec__27963 \x3d chunk__27954.cljs$core$IIndexed$_nth$arity$2(null,i__27956);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27963,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27963,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31361 \x3d seq__27953;\nvar G__31362 \x3d chunk__27954;\nvar G__31363 \x3d count__27955;\nvar G__31364 \x3d (i__27956 + (1));\nseq__27953 \x3d G__31361;\nchunk__27954 \x3d G__31362;\ncount__27955 \x3d G__31363;\ni__27956 \x3d G__31364;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__27953);\nif(temp__5823__auto__){\nvar seq__27953__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27953__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27953__$1);\nvar G__31365 \x3d cljs.core.chunk_rest(seq__27953__$1);\nvar G__31366 \x3d c__5548__auto__;\nvar G__31367 \x3d cljs.core.count(c__5548__auto__);\nvar G__31368 \x3d (0);\nseq__27953 \x3d G__31365;\nchunk__27954 \x3d G__31366;\ncount__27955 \x3d G__31367;\ni__27956 \x3d G__31368;\ncontinue;\n} else {\nvar vec__27966 \x3d cljs.core.first(seq__27953__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27966,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__27966,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31369 \x3d cljs.core.next(seq__27953__$1);\nvar G__31370 \x3d null;\nvar G__31371 \x3d (0);\nvar G__31372 \x3d (0);\nseq__27953 \x3d G__31369;\nchunk__27954 \x3d G__31370;\ncount__27955 \x3d G__31371;\ni__27956 \x3d G__31372;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.get \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.keys.cljs$core$IFn$_invoke$arity$1 ? cljs.core.keys.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.keys.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator((cljs.core.vals.cljs$core$IFn$_invoke$arity$1 ? cljs.core.vals.cljs$core$IFn$_invoke$arity$1(coll) : cljs.core.vals.call(null,coll)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.entry_at \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__27969 \x3d k;\nvar G__27970 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__27969,G__27970) : self__.comp.call(null,G__27969,G__27970));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn t;\n} else {\nif((c \x3c (0))){\nvar G__31374 \x3d t.left;\nt \x3d G__31374;\ncontinue;\n} else {\nvar G__31375 \x3d t.right;\nt \x3d G__31375;\ncontinue;\n\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,k,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d coll__$1.entry_at(k);\nif((!((n \x3d\x3d null)))){\nreturn n.val;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (coll,f,init){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((!((self__.tree \x3d\x3d null)))){\nreturn cljs.core.unreduced(cljs.core.tree_map_kv_reduce(self__.tree,f,init));\n} else {\nreturn init;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,self__.meta,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,false,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_map(coll__$1,other);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,(0)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_remove(self__.comp,self__.tree,k,found);\nif((t \x3d\x3d null)){\nif((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0)) \x3d\x3d null)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt - (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (coll,k,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar found \x3d [null];\nvar t \x3d cljs.core.tree_map_add(self__.comp,self__.tree,k,v,found);\nif((t \x3d\x3d null)){\nvar found_node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(v,found_node.val)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,cljs.core.tree_map_replace(self__.comp,self__.tree,k,v),self__.cnt,self__.meta,null));\n}\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt + (1)),self__.meta,null));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (coll,k){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (!((coll__$1.entry_at(k) \x3d\x3d null)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,true,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,new_meta,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nvar ret \x3d coll__$1;\nvar es \x3d cljs.core.seq(entry);\nwhile(true){\nif((es \x3d\x3d null)){\nreturn ret;\n} else {\nvar e \x3d cljs.core.first(es);\nif(cljs.core.vector_QMARK_(e)){\nvar G__31378 \x3d cljs.core._assoc(ret,cljs.core._nth(e,(0)),cljs.core._nth(e,(1)));\nvar G__31379 \x3d cljs.core.next(es);\nret \x3d G__31378;\nes \x3d G__31379;\ncontinue;\n} else {\nthrow (new Error(\x22conj on a map takes map entries or seqables of map entries\x22));\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__27971 \x3d (arguments.length - (1));\nswitch (G__27971) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.apply \x3d (function (self__,args27952){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27952)));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nreturn cljs.core.create_tree_map_seq(self__.tree,ascending_QMARK_,self__.cnt);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.cnt \x3e (0))){\nvar stack \x3d null;\nvar t \x3d self__.tree;\nwhile(true){\nif((!((t \x3d\x3d null)))){\nvar c \x3d (function (){var G__27974 \x3d k;\nvar G__27975 \x3d t.key;\nreturn (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__27974,G__27975) : self__.comp.call(null,G__27974,G__27975));\n})();\nif((c \x3d\x3d\x3d (0))){\nreturn (new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t),ascending_QMARK_,(-1),null));\n} else {\nif(cljs.core.truth_(ascending_QMARK_)){\nif((c \x3c (0))){\nvar G__31381 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__31382 \x3d t.left;\nstack \x3d G__31381;\nt \x3d G__31382;\ncontinue;\n} else {\nvar G__31383 \x3d stack;\nvar G__31384 \x3d t.right;\nstack \x3d G__31383;\nt \x3d G__31384;\ncontinue;\n}\n} else {\nif((c \x3e (0))){\nvar G__31385 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);\nvar G__31386 \x3d t.right;\nstack \x3d G__31385;\nt \x3d G__31386;\ncontinue;\n} else {\nvar G__31387 \x3d stack;\nvar G__31388 \x3d t.left;\nstack \x3d G__31387;\nt \x3d G__31388;\ncontinue;\n}\n\n}\n}\n} else {\nif((stack \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.PersistentTreeMapSeq(null,stack,ascending_QMARK_,(-1),null));\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (cljs.core.key.cljs$core$IFn$_invoke$arity$1 ? cljs.core.key.cljs$core$IFn$_invoke$arity$1(entry) : cljs.core.key.call(null,entry));\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.comp;\n}));\n\n(cljs.core.PersistentTreeMap.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22tree\x22,\x22tree\x22,1444219499,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeMap.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeMap\x22);\n\n(cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentTreeMap\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeMap.\n */\ncljs.core.__GT_PersistentTreeMap \x3d (function cljs$core$__GT_PersistentTreeMap(comp,tree,cnt,meta,__hash){\nreturn (new cljs.core.PersistentTreeMap(comp,tree,cnt,meta,__hash));\n});\n\n(cljs.core.PersistentTreeMap.EMPTY \x3d (new cljs.core.PersistentTreeMap(cljs.core.compare,null,(0),null,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeMap.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * keyval \x3d\x3e key val\n * Returns a new hash map with supplied mappings.\n */\ncljs.core.hash_map \x3d (function cljs$core$hash_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31389 \x3d arguments.length;\nvar i__5750__auto___31390 \x3d (0);\nwhile(true){\nif((i__5750__auto___31390 \x3c len__5749__auto___31389)){\nargs__5755__auto__.push((arguments[i__5750__auto___31390]));\n\nvar G__31391 \x3d (i__5750__auto___31390 + (1));\ni__5750__auto___31390 \x3d G__31391;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);\nwhile(true){\nif(in$){\nvar in_SINGLEQUOTE_ \x3d cljs.core.next(in$);\nif((in_SINGLEQUOTE_ \x3d\x3d null)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(in$))].join(\x27\x27)));\n} else {\nvar G__31392 \x3d cljs.core.next(in_SINGLEQUOTE_);\nvar G__31393 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.first(in_SINGLEQUOTE_));\nin$ \x3d G__31392;\nout \x3d G__31393;\ncontinue;\n}\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n}));\n\n(cljs.core.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.hash_map.cljs$lang$applyTo \x3d (function (seq27976){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27976));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new array map with supplied mappings.\n */\ncljs.core.array_map \x3d (function cljs$core$array_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31395 \x3d arguments.length;\nvar i__5750__auto___31396 \x3d (0);\nwhile(true){\nif((i__5750__auto___31396 \x3c len__5749__auto___31395)){\nargs__5755__auto__.push((arguments[i__5750__auto___31396]));\n\nvar G__31397 \x3d (i__5750__auto___31396 + (1));\ni__5750__auto___31396 \x3d G__31397;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar arr \x3d (((((keyvals instanceof cljs.core.IndexedSeq)) \x26\x26 ((keyvals.i \x3d\x3d\x3d (0)))))?keyvals.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(keyvals));\nif(cljs.core.odd_QMARK_(arr.length)){\nthrow (new Error([\x22No value supplied for key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(arr))].join(\x27\x27)));\n} else {\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(arr);\n}\n}));\n\n(cljs.core.array_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.array_map.cljs$lang$applyTo \x3d (function (seq27977){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27977));\n}));\n\n/**\n * Builds a map from a seq as described in\n * https://clojure.org/reference/special_forms#keyword-arguments\n */\ncljs.core.seq_to_map_for_destructuring \x3d (function cljs$core$seq_to_map_for_destructuring(s){\nif(cljs.core.next(s)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc(cljs.core.to_array(s));\n} else {\nif(cljs.core.seq(s)){\nreturn cljs.core.first(s);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n}\n});\n/**\n * keyval \x3d\x3e key val\n * Returns a new object map with supplied mappings.\n */\ncljs.core.obj_map \x3d (function cljs$core$obj_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31399 \x3d arguments.length;\nvar i__5750__auto___31400 \x3d (0);\nwhile(true){\nif((i__5750__auto___31400 \x3c len__5749__auto___31399)){\nargs__5755__auto__.push((arguments[i__5750__auto___31400]));\n\nvar G__31401 \x3d (i__5750__auto___31400 + (1));\ni__5750__auto___31400 \x3d G__31401;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar ks \x3d [];\nvar obj \x3d ({});\nvar kvs \x3d cljs.core.seq(keyvals);\nwhile(true){\nif(kvs){\nks.push(cljs.core.first(kvs));\n\ncljs.core.goog$module$goog$object.set(obj,cljs.core.first(kvs),cljs.core.second(kvs));\n\nvar G__31405 \x3d cljs.core.nnext(kvs);\nkvs \x3d G__31405;\ncontinue;\n} else {\nreturn cljs.core.ObjMap.fromObject(ks,obj);\n}\nbreak;\n}\n}));\n\n(cljs.core.obj_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.obj_map.cljs$lang$applyTo \x3d (function (seq27978){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27978));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings.\n */\ncljs.core.sorted_map \x3d (function cljs$core$sorted_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31406 \x3d arguments.length;\nvar i__5750__auto___31407 \x3d (0);\nwhile(true){\nif((i__5750__auto___31407 \x3c len__5749__auto___31406)){\nargs__5755__auto__.push((arguments[i__5750__auto___31407]));\n\nvar G__31408 \x3d (i__5750__auto___31407 + (1));\ni__5750__auto___31407 \x3d G__31408;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d cljs.core.PersistentTreeMap.EMPTY;\nwhile(true){\nif(in$){\nvar G__31409 \x3d cljs.core.nnext(in$);\nvar G__31410 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__31409;\nout \x3d G__31410;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_map.cljs$lang$applyTo \x3d (function (seq27981){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27981));\n}));\n\n/**\n * keyval \x3d\x3e key val\n * Returns a new sorted map with supplied mappings, using the supplied comparator.\n */\ncljs.core.sorted_map_by \x3d (function cljs$core$sorted_map_by(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31411 \x3d arguments.length;\nvar i__5750__auto___31412 \x3d (0);\nwhile(true){\nif((i__5750__auto___31412 \x3c len__5749__auto___31411)){\nargs__5755__auto__.push((arguments[i__5750__auto___31412]));\n\nvar G__31413 \x3d (i__5750__auto___31412 + (1));\ni__5750__auto___31412 \x3d G__31413;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keyvals){\nvar in$ \x3d cljs.core.seq(keyvals);\nvar out \x3d (new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(comparator),null,(0),null,(0)));\nwhile(true){\nif(in$){\nvar G__31414 \x3d cljs.core.nnext(in$);\nvar G__31415 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));\nin$ \x3d G__31414;\nout \x3d G__31415;\ncontinue;\n} else {\nreturn out;\n}\nbreak;\n}\n}));\n\n(cljs.core.sorted_map_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_map_by.cljs$lang$applyTo \x3d (function (seq27982){\nvar G__27983 \x3d cljs.core.first(seq27982);\nvar seq27982__$1 \x3d cljs.core.next(seq27982);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27983,seq27982__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.KeySeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.KeySeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.KeySeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.KeySeq.prototype.indexOf \x3d (function() {\nvar G__31416 \x3d null;\nvar G__31416__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31416__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31416 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31416__1.call(this,x);\ncase 2:\nreturn G__31416__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31416.cljs$core$IFn$_invoke$arity$1 \x3d G__31416__1;\nG__31416.cljs$core$IFn$_invoke$arity$2 \x3d G__31416__2;\nreturn G__31416;\n})()\n);\n\n(cljs.core.KeySeq.prototype.lastIndexOf \x3d (function() {\nvar G__31417 \x3d null;\nvar G__31417__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31417__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31417 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31417__1.call(this,x);\ncase 2:\nreturn G__31417__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31417.cljs$core$IFn$_invoke$arity$1 \x3d G__31417__1;\nG__31417.cljs$core$IFn$_invoke$arity$2 \x3d G__31417__2;\nreturn G__31417;\n})()\n);\n\n(cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.KeySeq(nseq,null));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_key$arity$1(null);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.KeySeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.KeySeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.KeySeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.KeySeq.cljs$lang$type \x3d true);\n\n(cljs.core.KeySeq.cljs$lang$ctorStr \x3d \x22cljs.core/KeySeq\x22);\n\n(cljs.core.KeySeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/KeySeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/KeySeq.\n */\ncljs.core.__GT_KeySeq \x3d (function cljs$core$__GT_KeySeq(mseq,_meta){\nreturn (new cljs.core.KeySeq(mseq,_meta));\n});\n\n(cljs.core.KeySeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s keys, in the same order as (seq map).\n */\ncljs.core.keys \x3d (function cljs$core$keys(map){\nvar temp__5823__auto__ \x3d cljs.core.seq(map);\nif(temp__5823__auto__){\nvar mseq \x3d temp__5823__auto__;\nreturn (new cljs.core.KeySeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the key of the map entry.\n */\ncljs.core.key \x3d (function cljs$core$key(map_entry){\nreturn cljs.core._key(map_entry);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.ValSeq \x3d (function (mseq,_meta){\nthis.mseq \x3d mseq;\nthis._meta \x3d _meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.ValSeq.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.ValSeq.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.ValSeq.prototype.indexOf \x3d (function() {\nvar G__31428 \x3d null;\nvar G__31428__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31428__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31428 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31428__1.call(this,x);\ncase 2:\nreturn G__31428__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31428.cljs$core$IFn$_invoke$arity$1 \x3d G__31428__1;\nG__31428.cljs$core$IFn$_invoke$arity$2 \x3d G__31428__2;\nreturn G__31428;\n})()\n);\n\n(cljs.core.ValSeq.prototype.lastIndexOf \x3d (function() {\nvar G__31429 \x3d null;\nvar G__31429__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31429__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);\n});\nG__31429 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__31429__1.call(this,x);\ncase 2:\nreturn G__31429__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31429.cljs$core$IFn$_invoke$arity$1 \x3d G__31429__1;\nG__31429.cljs$core$IFn$_invoke$arity$2 \x3d G__31429__2;\nreturn G__31429;\n})()\n);\n\n(cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__._meta;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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));\nif((nseq \x3d\x3d null)){\nreturn null;\n} else {\nreturn (new cljs.core.ValSeq(nseq,null));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.hash_ordered_coll(coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.equiv_sequential(coll__$1,other);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (coll,f){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (coll,f,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar me \x3d self__.mseq.cljs$core$ISeq$_first$arity$1(null);\nreturn me.cljs$core$IMapEntry$_val$arity$1(null);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar nseq \x3d (((((!((self__.mseq \x3d\x3d null))))?(((((self__.mseq.cljs$lang$protocol_mask$partition0$ \x26 (128))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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));\nif((!((nseq \x3d\x3d null)))){\nreturn (new cljs.core.ValSeq(nseq,null));\n} else {\nreturn cljs.core.List.EMPTY;\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1;\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__._meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.ValSeq(self__.mseq,new_meta));\n}\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.cons(o,coll__$1);\n}));\n\n(cljs.core.ValSeq.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22mseq\x22,\x22mseq\x22,1602647196,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22_meta\x22,\x22_meta\x22,-1716892533,null)], null);\n}));\n\n(cljs.core.ValSeq.cljs$lang$type \x3d true);\n\n(cljs.core.ValSeq.cljs$lang$ctorStr \x3d \x22cljs.core/ValSeq\x22);\n\n(cljs.core.ValSeq.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ValSeq\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ValSeq.\n */\ncljs.core.__GT_ValSeq \x3d (function cljs$core$__GT_ValSeq(mseq,_meta){\nreturn (new cljs.core.ValSeq(mseq,_meta));\n});\n\n(cljs.core.ValSeq.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a sequence of the map\x27s values, in the same order as (seq map).\n */\ncljs.core.vals \x3d (function cljs$core$vals(map){\nvar temp__5823__auto__ \x3d cljs.core.seq(map);\nif(temp__5823__auto__){\nvar mseq \x3d temp__5823__auto__;\nreturn (new cljs.core.ValSeq(mseq,null));\n} else {\nreturn null;\n}\n});\n/**\n * Returns the value in the map entry.\n */\ncljs.core.val \x3d (function cljs$core$val(map_entry){\nreturn cljs.core._val(map_entry);\n});\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping from\n * the latter (left-to-right) will be the mapping in the result.\n */\ncljs.core.merge \x3d (function cljs$core$merge(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31435 \x3d arguments.length;\nvar i__5750__auto___31436 \x3d (0);\nwhile(true){\nif((i__5750__auto___31436 \x3c len__5749__auto___31435)){\nargs__5755__auto__.push((arguments[i__5750__auto___31436]));\n\nvar G__31437 \x3d (i__5750__auto___31436 + (1));\ni__5750__auto___31436 \x3d G__31437;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic \x3d (function (maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((function (p1__27988_SHARP_,p2__27989_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d p1__27988_SHARP_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),p2__27989_SHARP_);\n}),maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.merge.cljs$lang$applyTo \x3d (function (seq27990){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq27990));\n}));\n\n/**\n * Returns a map that consists of the rest of the maps conj-ed onto\n * the first. If a key occurs in more than one map, the mapping(s)\n * from the latter (left-to-right) will be combined with the mapping in\n * the result by calling (f val-in-result val-in-latter).\n */\ncljs.core.merge_with \x3d (function cljs$core$merge_with(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31440 \x3d arguments.length;\nvar i__5750__auto___31441 \x3d (0);\nwhile(true){\nif((i__5750__auto___31441 \x3c len__5749__auto___31440)){\nargs__5755__auto__.push((arguments[i__5750__auto___31441]));\n\nvar G__31442 \x3d (i__5750__auto___31441 + (1));\ni__5750__auto___31441 \x3d G__31442;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,maps){\nif(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){\nvar merge_entry \x3d (function (m,e){\nvar k \x3d cljs.core.key(e);\nvar v \x3d cljs.core.val(e);\nif(cljs.core.contains_QMARK_(m,k)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__27993 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nvar G__27994 \x3d v;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__27993,G__27994) : f.call(null,G__27993,G__27994));\n})());\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}\n});\nvar merge2 \x3d (function (m1,m2){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(merge_entry,(function (){var or__5025__auto__ \x3d m1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})(),cljs.core.seq(m2));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(merge2,maps);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.merge_with.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.merge_with.cljs$lang$applyTo \x3d (function (seq27991){\nvar G__27992 \x3d cljs.core.first(seq27991);\nvar seq27991__$1 \x3d cljs.core.next(seq27991);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__27992,seq27991__$1);\n}));\n\n/**\n * Returns a map containing only those entries in map whose key is in keys\n */\ncljs.core.select_keys \x3d (function cljs$core$select_keys(map,keyseq){\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar keys \x3d cljs.core.seq(keyseq);\nwhile(true){\nif(keys){\nvar key \x3d cljs.core.first(keys);\nvar entry \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map,key,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185));\nvar G__31443 \x3d ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(entry,new cljs.core.Keyword(\x22cljs.core\x22,\x22not-found\x22,\x22cljs.core/not-found\x22,-1572889185)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,key,entry):ret);\nvar G__31444 \x3d cljs.core.next(keys);\nret \x3d G__31443;\nkeys \x3d G__31444;\ncontinue;\n} else {\nreturn cljs.core._with_meta(ret,cljs.core.meta(map));\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.HashSetIter \x3d (function (iter){\nthis.iter \x3d iter;\n});\n(cljs.core.HashSetIter.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.iter.hasNext();\n}));\n\n(cljs.core.HashSetIter.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(self__.iter.hasNext()){\nreturn self__.iter.next().key;\n} else {\nthrow (new Error(\x22No such element\x22));\n}\n}));\n\n(cljs.core.HashSetIter.prototype.remove \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (new Error(\x22Unsupported operation\x22));\n}));\n\n(cljs.core.HashSetIter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22iter\x22,\x22iter\x22,-1346195486,null)], null);\n}));\n\n(cljs.core.HashSetIter.cljs$lang$type \x3d true);\n\n(cljs.core.HashSetIter.cljs$lang$ctorStr \x3d \x22cljs.core/HashSetIter\x22);\n\n(cljs.core.HashSetIter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/HashSetIter\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/HashSetIter.\n */\ncljs.core.__GT_HashSetIter \x3d (function cljs$core$__GT_HashSetIter(iter){\nreturn (new cljs.core.HashSetIter(iter));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IEditableCollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentHashSet \x3d (function (meta,hash_map,__hash){\nthis.meta \x3d meta;\nthis.hash_map \x3d hash_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 15077647;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139268;\n});\n(cljs.core.PersistentHashSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentHashSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentHashSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentHashSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__27998 \x3d cljs.core.seq(coll);\nvar chunk__27999 \x3d null;\nvar count__28000 \x3d (0);\nvar i__28001 \x3d (0);\nwhile(true){\nif((i__28001 \x3c count__28000)){\nvar vec__28008 \x3d chunk__27999.cljs$core$IIndexed$_nth$arity$2(null,i__28001);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28008,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28008,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31447 \x3d seq__27998;\nvar G__31448 \x3d chunk__27999;\nvar G__31449 \x3d count__28000;\nvar G__31450 \x3d (i__28001 + (1));\nseq__27998 \x3d G__31447;\nchunk__27999 \x3d G__31448;\ncount__28000 \x3d G__31449;\ni__28001 \x3d G__31450;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__27998);\nif(temp__5823__auto__){\nvar seq__27998__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__27998__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__27998__$1);\nvar G__31451 \x3d cljs.core.chunk_rest(seq__27998__$1);\nvar G__31452 \x3d c__5548__auto__;\nvar G__31453 \x3d cljs.core.count(c__5548__auto__);\nvar G__31454 \x3d (0);\nseq__27998 \x3d G__31451;\nchunk__27999 \x3d G__31452;\ncount__28000 \x3d G__31453;\ni__28001 \x3d G__31454;\ncontinue;\n} else {\nvar vec__28011 \x3d cljs.core.first(seq__27998__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28011,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28011,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31455 \x3d cljs.core.next(seq__27998__$1);\nvar G__31456 \x3d null;\nvar G__31457 \x3d (0);\nvar G__31458 \x3d (0);\nseq__27998 \x3d G__31455;\nchunk__27999 \x3d G__31456;\ncount__28000 \x3d G__31457;\ni__28001 \x3d G__31458;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar temp__5821__auto__ \x3d cljs.core._find(self__.hash_map,v);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar entry \x3d temp__5821__auto__;\nreturn cljs.core.key(entry);\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.HashSetIter(cljs.core._iterator(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,self__.hash_map,self__.__hash));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._count(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5023__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5023__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__27996_SHARP_,p2__27995_SHARP_){\nvar or__5025__auto__ \x3d cljs.core.contains_QMARK_(other,p2__27995_SHARP_);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.hash_map);\n}catch (e28014){if((e28014 instanceof Error)){\nvar ex \x3d e28014;\nreturn false;\n} else {\nthrow e28014;\n\n}\n}} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.TransientHashSet(cljs.core._as_transient(self__.hash_map)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,self__.meta);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core._dissoc(self__.hash_map,v),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.hash_map);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentHashSet(new_meta,self__.hash_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.hash_map,o,null),null));\n}));\n\n(cljs.core.PersistentHashSet.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28015 \x3d (arguments.length - (1));\nswitch (G__28015) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentHashSet.prototype.apply \x3d (function (self__,args27997){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args27997)));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentHashSet\x22);\n\n(cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentHashSet.\n */\ncljs.core.__GT_PersistentHashSet \x3d (function cljs$core$__GT_PersistentHashSet(meta,hash_map,__hash){\nreturn (new cljs.core.PersistentHashSet(meta,hash_map,__hash));\n});\n\n(cljs.core.PersistentHashSet.EMPTY \x3d (new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentHashSet.fromArray \x3d (function (items,no_clone){\nvar len \x3d items.length;\nif((len \x3c\x3d cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){\nvar arr \x3d ((no_clone)?items:cljs.core.aclone(items));\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__31469 \x3d (i + (1));\nvar G__31470 \x3d cljs.core._assoc_BANG_(out,(items[i]),null);\ni \x3d G__31469;\nout \x3d G__31470;\ncontinue;\n} else {\nreturn (new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(out),null));\n}\nbreak;\n}\n} else {\nvar i \x3d (0);\nvar out \x3d cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c len)){\nvar G__31474 \x3d (i + (1));\nvar G__31475 \x3d cljs.core._conj_BANG_(out,(items[i]));\ni \x3d G__31474;\nout \x3d G__31475;\ncontinue;\n} else {\nreturn cljs.core._persistent_BANG_(out);\n}\nbreak;\n}\n}\n}));\n(cljs.core.PersistentHashSet.createWithCheck \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5616__auto___31476 \x3d len;\nvar i_31477 \x3d (0);\nwhile(true){\nif((i_31477 \x3c n__5616__auto___31476)){\ncljs.core._conj_BANG_(t,(items[i_31477]));\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),(i_31477 + (1)))){\n} else {\nthrow (new Error([\x22Duplicate key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((items[i_31477]))].join(\x27\x27)));\n}\n\nvar G__31478 \x3d (i_31477 + (1));\ni_31477 \x3d G__31478;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.createAsIfByAssoc \x3d (function (items){\nvar len \x3d items.length;\nvar t \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nvar n__5616__auto___31479 \x3d len;\nvar i_31480 \x3d (0);\nwhile(true){\nif((i_31480 \x3c n__5616__auto___31479)){\ncljs.core._conj_BANG_(t,(items[i_31480]));\n\nvar G__31481 \x3d (i_31480 + (1));\ni_31480 \x3d G__31481;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core._persistent_BANG_(t);\n}));\n(cljs.core.PersistentHashSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.ITransientSet}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ITransientCollection}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TransientHashSet \x3d (function (transient_map){\nthis.transient_map \x3d transient_map;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 136;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 259;\n});\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 \x3d (function (tcoll,o){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(self__.transient_map,o,null));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn (new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(self__.transient_map),null));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\n(self__.transient_map \x3d cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(self__.transient_map,v));\n\nreturn tcoll__$1;\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (tcoll){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn cljs.core.count(self__.transient_map);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (tcoll,v){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nreturn tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (tcoll,v,not_found){\nvar self__ \x3d this;\nvar tcoll__$1 \x3d this;\nif((cljs.core._lookup(self__.transient_map,v,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn v;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28017 \x3d (arguments.length - (1));\nswitch (G__28017) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.apply \x3d (function (self__,args28016){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28016)));\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn null;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar tcoll \x3d this;\nif((cljs.core._lookup(self__.transient_map,k,cljs.core.lookup_sentinel) \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nreturn not_found;\n} else {\nreturn k;\n}\n}));\n\n(cljs.core.TransientHashSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22transient-map\x22,\x22transient-map\x22,351764893,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.TransientHashSet.cljs$lang$type \x3d true);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorStr \x3d \x22cljs.core/TransientHashSet\x22);\n\n(cljs.core.TransientHashSet.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TransientHashSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TransientHashSet.\n */\ncljs.core.__GT_TransientHashSet \x3d (function cljs$core$__GT_TransientHashSet(transient_map){\nreturn (new cljs.core.TransientHashSet(transient_map));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IReversible}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ISet}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISorted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.PersistentTreeSet \x3d (function (meta,tree_map,__hash){\nthis.meta \x3d meta;\nthis.tree_map \x3d tree_map;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 417730831;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 8192;\n});\n(cljs.core.PersistentTreeSet.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.keys \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.entries \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.values \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.es6_iterator(cljs.core.seq(coll));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.has \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.contains_QMARK_(coll,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.forEach \x3d (function (f){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar seq__28021 \x3d cljs.core.seq(coll);\nvar chunk__28022 \x3d null;\nvar count__28023 \x3d (0);\nvar i__28024 \x3d (0);\nwhile(true){\nif((i__28024 \x3c count__28023)){\nvar vec__28031 \x3d chunk__28022.cljs$core$IIndexed$_nth$arity$2(null,i__28024);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28031,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28031,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31486 \x3d seq__28021;\nvar G__31487 \x3d chunk__28022;\nvar G__31488 \x3d count__28023;\nvar G__31489 \x3d (i__28024 + (1));\nseq__28021 \x3d G__31486;\nchunk__28022 \x3d G__31487;\ncount__28023 \x3d G__31488;\ni__28024 \x3d G__31489;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__28021);\nif(temp__5823__auto__){\nvar seq__28021__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28021__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28021__$1);\nvar G__31491 \x3d cljs.core.chunk_rest(seq__28021__$1);\nvar G__31492 \x3d c__5548__auto__;\nvar G__31493 \x3d cljs.core.count(c__5548__auto__);\nvar G__31494 \x3d (0);\nseq__28021 \x3d G__31491;\nchunk__28022 \x3d G__31492;\ncount__28023 \x3d G__31493;\ni__28024 \x3d G__31494;\ncontinue;\n} else {\nvar vec__28034 \x3d cljs.core.first(seq__28021__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28034,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28034,(1),null);\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n\n\nvar G__31498 \x3d cljs.core.next(seq__28021__$1);\nvar G__31499 \x3d null;\nvar G__31500 \x3d (0);\nvar G__31501 \x3d (0);\nseq__28021 \x3d G__31498;\nchunk__28022 \x3d G__31499;\ncount__28023 \x3d G__31500;\ni__28024 \x3d G__31501;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (coll,v,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar n \x3d self__.tree_map.entry_at(v);\nif((!((n \x3d\x3d null)))){\nreturn n.key;\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,self__.tree_map,self__.__hash));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.count(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((cljs.core.count(self__.tree_map) \x3e (0))){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(self__.tree_map));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_unordered_coll(coll__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (coll,other){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar and__5023__auto__ \x3d cljs.core.set_QMARK_(other);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (cljs.core.count(coll__$1) \x3d\x3d\x3d cljs.core.count(other));\nif(and__5023__auto____$1){\ntry{return cljs.core.reduce_kv((function (p1__28019_SHARP_,p2__28018_SHARP_){\nvar or__5025__auto__ \x3d cljs.core.contains_QMARK_(other,p2__28018_SHARP_);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.reduced(false);\n}\n}),true,self__.tree_map);\n}catch (e28037){if((e28037 instanceof Error)){\nvar ex \x3d e28037;\nreturn false;\n} else {\nthrow e28037;\n\n}\n}} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core._empty(self__.tree_map),(0)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 \x3d (function (coll,v){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.tree_map,v),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.keys(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (coll,new_meta){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn coll__$1;\n} else {\nreturn (new cljs.core.PersistentTreeSet(new_meta,self__.tree_map,self__.__hash));\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (coll,o){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.tree_map,o,null),null));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28038 \x3d (arguments.length - (1));\nswitch (G__28038) {\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.PersistentTreeSet.prototype.apply \x3d (function (self__,args28020){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28020)));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$2(null,k);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,not_found){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 \x3d (function (coll,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(self__.tree_map,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 \x3d (function (coll,k,ascending_QMARK_){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(self__.tree_map,k,ascending_QMARK_));\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 \x3d (function (coll,entry){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn entry;\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._comparator(self__.tree_map);\n}));\n\n(cljs.core.PersistentTreeSet.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22tree-map\x22,\x22tree-map\x22,1373073049,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.PersistentTreeSet.cljs$lang$type \x3d true);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorStr \x3d \x22cljs.core/PersistentTreeSet\x22);\n\n(cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/PersistentTreeSet\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/PersistentTreeSet.\n */\ncljs.core.__GT_PersistentTreeSet \x3d (function cljs$core$__GT_PersistentTreeSet(meta,tree_map,__hash){\nreturn (new cljs.core.PersistentTreeSet(meta,tree_map,__hash));\n});\n\n(cljs.core.PersistentTreeSet.EMPTY \x3d (new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash)));\n(cljs.core.PersistentTreeSet.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\ncljs.core.set_from_indexed_seq \x3d (function cljs$core$set_from_indexed_seq(iseq){\nvar arr \x3d iseq.arr;\nvar ret \x3d (function (){var a__5613__auto__ \x3d arr;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar i \x3d (0);\nvar res \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((i \x3c l__5614__auto__)){\nvar G__31525 \x3d (i + (1));\nvar G__31526 \x3d cljs.core._conj_BANG_(res,(arr[i]));\ni \x3d G__31525;\nres \x3d G__31526;\ncontinue;\n} else {\nreturn res;\n}\nbreak;\n}\n})();\nreturn ret.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null);\n});\n/**\n * Returns a set of the distinct elements of coll.\n */\ncljs.core.set \x3d (function cljs$core$set(coll){\nif(cljs.core.set_QMARK_(coll)){\nreturn cljs.core.with_meta(coll,null);\n} else {\nvar in$ \x3d cljs.core.seq(coll);\nif((in$ \x3d\x3d null)){\nreturn cljs.core.PersistentHashSet.EMPTY;\n} else {\nif((((in$ instanceof cljs.core.IndexedSeq)) \x26\x26 ((in$.i \x3d\x3d\x3d (0))))){\nreturn cljs.core.PersistentHashSet.createAsIfByAssoc(in$.arr);\n} else {\nvar in$__$1 \x3d in$;\nvar out \x3d cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);\nwhile(true){\nif((!((in$__$1 \x3d\x3d null)))){\nvar G__31536 \x3d cljs.core.next(in$__$1);\nvar G__31537 \x3d cljs.core._conj_BANG_(out,cljs.core._first(in$__$1));\nin$__$1 \x3d G__31536;\nout \x3d G__31537;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(out);\n}\nbreak;\n}\n\n}\n}\n}\n});\n/**\n * Returns a new hash set with supplied keys. Any equal keys are\n * handled as if by repeated uses of conj.\n */\ncljs.core.hash_set \x3d (function cljs$core$hash_set(var_args){\nvar G__28041 \x3d arguments.length;\nswitch (G__28041) {\ncase 0:\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31544 \x3d arguments.length;\nvar i__5750__auto___31546 \x3d (0);\nwhile(true){\nif((i__5750__auto___31546 \x3c len__5749__auto___31544)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31546]));\n\nvar G__31547 \x3d (i__5750__auto___31546 + (1));\ni__5750__auto___31546 \x3d G__31547;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((0) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.set(keys);\n}));\n\n/** @this {Function} */\n(cljs.core.hash_set.cljs$lang$applyTo \x3d (function (seq28040){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28040));\n}));\n\n(cljs.core.hash_set.cljs$lang$maxFixedArity \x3d (0));\n\n/**\n * Returns a new sorted set with supplied keys.\n */\ncljs.core.sorted_set \x3d (function cljs$core$sorted_set(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31552 \x3d arguments.length;\nvar i__5750__auto___31553 \x3d (0);\nwhile(true){\nif((i__5750__auto___31553 \x3c len__5749__auto___31552)){\nargs__5755__auto__.push((arguments[i__5750__auto___31553]));\n\nvar G__31555 \x3d (i__5750__auto___31553 + (1));\ni__5750__auto___31553 \x3d G__31555;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,keys);\n}));\n\n(cljs.core.sorted_set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.sorted_set.cljs$lang$applyTo \x3d (function (seq28042){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28042));\n}));\n\n/**\n * Returns a new sorted set with supplied keys, using the supplied comparator.\n */\ncljs.core.sorted_set_by \x3d (function cljs$core$sorted_set_by(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31564 \x3d arguments.length;\nvar i__5750__auto___31565 \x3d (0);\nwhile(true){\nif((i__5750__auto___31565 \x3c len__5749__auto___31564)){\nargs__5755__auto__.push((arguments[i__5750__auto___31565]));\n\nvar G__31567 \x3d (i__5750__auto___31565 + (1));\ni__5750__auto___31565 \x3d G__31567;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic \x3d (function (comparator,keys){\nreturn 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);\n}));\n\n(cljs.core.sorted_set_by.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.sorted_set_by.cljs$lang$applyTo \x3d (function (seq28043){\nvar G__28044 \x3d cljs.core.first(seq28043);\nvar seq28043__$1 \x3d cljs.core.next(seq28043);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28044,seq28043__$1);\n}));\n\n/**\n * Given a map of replacement pairs and a vector/collection, returns a\n * vector/seq with any elements \x3d a key in smap replaced with the\n * corresponding val in smap. Returns a transducer when no collection\n * is provided.\n */\ncljs.core.replace \x3d (function cljs$core$replace(var_args){\nvar G__28048 \x3d arguments.length;\nswitch (G__28048) {\ncase 1:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.replace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$1 \x3d (function (smap){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__28045_SHARP_){\nvar temp__5821__auto__ \x3d cljs.core.find(smap,p1__28045_SHARP_);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar e \x3d temp__5821__auto__;\nreturn cljs.core.val(e);\n} else {\nreturn p1__28045_SHARP_;\n}\n}));\n}));\n\n(cljs.core.replace.cljs$core$IFn$_invoke$arity$2 \x3d (function (smap,coll){\nif(cljs.core.vector_QMARK_(coll)){\nvar n \x3d cljs.core.count(coll);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,i){\nvar temp__5821__auto__ \x3d cljs.core.find(smap,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,i));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar e \x3d temp__5821__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,i,cljs.core.second(e));\n} else {\nreturn v;\n}\n}),coll,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.iterate(cljs.core.inc,(0))));\n} else {\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28046_SHARP_){\nvar temp__5821__auto__ \x3d cljs.core.find(smap,p1__28046_SHARP_);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar e \x3d temp__5821__auto__;\nreturn cljs.core.second(e);\n} else {\nreturn p1__28046_SHARP_;\n}\n}),coll);\n}\n}));\n\n(cljs.core.replace.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence of the elements of coll with duplicates removed.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.distinct \x3d (function cljs$core$distinct(var_args){\nvar G__28050 \x3d arguments.length;\nswitch (G__28050) {\ncase 0:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar seen \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\nreturn (function() {\nvar G__31581 \x3d null;\nvar G__31581__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31581__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31581__2 \x3d (function (result,input){\nif(cljs.core.contains_QMARK_(cljs.core.deref(seen),input)){\nreturn result;\n} else {\nseen.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen.cljs$core$IDeref$_deref$arity$1(null),input));\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__31581 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31581__0.call(this);\ncase 1:\nreturn G__31581__1.call(this,result);\ncase 2:\nreturn G__31581__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31581.cljs$core$IFn$_invoke$arity$0 \x3d G__31581__0;\nG__31581.cljs$core$IFn$_invoke$arity$1 \x3d G__31581__1;\nG__31581.cljs$core$IFn$_invoke$arity$2 \x3d G__31581__2;\nreturn G__31581;\n})()\n});\n}));\n\n(cljs.core.distinct.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar step \x3d (function cljs$core$step(xs,seen){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn (function (p__28051,seen__$1){\nwhile(true){\nvar vec__28052 \x3d p__28051;\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28052,(0),null);\nvar xs__$1 \x3d vec__28052;\nvar temp__5823__auto__ \x3d cljs.core.seq(xs__$1);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.contains_QMARK_(seen__$1,f)){\nvar G__31587 \x3d cljs.core.rest(s);\nvar G__31588 \x3d seen__$1;\np__28051 \x3d G__31587;\nseen__$1 \x3d G__31588;\ncontinue;\n} else {\nreturn cljs.core.cons(f,cljs$core$step(cljs.core.rest(s),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen__$1,f)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})(xs,seen);\n}),null,null));\n});\nreturn step(coll,cljs.core.PersistentHashSet.EMPTY);\n}));\n\n(cljs.core.distinct.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Return a seq of all but the last item in coll, in linear time\n */\ncljs.core.butlast \x3d (function cljs$core$butlast(s){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar s__$1 \x3d s;\nwhile(true){\nif(cljs.core.next(s__$1)){\nvar G__31590 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.first(s__$1));\nvar G__31591 \x3d cljs.core.next(s__$1);\nret \x3d G__31590;\ns__$1 \x3d G__31591;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\n/**\n * Returns the name String of a string, symbol or keyword.\n */\ncljs.core.name \x3d (function cljs$core$name(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$INamed$))))?true:false):false)){\nreturn x.cljs$core$INamed$_name$arity$1(null);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nthrow (new Error([\x22Doesn\x27t support name: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join(\x27\x27)));\n}\n}\n});\n/**\n * Returns a map with the keys mapped to the corresponding vals.\n */\ncljs.core.zipmap \x3d (function cljs$core$zipmap(keys,vals){\nvar map \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nvar ks \x3d cljs.core.seq(keys);\nvar vs \x3d cljs.core.seq(vals);\nwhile(true){\nif(((ks) \x26\x26 (vs))){\nvar G__31592 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(map,cljs.core.first(ks),cljs.core.first(vs));\nvar G__31593 \x3d cljs.core.next(ks);\nvar G__31594 \x3d cljs.core.next(vs);\nmap \x3d G__31592;\nks \x3d G__31593;\nvs \x3d G__31594;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(map);\n}\nbreak;\n}\n});\n/**\n * Returns the x for which (k x), a number, is greatest.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.max_key \x3d (function cljs$core$max_key(var_args){\nvar G__28063 \x3d arguments.length;\nswitch (G__28063) {\ncase 2:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31596 \x3d arguments.length;\nvar i__5750__auto___31597 \x3d (0);\nwhile(true){\nif((i__5750__auto___31597 \x3c len__5749__auto___31596)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31597]));\n\nvar G__31598 \x3d (i__5750__auto___31597 + (1));\ni__5750__auto___31597 \x3d G__31598;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3e (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28056_SHARP_,p2__28057_SHARP_){\nreturn cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,p1__28056_SHARP_,p2__28057_SHARP_);\n}),cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.max_key.cljs$lang$applyTo \x3d (function (seq28059){\nvar G__28060 \x3d cljs.core.first(seq28059);\nvar seq28059__$1 \x3d cljs.core.next(seq28059);\nvar G__28061 \x3d cljs.core.first(seq28059__$1);\nvar seq28059__$2 \x3d cljs.core.next(seq28059__$1);\nvar G__28062 \x3d cljs.core.first(seq28059__$2);\nvar seq28059__$3 \x3d cljs.core.next(seq28059__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28060,G__28061,G__28062,seq28059__$3);\n}));\n\n(cljs.core.max_key.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * Returns the x for which (k x), a number, is least.\n * \n * If there are multiple such xs, the last one is returned.\n */\ncljs.core.min_key \x3d (function cljs$core$min_key(var_args){\nvar G__28071 \x3d arguments.length;\nswitch (G__28071) {\ncase 2:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31601 \x3d arguments.length;\nvar i__5750__auto___31602 \x3d (0);\nwhile(true){\nif((i__5750__auto___31602 \x3c len__5749__auto___31601)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31602]));\n\nvar G__31603 \x3d (i__5750__auto___31602 + (1));\ni__5750__auto___31602 \x3d G__31603;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,x){\nreturn x;\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,x,y){\nif(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) \x3c (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){\nreturn x;\n} else {\nreturn y;\n}\n}));\n\n(cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic \x3d (function (k,x,y,more){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28064_SHARP_,p2__28065_SHARP_){\nreturn cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,p1__28064_SHARP_,p2__28065_SHARP_);\n}),cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);\n}));\n\n/** @this {Function} */\n(cljs.core.min_key.cljs$lang$applyTo \x3d (function (seq28067){\nvar G__28068 \x3d cljs.core.first(seq28067);\nvar seq28067__$1 \x3d cljs.core.next(seq28067);\nvar G__28069 \x3d cljs.core.first(seq28067__$1);\nvar seq28067__$2 \x3d cljs.core.next(seq28067__$1);\nvar G__28070 \x3d cljs.core.first(seq28067__$2);\nvar seq28067__$3 \x3d cljs.core.next(seq28067__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28068,G__28069,G__28070,seq28067__$3);\n}));\n\n(cljs.core.min_key.cljs$lang$maxFixedArity \x3d (3));\n\n\n/**\n* @constructor\n*/\ncljs.core.ArrayList \x3d (function (arr){\nthis.arr \x3d arr;\n});\n(cljs.core.ArrayList.prototype.add \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.push(x);\n}));\n\n(cljs.core.ArrayList.prototype.size \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr.length;\n}));\n\n(cljs.core.ArrayList.prototype.clear \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr \x3d []);\n}));\n\n(cljs.core.ArrayList.prototype.isEmpty \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.arr.length \x3d\x3d\x3d (0));\n}));\n\n(cljs.core.ArrayList.prototype.toArray \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.arr;\n}));\n\n(cljs.core.ArrayList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.ArrayList.cljs$lang$type \x3d true);\n\n(cljs.core.ArrayList.cljs$lang$ctorStr \x3d \x22cljs.core/ArrayList\x22);\n\n(cljs.core.ArrayList.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/ArrayList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/ArrayList.\n */\ncljs.core.__GT_ArrayList \x3d (function cljs$core$__GT_ArrayList(arr){\nreturn (new cljs.core.ArrayList(arr));\n});\n\ncljs.core.array_list \x3d (function cljs$core$array_list(){\nreturn (new cljs.core.ArrayList([]));\n});\n/**\n * Returns a lazy sequence of lists like partition, but may include\n * partitions with fewer than n items at the end. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_all \x3d (function cljs$core$partition_all(var_args){\nvar G__28073 \x3d arguments.length;\nswitch (G__28073) {\ncase 1:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nreturn (function() {\nvar G__31631 \x3d null;\nvar G__31631__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31631__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__31631__2 \x3d (function (result,input){\na.add(input);\n\nif((n \x3d\x3d\x3d a.size())){\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\n} else {\nreturn result;\n}\n});\nG__31631 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31631__0.call(this);\ncase 1:\nreturn G__31631__1.call(this,result);\ncase 2:\nreturn G__31631__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31631.cljs$core$IFn$_invoke$arity$0 \x3d G__31631__0;\nG__31631.cljs$core$IFn$_invoke$arity$1 \x3d G__31631__1;\nG__31631.cljs$core$IFn$_invoke$arity$2 \x3d G__31631__2;\nreturn G__31631;\n})()\n});\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nreturn 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)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a vector of [(into [] (take n) coll) (drop n coll)]\n */\ncljs.core.splitv_at \x3d (function cljs$core$splitv_at(n,coll){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);\n});\n/**\n * Returns a lazy sequence of vectors of n items each, at offsets step\n * apart. If step is not supplied, defaults to n, i.e. the partitions\n * do not overlap. If a pad collection is supplied, use its elements as\n * necessary to complete last partition upto n items. In case there are\n * not enough padding elements, return a partition with less than n items.\n */\ncljs.core.partitionv \x3d (function cljs$core$partitionv(var_args){\nvar G__28075 \x3d arguments.length;\nswitch (G__28075) {\ncase 2:\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partitionv.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar p \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),s);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partitionv.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.nthrest(s,step)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partitionv.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,step,pad,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar p \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),s);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,cljs.core.count(p))){\nreturn cljs.core.cons(p,cljs.core.partitionv.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.nthrest(s,step)));\n} else {\nreturn (new cljs.core.List(null,cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad)),null,(1),null));\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partitionv.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns a lazy sequence of vector partitions, but may include\n * partitions with fewer than n items at the end.\n * Returns a stateful transducer when no collection is provided.\n */\ncljs.core.partitionv_all \x3d (function cljs$core$partitionv_all(var_args){\nvar G__28077 \x3d arguments.length;\nswitch (G__28077) {\ncase 1:\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1(n);\n}));\n\n(cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nreturn cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);\n}));\n\n(cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,step,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar seg \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.take.cljs$core$IFn$_invoke$arity$1(n),coll);\nreturn cljs.core.cons(seg,cljs.core.partitionv_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partitionv_all.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy sequence of successive items from coll while\n * (pred item) returns logical true. pred must be free of side-effects.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.take_while \x3d (function cljs$core$take_while(var_args){\nvar G__28079 \x3d arguments.length;\nswitch (G__28079) {\ncase 1:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn (function (rf){\nreturn (function() {\nvar G__31641 \x3d null;\nvar G__31641__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31641__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31641__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn cljs.core.reduced(result);\n}\n});\nG__31641 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31641__0.call(this);\ncase 1:\nreturn G__31641__1.call(this,result);\ncase 2:\nreturn G__31641__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31641.cljs$core$IFn$_invoke$arity$0 \x3d G__31641__0;\nG__31641.cljs$core$IFn$_invoke$arity$1 \x3d G__31641__1;\nG__31641.cljs$core$IFn$_invoke$arity$2 \x3d G__31641__2;\nreturn G__31641;\n})()\n});\n}));\n\n(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nif(cljs.core.truth_((function (){var G__28080 \x3d cljs.core.first(s);\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__28080) : pred.call(null,G__28080));\n})())){\nreturn cljs.core.cons(cljs.core.first(s),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.rest(s)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_while.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.core.mk_bound_fn \x3d (function cljs$core$mk_bound_fn(sc,test,key){\nreturn (function (e){\nvar comp \x3d cljs.core._comparator(sc);\nvar G__28081 \x3d (function (){var G__28083 \x3d cljs.core._entry_key(sc,e);\nvar G__28084 \x3d key;\nreturn (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__28083,G__28084) : comp.call(null,G__28083,G__28084));\n})();\nvar G__28082 \x3d (0);\nreturn (test.cljs$core$IFn$_invoke$arity$2 ? test.cljs$core$IFn$_invoke$arity$2(G__28081,G__28082) : test.call(null,G__28081,G__28082));\n});\n});\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.subseq \x3d (function cljs$core$subseq(var_args){\nvar G__28086 \x3d arguments.length;\nswitch (G__28086) {\ncase 3:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.subseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__28087 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);\nreturn (fexpr__28087.cljs$core$IFn$_invoke$arity$1 ? fexpr__28087.cljs$core$IFn$_invoke$arity$1(test) : fexpr__28087.call(null,test));\n})())){\nvar temp__5823__auto__ \x3d cljs.core._sorted_seq_from(sc,key,true);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar vec__28088 \x3d temp__5823__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28088,(0),null);\nvar s \x3d vec__28088;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,true));\n}\n}));\n\n(cljs.core.subseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5823__auto__ \x3d cljs.core._sorted_seq_from(sc,start_key,true);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar vec__28091 \x3d temp__5823__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28091,(0),null);\nvar s \x3d vec__28091;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,end_test,end_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,start_test,start_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.subseq.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * sc must be a sorted collection, test(s) one of \x3c, \x3c\x3d, \x3e or\n * \x3e\x3d. Returns a reverse seq of those entries with keys ek for\n * which (test (.. sc comparator (compare ek key)) 0) is true\n */\ncljs.core.rsubseq \x3d (function cljs$core$rsubseq(var_args){\nvar G__28095 \x3d arguments.length;\nswitch (G__28095) {\ncase 3:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 5:\nreturn cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3 \x3d (function (sc,test,key){\nvar include \x3d cljs.core.mk_bound_fn(sc,test,key);\nif(cljs.core.truth_((function (){var fexpr__28096 \x3d cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);\nreturn (fexpr__28096.cljs$core$IFn$_invoke$arity$1 ? fexpr__28096.cljs$core$IFn$_invoke$arity$1(test) : fexpr__28096.call(null,test));\n})())){\nvar temp__5823__auto__ \x3d cljs.core._sorted_seq_from(sc,key,false);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar vec__28097 \x3d temp__5823__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28097,(0),null);\nvar s \x3d vec__28097;\nif(cljs.core.truth_(include(e))){\nreturn s;\n} else {\nreturn cljs.core.next(s);\n}\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,false));\n}\n}));\n\n(cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5 \x3d (function (sc,start_test,start_key,end_test,end_key){\nvar temp__5823__auto__ \x3d cljs.core._sorted_seq_from(sc,end_key,false);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar vec__28100 \x3d temp__5823__auto__;\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28100,(0),null);\nvar s \x3d vec__28100;\nreturn cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,start_test,start_key),(cljs.core.truth_(cljs.core.mk_bound_fn(sc,end_test,end_key)(e))?s:cljs.core.next(s)));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.rsubseq.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.IChunk}\n*/\ncljs.core.IntegerRangeChunk \x3d (function (start,step,count){\nthis.start \x3d start;\nthis.step \x3d step;\nthis.count \x3d count;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 82;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.count;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (coll,i){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (self__.start + (i * self__.step));\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (coll,i,not_found){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((((i \x3e\x3d (0))) \x26\x26 ((i \x3c self__.count)))){\nreturn (self__.start + (i * self__.step));\n} else {\nreturn not_found;\n}\n}));\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRangeChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nif((self__.count \x3c\x3d (1))){\nthrow (new Error(\x22-drop-first of empty chunk\x22));\n} else {\nreturn (new cljs.core.IntegerRangeChunk((self__.start + self__.step),self__.step,(self__.count - (1))));\n}\n}));\n\n(cljs.core.IntegerRangeChunk.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null)], null);\n}));\n\n(cljs.core.IntegerRangeChunk.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRangeChunk\x22);\n\n(cljs.core.IntegerRangeChunk.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IntegerRangeChunk\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRangeChunk.\n */\ncljs.core.__GT_IntegerRangeChunk \x3d (function cljs$core$__GT_IntegerRangeChunk(start,step,count){\nreturn (new cljs.core.IntegerRangeChunk(start,step,count));\n});\n\n\n/**\n* @constructor\n*/\ncljs.core.RangeIterator \x3d (function (i,end,step){\nthis.i \x3d i;\nthis.end \x3d end;\nthis.step \x3d step;\n});\n(cljs.core.RangeIterator.prototype.hasNext \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.step \x3e (0))){\nreturn (self__.i \x3c self__.end);\n} else {\nreturn (self__.i \x3e self__.end);\n}\n}));\n\n(cljs.core.RangeIterator.prototype.next \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d self__.i;\n(self__.i \x3d (self__.i + self__.step));\n\nreturn ret;\n}));\n\n(cljs.core.RangeIterator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22i\x22,\x22i\x22,253690212,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null)], null);\n}));\n\n(cljs.core.RangeIterator.cljs$lang$type \x3d true);\n\n(cljs.core.RangeIterator.cljs$lang$ctorStr \x3d \x22cljs.core/RangeIterator\x22);\n\n(cljs.core.RangeIterator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/RangeIterator\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/RangeIterator.\n */\ncljs.core.__GT_RangeIterator \x3d (function cljs$core$__GT_RangeIterator(i,end,step){\nreturn (new cljs.core.RangeIterator(i,end,step));\n});\n\n/**\n * Returns exact size of remaining items in an IntegerRange.\n */\ncljs.core.range_count \x3d (function cljs$core$range_count(start,end,step){\nreturn Math.ceil(((end - start) / step));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IDrop}\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.IntegerRange \x3d (function (meta,start,end,step,cnt,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.cnt \x3d cnt;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32375006;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 402944;\n});\n(cljs.core.IntegerRange.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.IntegerRange.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.IntegerRange.prototype.indexOf \x3d (function() {\nvar G__31654 \x3d null;\nvar G__31654__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31654__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__31654 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__31654__1.call(this,x);\ncase 2:\nreturn G__31654__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31654.cljs$core$IFn$_invoke$arity$1 \x3d G__31654__1;\nG__31654.cljs$core$IFn$_invoke$arity$2 \x3d G__31654__2;\nreturn G__31654;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.lastIndexOf \x3d (function() {\nvar G__31661 \x3d null;\nvar G__31661__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31661__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__31661 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__31661__1.call(this,x);\ncase 2:\nreturn G__31661__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31661.cljs$core$IFn$_invoke$arity$1 \x3d G__31661__1;\nG__31661.cljs$core$IFn$_invoke$arity$2 \x3d G__31661__2;\nreturn G__31661;\n})()\n);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nthrow (new Error(\x22Index out of bounds\x22));\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (rng,n,not_found){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif(((((0) \x3c\x3d n)) \x26\x26 ((n \x3c rng__$1.cljs$core$ICounted$_count$arity$1(null))))){\nreturn (self__.start + (n * self__.step));\n} else {\nif(((((0) \x3c\x3d n)) \x26\x26 ((((self__.start \x3e self__.end)) \x26\x26 ((self__.step \x3d\x3d\x3d (0))))))){\nreturn self__.start;\n} else {\nreturn not_found;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.IntegerRange(self__.meta,self__.start,self__.end,self__.step,self__.cnt,self__.__hash));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,cljs.core.range_count((self__.start + self__.step),self__.end,self__.step),null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + self__.step),self__.end,self__.step,cljs.core.range_count((self__.start + self__.step),self__.end,self__.step),null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.cnt;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(rng__$1,f);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__31668 \x3d (i + self__.step);\nvar G__31669 \x3d ret__$1;\ni \x3d G__31668;\nret \x3d G__31669;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn (new cljs.core.IntegerRangeChunk(self__.start,self__.step,(function (){var x__5113__auto__ \x3d self__.cnt;\nvar y__5114__auto__ \x3d (32);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})()));\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.cnt \x3c\x3d (32))){\nreturn cljs.core.List.EMPTY;\n} else {\nvar start__$1 \x3d (self__.start + (self__.step * (32)));\nif((self__.step \x3e (0))){\nif((self__.end \x3c\x3d start__$1)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn (new cljs.core.IntegerRange(null,start__$1,self__.end,self__.step,cljs.core.range_count(start__$1,self__.end,self__.step),null));\n}\n} else {\nif((self__.step \x3c (0))){\nif((self__.end \x3e\x3d start__$1)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn (new cljs.core.IntegerRange(null,start__$1,self__.end,self__.step,cljs.core.range_count(start__$1,self__.end,self__.step),null));\n}\n} else {\nif((self__.end \x3d\x3d\x3d start__$1)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start__$1);\n}\n\n}\n}\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.IntegerRange(new_meta,self__.start,self__.end,self__.step,self__.cnt,self__.__hash));\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IDrop$_drop$arity$2 \x3d (function (rng,n){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((n \x3e (0))){\nif((n \x3c self__.cnt)){\nreturn (new cljs.core.IntegerRange(null,(self__.start + (self__.step * n)),self__.end,self__.step,(self__.cnt - n),null));\n} else {\nreturn null;\n}\n} else {\nreturn rng__$1;\n}\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.IntegerRange.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.IntegerRange.cljs$lang$type \x3d true);\n\n(cljs.core.IntegerRange.cljs$lang$ctorStr \x3d \x22cljs.core/IntegerRange\x22);\n\n(cljs.core.IntegerRange.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/IntegerRange\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/IntegerRange.\n */\ncljs.core.__GT_IntegerRange \x3d (function cljs$core$__GT_IntegerRange(meta,start,end,step,cnt,__hash){\nreturn (new cljs.core.IntegerRange(meta,start,end,step,cnt,__hash));\n});\n\n(cljs.core.IntegerRange.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.IChunkedNext}\n * @implements {cljs.core.IEmptyableCollection}\n * @implements {cljs.core.ISeq}\n * @implements {cljs.core.INext}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IChunkedSeq}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Range \x3d (function (meta,start,end,step,chunk,chunk_next,__hash){\nthis.meta \x3d meta;\nthis.start \x3d start;\nthis.end \x3d end;\nthis.step \x3d step;\nthis.chunk \x3d chunk;\nthis.chunk_next \x3d chunk_next;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 140800;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32374988;\n});\n(cljs.core.Range.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.Range.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.Range.prototype.indexOf \x3d (function() {\nvar G__31676 \x3d null;\nvar G__31676__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));\n});\nvar G__31676__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__31676 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__31676__1.call(this,x);\ncase 2:\nreturn G__31676__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31676.cljs$core$IFn$_invoke$arity$1 \x3d G__31676__1;\nG__31676.cljs$core$IFn$_invoke$arity$2 \x3d G__31676__2;\nreturn G__31676;\n})()\n);\n\n(cljs.core.Range.prototype.lastIndexOf \x3d (function() {\nvar G__31677 \x3d null;\nvar G__31677__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));\n});\nvar G__31677__2 \x3d (function (x,start__$1){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);\n});\nG__31677 \x3d function(x,start__$1){\nswitch(arguments.length){\ncase 1:\nreturn G__31677__1.call(this,x);\ncase 2:\nreturn G__31677__2.call(this,x,start__$1);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31677.cljs$core$IFn$_invoke$arity$1 \x3d G__31677__1;\nG__31677.cljs$core$IFn$_invoke$arity$2 \x3d G__31677__2;\nreturn G__31677;\n})()\n);\n\n(cljs.core.Range.prototype.forceChunk \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nif((self__.chunk \x3d\x3d null)){\nvar arr \x3d [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];\nvar val \x3d (function (){var n \x3d (0);\nvar val \x3d self__.start;\nwhile(true){\nif((n \x3c (32))){\n(arr[n] \x3d val);\n\nvar n__$1 \x3d (n + (1));\nvar val__$1 \x3d (val + self__.step);\nif((((self__.step \x3e (0)))?(val__$1 \x3c self__.end):(val__$1 \x3e self__.end))){\nvar G__31678 \x3d n__$1;\nvar G__31679 \x3d val__$1;\nn \x3d G__31678;\nval \x3d G__31679;\ncontinue;\n} else {\nreturn (self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n__$1));\n}\n} else {\nreturn val;\n}\nbreak;\n}\n})();\nif((self__.chunk \x3d\x3d null)){\n(self__.chunk \x3d cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),(32)));\n\nif((((self__.step \x3e (0)))?(val \x3c self__.end):(val \x3e self__.end))){\nreturn (self__.chunk_next \x3d (new cljs.core.Range(null,val,self__.end,self__.step,null,null,null)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));\n}));\n\n(cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.meta;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new cljs.core.Range(self__.meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}));\n\n(cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((self__.step \x3e (0))){\nif(((self__.start + self__.step) \x3c self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n} else {\nif(((self__.start + self__.step) \x3e self__.end)){\nreturn (new cljs.core.Range(null,(self__.start + self__.step),self__.end,self__.step,null,null,null));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d cljs.core.hash_ordered_coll(rng__$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (rng,other){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.equiv_sequential(rng__$1,other);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.List.EMPTY;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (rng,f){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (rng,f,init){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar i \x3d self__.start;\nvar ret \x3d init;\nwhile(true){\nif((((self__.step \x3e (0)))?(i \x3c self__.end):(i \x3e self__.end))){\nvar ret__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));\nif(cljs.core.reduced_QMARK_(ret__$1)){\nreturn cljs.core.deref(ret__$1);\n} else {\nvar G__31681 \x3d (i + self__.step);\nvar G__31682 \x3d ret__$1;\ni \x3d G__31681;\nret \x3d G__31682;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn self__.start;\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nvar s \x3d rng__$1.cljs$core$INext$_next$arity$1(null);\nif((s \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn s;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn rng__$1;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nreturn self__.chunk;\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nrng__$1.forceChunk();\n\nif((self__.chunk_next \x3d\x3d null)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn self__.chunk_next;\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (rng,new_meta){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nif((new_meta \x3d\x3d\x3d self__.meta)){\nreturn rng__$1;\n} else {\nreturn (new cljs.core.Range(new_meta,self__.start,self__.end,self__.step,self__.chunk,self__.chunk_next,self__.__hash));\n}\n}));\n\n(cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (rng,o){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.cons(o,rng__$1);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 \x3d (function (rng){\nvar self__ \x3d this;\nvar rng__$1 \x3d this;\nreturn cljs.core.seq(rng__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null));\n}));\n\n(cljs.core.Range.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22start\x22,\x22start\x22,1285322546,null),new cljs.core.Symbol(null,\x22end\x22,\x22end\x22,1372345569,null),new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Range.cljs$lang$type \x3d true);\n\n(cljs.core.Range.cljs$lang$ctorStr \x3d \x22cljs.core/Range\x22);\n\n(cljs.core.Range.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Range\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Range.\n */\ncljs.core.__GT_Range \x3d (function cljs$core$__GT_Range(meta,start,end,step,chunk,chunk_next,__hash){\nreturn (new cljs.core.Range(meta,start,end,step,chunk,chunk_next,__hash));\n});\n\n(cljs.core.Range.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a lazy seq of nums from start (inclusive) to end\n * (exclusive), by step, where start defaults to 0, step to 1,\n * and end to infinity.\n */\ncljs.core.range \x3d (function cljs$core$range(var_args){\nvar G__28104 \x3d arguments.length;\nswitch (G__28104) {\ncase 0:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),Number.MAX_VALUE,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$1 \x3d (function (end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$2 \x3d (function (start,end){\nreturn cljs.core.range.cljs$core$IFn$_invoke$arity$3(start,end,(1));\n}));\n\n(cljs.core.range.cljs$core$IFn$_invoke$arity$3 \x3d (function (start,end,step){\nif((step \x3e (0))){\nif((end \x3c\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,cljs.core.range_count(start,end,step),null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((step \x3c (0))){\nif((end \x3e\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nif(((cljs.core.integer_QMARK_(start)) \x26\x26 (((cljs.core.integer_QMARK_(end)) \x26\x26 (cljs.core.integer_QMARK_(step)))))){\nreturn (new cljs.core.IntegerRange(null,start,end,step,cljs.core.range_count(start,end,step),null));\n} else {\nreturn (new cljs.core.Range(null,start,end,step,null,null,null));\n}\n}\n} else {\nif((end \x3d\x3d\x3d start)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(start);\n}\n\n}\n}\n}));\n\n(cljs.core.range.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns a lazy seq of every nth item in coll. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.take_nth \x3d (function cljs$core$take_nth(var_args){\nvar G__28106 \x3d arguments.length;\nswitch (G__28106) {\ncase 1:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (function (rf){\nvar ia \x3d cljs.core.volatile_BANG_((-1));\nreturn (function() {\nvar G__31685 \x3d null;\nvar G__31685__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31685__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__31685__2 \x3d (function (result,input){\nvar i \x3d ia.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(ia.cljs$core$IDeref$_deref$arity$1(null) + (1)));\nif((cljs.core.rem(i,n) \x3d\x3d\x3d (0))){\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n} else {\nreturn result;\n}\n});\nG__31685 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31685__0.call(this);\ncase 1:\nreturn G__31685__1.call(this,result);\ncase 2:\nreturn G__31685__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31685.cljs$core$IFn$_invoke$arity$0 \x3d G__31685__0;\nG__31685.cljs$core$IFn$_invoke$arity$1 \x3d G__31685__1;\nG__31685.cljs$core$IFn$_invoke$arity$2 \x3d G__31685__2;\nreturn G__31685;\n})()\n});\n}));\n\n(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nif(typeof n \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? n)\x22));\n}\n\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nreturn 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)));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.take_nth.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a vector of [(take-while pred coll) (drop-while pred coll)]\n */\ncljs.core.split_with \x3d (function cljs$core$split_with(pred,coll){\nreturn 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);\n});\n/**\n * Applies f to each value in coll, splitting it each time f returns a\n * new value. Returns a lazy seq of partitions. Returns a stateful\n * transducer when no collection is provided.\n */\ncljs.core.partition_by \x3d (function cljs$core$partition_by(var_args){\nvar G__28109 \x3d arguments.length;\nswitch (G__28109) {\ncase 1:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function (rf){\nvar a \x3d cljs.core.array_list();\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__31694 \x3d null;\nvar G__31694__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__31694__1 \x3d (function (result){\nvar result__$1 \x3d (cljs.core.truth_(a.isEmpty())?result:(function (){var v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nreturn cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));\n})());\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));\n});\nvar G__31694__2 \x3d (function (result,input){\nvar pval \x3d cljs.core.deref(pa);\nvar val \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));\ncljs.core.vreset_BANG_(pa,val);\n\nif(((cljs.core.keyword_identical_QMARK_(pval,new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439))) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(val,pval)))){\na.add(input);\n\nreturn result;\n} else {\nvar v \x3d cljs.core.vec(a.toArray());\na.clear();\n\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));\nif(cljs.core.reduced_QMARK_(ret)){\n} else {\na.add(input);\n}\n\nreturn ret;\n}\n});\nG__31694 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__31694__0.call(this);\ncase 1:\nreturn G__31694__1.call(this,result);\ncase 2:\nreturn G__31694__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31694.cljs$core$IFn$_invoke$arity$0 \x3d G__31694__0;\nG__31694.cljs$core$IFn$_invoke$arity$1 \x3d G__31694__1;\nG__31694.cljs$core$IFn$_invoke$arity$2 \x3d G__31694__2;\nreturn G__31694;\n})()\n});\n}));\n\n(cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar fst \x3d cljs.core.first(s);\nvar fv \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(fst) : f.call(null,fst));\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__28107_SHARP_){\nreturn 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__28107_SHARP_) : f.call(null,p1__28107_SHARP_)));\n}),cljs.core.next(s)));\nreturn cljs.core.cons(run,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(f,(new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null))));\n} else {\nreturn null;\n}\n}),null,null));\n}));\n\n(cljs.core.partition_by.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a map from distinct items in coll to the number of times\n * they appear.\n */\ncljs.core.frequencies \x3d (function cljs$core$frequencies(coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (counts,x){\nreturn 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)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Returns a lazy seq of the intermediate values of the reduction (as\n * per reduce) of coll by f, starting with init.\n */\ncljs.core.reductions \x3d (function cljs$core$reductions(var_args){\nvar G__28111 \x3d arguments.length;\nswitch (G__28111) {\ncase 2:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,coll){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5821__auto__ \x3d cljs.core.seq(coll);\nif(temp__5821__auto__){\nvar s \x3d temp__5821__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.rest(s));\n} else {\nreturn (new cljs.core.List(null,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),null,(1),null));\n}\n}),null,null));\n}));\n\n(cljs.core.reductions.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,init,coll){\nif(cljs.core.reduced_QMARK_(init)){\nreturn (new cljs.core.List(null,cljs.core.deref(init),null,(1),null));\n} else {\nreturn cljs.core.cons(init,(new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nreturn cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,(function (){var G__28112 \x3d init;\nvar G__28113 \x3d cljs.core.first(s);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__28112,G__28113) : f.call(null,G__28112,G__28113));\n})(),cljs.core.rest(s));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n}));\n\n(cljs.core.reductions.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a set of functions and returns a fn that is the juxtaposition\n * of those fns. The returned fn takes a variable number of args, and\n * returns a vector containing the result of applying each fn to the\n * args (left-to-right).\n * ((juxt a b c) x) \x3d\x3e [(a x) (b x) (c x)]\n */\ncljs.core.juxt \x3d (function cljs$core$juxt(var_args){\nvar G__28129 \x3d arguments.length;\nswitch (G__28129) {\ncase 1:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___31700 \x3d arguments.length;\nvar i__5750__auto___31701 \x3d (0);\nwhile(true){\nif((i__5750__auto___31701 \x3c len__5749__auto___31700)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___31701]));\n\nvar G__31702 \x3d (i__5750__auto___31701 + (1));\ni__5750__auto___31701 \x3d G__31702;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn (function() {\nvar G__31703 \x3d null;\nvar G__31703__0 \x3d (function (){\nreturn (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));\n});\nvar G__31703__1 \x3d (function (x){\nreturn (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));\n});\nvar G__31703__2 \x3d (function (x,y){\nreturn (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));\n});\nvar G__31703__3 \x3d (function (x,y,z){\nreturn (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));\n});\nvar G__31703__4 \x3d (function() { \nvar G__31704__delegate \x3d function (x,y,z,args){\nreturn (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));\n};\nvar G__31704 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31705__i \x3d 0, G__31705__a \x3d new Array(arguments.length - 3);\nwhile (G__31705__i \x3c G__31705__a.length) {G__31705__a[G__31705__i] \x3d arguments[G__31705__i + 3]; ++G__31705__i;}\n args \x3d new cljs.core.IndexedSeq(G__31705__a,0,null);\n} \nreturn G__31704__delegate.call(this,x,y,z,args);};\nG__31704.cljs$lang$maxFixedArity \x3d 3;\nG__31704.cljs$lang$applyTo \x3d (function (arglist__31706){\nvar x \x3d cljs.core.first(arglist__31706);\narglist__31706 \x3d cljs.core.next(arglist__31706);\nvar y \x3d cljs.core.first(arglist__31706);\narglist__31706 \x3d cljs.core.next(arglist__31706);\nvar z \x3d cljs.core.first(arglist__31706);\nvar args \x3d cljs.core.rest(arglist__31706);\nreturn G__31704__delegate(x,y,z,args);\n});\nG__31704.cljs$core$IFn$_invoke$arity$variadic \x3d G__31704__delegate;\nreturn G__31704;\n})()\n;\nG__31703 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__31703__0.call(this);\ncase 1:\nreturn G__31703__1.call(this,x);\ncase 2:\nreturn G__31703__2.call(this,x,y);\ncase 3:\nreturn G__31703__3.call(this,x,y,z);\ndefault:\nvar G__31707 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31708__i \x3d 0, G__31708__a \x3d new Array(arguments.length - 3);\nwhile (G__31708__i \x3c G__31708__a.length) {G__31708__a[G__31708__i] \x3d arguments[G__31708__i + 3]; ++G__31708__i;}\nG__31707 \x3d new cljs.core.IndexedSeq(G__31708__a,0,null);\n}\nreturn G__31703__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31707);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31703.cljs$lang$maxFixedArity \x3d 3;\nG__31703.cljs$lang$applyTo \x3d G__31703__4.cljs$lang$applyTo;\nG__31703.cljs$core$IFn$_invoke$arity$0 \x3d G__31703__0;\nG__31703.cljs$core$IFn$_invoke$arity$1 \x3d G__31703__1;\nG__31703.cljs$core$IFn$_invoke$arity$2 \x3d G__31703__2;\nG__31703.cljs$core$IFn$_invoke$arity$3 \x3d G__31703__3;\nG__31703.cljs$core$IFn$_invoke$arity$variadic \x3d G__31703__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__31703;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,g){\nreturn (function() {\nvar G__31709 \x3d null;\nvar G__31709__0 \x3d (function (){\nreturn (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));\n});\nvar G__31709__1 \x3d (function (x){\nreturn (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));\n});\nvar G__31709__2 \x3d (function (x,y){\nreturn (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));\n});\nvar G__31709__3 \x3d (function (x,y,z){\nreturn (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));\n});\nvar G__31709__4 \x3d (function() { \nvar G__31712__delegate \x3d function (x,y,z,args){\nreturn (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));\n};\nvar G__31712 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31713__i \x3d 0, G__31713__a \x3d new Array(arguments.length - 3);\nwhile (G__31713__i \x3c G__31713__a.length) {G__31713__a[G__31713__i] \x3d arguments[G__31713__i + 3]; ++G__31713__i;}\n args \x3d new cljs.core.IndexedSeq(G__31713__a,0,null);\n} \nreturn G__31712__delegate.call(this,x,y,z,args);};\nG__31712.cljs$lang$maxFixedArity \x3d 3;\nG__31712.cljs$lang$applyTo \x3d (function (arglist__31714){\nvar x \x3d cljs.core.first(arglist__31714);\narglist__31714 \x3d cljs.core.next(arglist__31714);\nvar y \x3d cljs.core.first(arglist__31714);\narglist__31714 \x3d cljs.core.next(arglist__31714);\nvar z \x3d cljs.core.first(arglist__31714);\nvar args \x3d cljs.core.rest(arglist__31714);\nreturn G__31712__delegate(x,y,z,args);\n});\nG__31712.cljs$core$IFn$_invoke$arity$variadic \x3d G__31712__delegate;\nreturn G__31712;\n})()\n;\nG__31709 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__31709__0.call(this);\ncase 1:\nreturn G__31709__1.call(this,x);\ncase 2:\nreturn G__31709__2.call(this,x,y);\ncase 3:\nreturn G__31709__3.call(this,x,y,z);\ndefault:\nvar G__31715 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31716__i \x3d 0, G__31716__a \x3d new Array(arguments.length - 3);\nwhile (G__31716__i \x3c G__31716__a.length) {G__31716__a[G__31716__i] \x3d arguments[G__31716__i + 3]; ++G__31716__i;}\nG__31715 \x3d new cljs.core.IndexedSeq(G__31716__a,0,null);\n}\nreturn G__31709__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31715);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31709.cljs$lang$maxFixedArity \x3d 3;\nG__31709.cljs$lang$applyTo \x3d G__31709__4.cljs$lang$applyTo;\nG__31709.cljs$core$IFn$_invoke$arity$0 \x3d G__31709__0;\nG__31709.cljs$core$IFn$_invoke$arity$1 \x3d G__31709__1;\nG__31709.cljs$core$IFn$_invoke$arity$2 \x3d G__31709__2;\nG__31709.cljs$core$IFn$_invoke$arity$3 \x3d G__31709__3;\nG__31709.cljs$core$IFn$_invoke$arity$variadic \x3d G__31709__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__31709;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,g,h){\nreturn (function() {\nvar G__31717 \x3d null;\nvar G__31717__0 \x3d (function (){\nreturn (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));\n});\nvar G__31717__1 \x3d (function (x){\nreturn (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));\n});\nvar G__31717__2 \x3d (function (x,y){\nreturn (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));\n});\nvar G__31717__3 \x3d (function (x,y,z){\nreturn (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));\n});\nvar G__31717__4 \x3d (function() { \nvar G__31726__delegate \x3d function (x,y,z,args){\nreturn (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));\n};\nvar G__31726 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31727__i \x3d 0, G__31727__a \x3d new Array(arguments.length - 3);\nwhile (G__31727__i \x3c G__31727__a.length) {G__31727__a[G__31727__i] \x3d arguments[G__31727__i + 3]; ++G__31727__i;}\n args \x3d new cljs.core.IndexedSeq(G__31727__a,0,null);\n} \nreturn G__31726__delegate.call(this,x,y,z,args);};\nG__31726.cljs$lang$maxFixedArity \x3d 3;\nG__31726.cljs$lang$applyTo \x3d (function (arglist__31728){\nvar x \x3d cljs.core.first(arglist__31728);\narglist__31728 \x3d cljs.core.next(arglist__31728);\nvar y \x3d cljs.core.first(arglist__31728);\narglist__31728 \x3d cljs.core.next(arglist__31728);\nvar z \x3d cljs.core.first(arglist__31728);\nvar args \x3d cljs.core.rest(arglist__31728);\nreturn G__31726__delegate(x,y,z,args);\n});\nG__31726.cljs$core$IFn$_invoke$arity$variadic \x3d G__31726__delegate;\nreturn G__31726;\n})()\n;\nG__31717 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__31717__0.call(this);\ncase 1:\nreturn G__31717__1.call(this,x);\ncase 2:\nreturn G__31717__2.call(this,x,y);\ncase 3:\nreturn G__31717__3.call(this,x,y,z);\ndefault:\nvar G__31729 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31730__i \x3d 0, G__31730__a \x3d new Array(arguments.length - 3);\nwhile (G__31730__i \x3c G__31730__a.length) {G__31730__a[G__31730__i] \x3d arguments[G__31730__i + 3]; ++G__31730__i;}\nG__31729 \x3d new cljs.core.IndexedSeq(G__31730__a,0,null);\n}\nreturn G__31717__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31729);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31717.cljs$lang$maxFixedArity \x3d 3;\nG__31717.cljs$lang$applyTo \x3d G__31717__4.cljs$lang$applyTo;\nG__31717.cljs$core$IFn$_invoke$arity$0 \x3d G__31717__0;\nG__31717.cljs$core$IFn$_invoke$arity$1 \x3d G__31717__1;\nG__31717.cljs$core$IFn$_invoke$arity$2 \x3d G__31717__2;\nG__31717.cljs$core$IFn$_invoke$arity$3 \x3d G__31717__3;\nG__31717.cljs$core$IFn$_invoke$arity$variadic \x3d G__31717__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__31717;\n})()\n}));\n\n(cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,g,h,fs){\nvar fs__$1 \x3d cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f,g,h,fs);\nreturn (function() {\nvar G__31731 \x3d null;\nvar G__31731__0 \x3d (function (){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28114_SHARP_,p2__28115_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28114_SHARP_,(p2__28115_SHARP_.cljs$core$IFn$_invoke$arity$0 ? p2__28115_SHARP_.cljs$core$IFn$_invoke$arity$0() : p2__28115_SHARP_.call(null)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__31731__1 \x3d (function (x){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28116_SHARP_,p2__28117_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28116_SHARP_,(p2__28117_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p2__28117_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p2__28117_SHARP_.call(null,x)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__31731__2 \x3d (function (x,y){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28118_SHARP_,p2__28119_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28118_SHARP_,(p2__28119_SHARP_.cljs$core$IFn$_invoke$arity$2 ? p2__28119_SHARP_.cljs$core$IFn$_invoke$arity$2(x,y) : p2__28119_SHARP_.call(null,x,y)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__31731__3 \x3d (function (x,y,z){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28120_SHARP_,p2__28121_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28120_SHARP_,(p2__28121_SHARP_.cljs$core$IFn$_invoke$arity$3 ? p2__28121_SHARP_.cljs$core$IFn$_invoke$arity$3(x,y,z) : p2__28121_SHARP_.call(null,x,y,z)));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n});\nvar G__31731__4 \x3d (function() { \nvar G__31740__delegate \x3d function (x,y,z,args){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28122_SHARP_,p2__28123_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28122_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(p2__28123_SHARP_,x,y,z,args));\n}),cljs.core.PersistentVector.EMPTY,fs__$1);\n};\nvar G__31740 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31749__i \x3d 0, G__31749__a \x3d new Array(arguments.length - 3);\nwhile (G__31749__i \x3c G__31749__a.length) {G__31749__a[G__31749__i] \x3d arguments[G__31749__i + 3]; ++G__31749__i;}\n args \x3d new cljs.core.IndexedSeq(G__31749__a,0,null);\n} \nreturn G__31740__delegate.call(this,x,y,z,args);};\nG__31740.cljs$lang$maxFixedArity \x3d 3;\nG__31740.cljs$lang$applyTo \x3d (function (arglist__31750){\nvar x \x3d cljs.core.first(arglist__31750);\narglist__31750 \x3d cljs.core.next(arglist__31750);\nvar y \x3d cljs.core.first(arglist__31750);\narglist__31750 \x3d cljs.core.next(arglist__31750);\nvar z \x3d cljs.core.first(arglist__31750);\nvar args \x3d cljs.core.rest(arglist__31750);\nreturn G__31740__delegate(x,y,z,args);\n});\nG__31740.cljs$core$IFn$_invoke$arity$variadic \x3d G__31740__delegate;\nreturn G__31740;\n})()\n;\nG__31731 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__31731__0.call(this);\ncase 1:\nreturn G__31731__1.call(this,x);\ncase 2:\nreturn G__31731__2.call(this,x,y);\ncase 3:\nreturn G__31731__3.call(this,x,y,z);\ndefault:\nvar G__31751 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__31752__i \x3d 0, G__31752__a \x3d new Array(arguments.length - 3);\nwhile (G__31752__i \x3c G__31752__a.length) {G__31752__a[G__31752__i] \x3d arguments[G__31752__i + 3]; ++G__31752__i;}\nG__31751 \x3d new cljs.core.IndexedSeq(G__31752__a,0,null);\n}\nreturn G__31731__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__31751);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__31731.cljs$lang$maxFixedArity \x3d 3;\nG__31731.cljs$lang$applyTo \x3d G__31731__4.cljs$lang$applyTo;\nG__31731.cljs$core$IFn$_invoke$arity$0 \x3d G__31731__0;\nG__31731.cljs$core$IFn$_invoke$arity$1 \x3d G__31731__1;\nG__31731.cljs$core$IFn$_invoke$arity$2 \x3d G__31731__2;\nG__31731.cljs$core$IFn$_invoke$arity$3 \x3d G__31731__3;\nG__31731.cljs$core$IFn$_invoke$arity$variadic \x3d G__31731__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__31731;\n})()\n}));\n\n/** @this {Function} */\n(cljs.core.juxt.cljs$lang$applyTo \x3d (function (seq28125){\nvar G__28126 \x3d cljs.core.first(seq28125);\nvar seq28125__$1 \x3d cljs.core.next(seq28125);\nvar G__28127 \x3d cljs.core.first(seq28125__$1);\nvar seq28125__$2 \x3d cljs.core.next(seq28125__$1);\nvar G__28128 \x3d cljs.core.first(seq28125__$2);\nvar seq28125__$3 \x3d cljs.core.next(seq28125__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28126,G__28127,G__28128,seq28125__$3);\n}));\n\n(cljs.core.juxt.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. dorun can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, does not retain the head and returns nil.\n */\ncljs.core.dorun \x3d (function cljs$core$dorun(var_args){\nvar G__28131 \x3d arguments.length;\nswitch (G__28131) {\ncase 1:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.dorun.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar G__31761 \x3d cljs.core.next(s);\ncoll \x3d G__31761;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\nwhile(true){\nif(((cljs.core.seq(coll)) \x26\x26 ((n \x3e (0))))){\nvar G__31762 \x3d (n - (1));\nvar G__31763 \x3d cljs.core.next(coll);\nn \x3d G__31762;\ncoll \x3d G__31763;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.dorun.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * When lazy sequences are produced via functions that have side\n * effects, any effects other than those needed to produce the first\n * element in the seq do not occur until the seq is consumed. doall can\n * be used to force any effects. Walks through the successive nexts of\n * the seq, retains the head and returns it, thus causing the entire\n * seq to reside in memory at one time.\n */\ncljs.core.doall \x3d (function cljs$core$doall(var_args){\nvar G__28133 \x3d arguments.length;\nswitch (G__28133) {\ncase 1:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$1(coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,coll){\ncljs.core.dorun.cljs$core$IFn$_invoke$arity$2(n,coll);\n\nreturn coll;\n}));\n\n(cljs.core.doall.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if x is a JavaScript RegExp instance.\n */\ncljs.core.regexp_QMARK_ \x3d (function cljs$core$regexp_QMARK_(x){\nreturn (x instanceof RegExp);\n});\n/**\n * Returns the result of (re-find re s) if re fully matches s.\n */\ncljs.core.re_matches \x3d (function cljs$core$re_matches(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((((!((matches \x3d\x3d null)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((matches[(0)]),s)))){\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n} else {\nreturn null;\n}\n} else {\nthrow (new TypeError(\x22re-matches must match against a string.\x22));\n}\n});\n/**\n * Returns the first regex match, if any, of s to re, using\n * re.exec(s). Returns a vector, containing first the matching\n * substring, then any capturing groups if the regular expression contains\n * capturing groups.\n */\ncljs.core.re_find \x3d (function cljs$core$re_find(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar matches \x3d re.exec(s);\nif((matches \x3d\x3d null)){\nreturn null;\n} else {\nif((((matches).length) \x3d\x3d\x3d (1))){\nreturn (matches[(0)]);\n} else {\nreturn cljs.core.vec(matches);\n}\n}\n} else {\nthrow (new TypeError(\x22re-find must match against a string.\x22));\n}\n});\ncljs.core.re_seq_STAR_ \x3d (function cljs$core$re_seq_STAR_(re,s){\nvar temp__5827__auto__ \x3d re.exec(s);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar matches \x3d temp__5827__auto__;\nvar match_str \x3d (matches[(0)]);\nvar match_vals \x3d (((matches.length \x3d\x3d\x3d (1)))?match_str:cljs.core.vec(matches));\nreturn cljs.core.cons(match_vals,(new cljs.core.LazySeq(null,(function (){\nvar post_idx \x3d (matches.index + (function (){var x__5110__auto__ \x3d (1);\nvar y__5111__auto__ \x3d match_str.length;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})());\nif((post_idx \x3c\x3d s.length)){\nvar G__28134 \x3d re;\nvar G__28135 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,post_idx);\nreturn (cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2 ? cljs.core.re_seq_STAR_.cljs$core$IFn$_invoke$arity$2(G__28134,G__28135) : cljs.core.re_seq_STAR_.call(null,G__28134,G__28135));\n} else {\nreturn null;\n}\n}),null,null)));\n}\n});\n/**\n * Returns a lazy sequence of successive matches of re in s.\n */\ncljs.core.re_seq \x3d (function cljs$core$re_seq(re,s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.re_seq_STAR_(re,s);\n} else {\nthrow (new TypeError(\x22re-seq must match against a string.\x22));\n}\n});\n/**\n * Returns an instance of RegExp which has compiled the provided string.\n */\ncljs.core.re_pattern \x3d (function cljs$core$re_pattern(s){\nif((s instanceof RegExp)){\nreturn s;\n} else {\nvar vec__28136 \x3d cljs.core.re_find(/^\\(\\?([idmsux]*)\\)/,s);\nvar prefix \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28136,(0),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28136,(1),null);\nvar pattern \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(((prefix \x3d\x3d null))?(0):((prefix).length)));\nreturn (new RegExp(pattern,(function (){var or__5025__auto__ \x3d flags;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22\x22;\n}\n})()));\n}\n});\ncljs.core.pr_sequential_writer \x3d (function cljs$core$pr_sequential_writer(writer,print_one,begin,sep,end,opts,coll){\nvar _STAR_print_level_STAR__orig_val__28139 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__28140 \x3d (((cljs.core._STAR_print_level_STAR_ \x3d\x3d null))?null:(cljs.core._STAR_print_level_STAR_ - (1)));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__28140);\n\ntry{if((((!((cljs.core._STAR_print_level_STAR_ \x3d\x3d null)))) \x26\x26 ((cljs.core._STAR_print_level_STAR_ \x3c (0))))){\nreturn cljs.core._write(writer,\x22#\x22);\n} else {\ncljs.core._write(writer,begin);\n\nif((new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d (0))){\nif(cljs.core.seq(coll)){\ncljs.core._write(writer,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n} else {\nif(cljs.core.seq(coll)){\nvar G__28141_31775 \x3d cljs.core.first(coll);\nvar G__28142_31776 \x3d writer;\nvar G__28143_31777 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28141_31775,G__28142_31776,G__28143_31777) : print_one.call(null,G__28141_31775,G__28142_31776,G__28143_31777));\n} else {\n}\n\nvar coll_31778__$1 \x3d cljs.core.next(coll);\nvar n_31779 \x3d (new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356).cljs$core$IFn$_invoke$arity$1(opts) - (1));\nwhile(true){\nif(((coll_31778__$1) \x26\x26 ((((n_31779 \x3d\x3d null)) || ((!((n_31779 \x3d\x3d\x3d (0))))))))){\ncljs.core._write(writer,sep);\n\nvar G__28144_31780 \x3d cljs.core.first(coll_31778__$1);\nvar G__28145_31781 \x3d writer;\nvar G__28146_31782 \x3d opts;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28144_31780,G__28145_31781,G__28146_31782) : print_one.call(null,G__28144_31780,G__28145_31781,G__28146_31782));\n\nvar G__31783 \x3d cljs.core.next(coll_31778__$1);\nvar G__31784 \x3d (n_31779 - (1));\ncoll_31778__$1 \x3d G__31783;\nn_31779 \x3d G__31784;\ncontinue;\n} else {\nif(((cljs.core.seq(coll_31778__$1)) \x26\x26 ((n_31779 \x3d\x3d\x3d (0))))){\ncljs.core._write(writer,sep);\n\ncljs.core._write(writer,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22...\x22;\n}\n})());\n} else {\n}\n}\nbreak;\n}\n}\n\nreturn cljs.core._write(writer,end);\n}\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__28139);\n}});\ncljs.core.write_all \x3d (function cljs$core$write_all(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31791 \x3d arguments.length;\nvar i__5750__auto___31792 \x3d (0);\nwhile(true){\nif((i__5750__auto___31792 \x3c len__5749__auto___31791)){\nargs__5755__auto__.push((arguments[i__5750__auto___31792]));\n\nvar G__31793 \x3d (i__5750__auto___31792 + (1));\ni__5750__auto___31792 \x3d G__31793;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,ss){\nvar seq__28149 \x3d cljs.core.seq(ss);\nvar chunk__28150 \x3d null;\nvar count__28151 \x3d (0);\nvar i__28152 \x3d (0);\nwhile(true){\nif((i__28152 \x3c count__28151)){\nvar s \x3d chunk__28150.cljs$core$IIndexed$_nth$arity$2(null,i__28152);\ncljs.core._write(writer,s);\n\n\nvar G__31794 \x3d seq__28149;\nvar G__31795 \x3d chunk__28150;\nvar G__31796 \x3d count__28151;\nvar G__31797 \x3d (i__28152 + (1));\nseq__28149 \x3d G__31794;\nchunk__28150 \x3d G__31795;\ncount__28151 \x3d G__31796;\ni__28152 \x3d G__31797;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__28149);\nif(temp__5823__auto__){\nvar seq__28149__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28149__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28149__$1);\nvar G__31803 \x3d cljs.core.chunk_rest(seq__28149__$1);\nvar G__31804 \x3d c__5548__auto__;\nvar G__31805 \x3d cljs.core.count(c__5548__auto__);\nvar G__31806 \x3d (0);\nseq__28149 \x3d G__31803;\nchunk__28150 \x3d G__31804;\ncount__28151 \x3d G__31805;\ni__28152 \x3d G__31806;\ncontinue;\n} else {\nvar s \x3d cljs.core.first(seq__28149__$1);\ncljs.core._write(writer,s);\n\n\nvar G__31809 \x3d cljs.core.next(seq__28149__$1);\nvar G__31810 \x3d null;\nvar G__31811 \x3d (0);\nvar G__31812 \x3d (0);\nseq__28149 \x3d G__31809;\nchunk__28150 \x3d G__31810;\ncount__28151 \x3d G__31811;\ni__28152 \x3d G__31812;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.write_all.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.write_all.cljs$lang$applyTo \x3d (function (seq28147){\nvar G__28148 \x3d cljs.core.first(seq28147);\nvar seq28147__$1 \x3d cljs.core.next(seq28147);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28148,seq28147__$1);\n}));\n\ncljs.core.string_print \x3d (function cljs$core$string_print(x){\nif((cljs.core._STAR_print_fn_STAR_ \x3d\x3d null)){\nthrow (new Error(\x22No *print-fn* fn set for evaluation environment\x22));\n} else {\n}\n\ncljs.core._STAR_print_fn_STAR_.call(null,x);\n\nreturn null;\n});\ncljs.core.flush \x3d (function cljs$core$flush(){\nreturn null;\n});\ncljs.core.char_escapes \x3d (function (){var obj28154 \x3d ({\x22\\\x22\x22:\x22\\\\\\\x22\x22,\x22\\\\\x22:\x22\\\\\\\\\x22,\x22\\b\x22:\x22\\\\b\x22,\x22\\f\x22:\x22\\\\f\x22,\x22\\n\x22:\x22\\\\n\x22,\x22\\r\x22:\x22\\\\r\x22,\x22\\t\x22:\x22\\\\t\x22});\nreturn obj28154;\n})();\ncljs.core.quote_string \x3d (function cljs$core$quote_string(s){\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s.replace(RegExp(\x22[\\\\\\\\\\\x22\\b\\f\\n\\r\\t]\x22,\x22g\x22),(function (match){\nreturn (cljs.core.char_escapes[match]);\n}))),\x22\\\x22\x22].join(\x27\x27);\n});\ncljs.core.print_meta_QMARK_ \x3d (function cljs$core$print_meta_QMARK_(opts,obj){\nvar and__5023__auto__ \x3d cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964)));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IMeta$))))?true:false):false);\nif(and__5023__auto____$1){\nreturn (!((cljs.core.meta(obj) \x3d\x3d null)));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.core.pr_writer_impl \x3d (function cljs$core$pr_writer_impl(obj,writer,opts){\nif((obj \x3d\x3d null)){\nreturn cljs.core._write(writer,\x22nil\x22);\n} else {\nif(cljs.core.print_meta_QMARK_(opts,obj)){\ncljs.core._write(writer,\x22^\x22);\n\nvar G__28156_31822 \x3d cljs.core.meta(obj);\nvar G__28157_31823 \x3d writer;\nvar G__28158_31824 \x3d opts;\n(cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pr_writer.cljs$core$IFn$_invoke$arity$3(G__28156_31822,G__28157_31823,G__28158_31824) : cljs.core.pr_writer.call(null,G__28156_31822,G__28157_31823,G__28158_31824));\n\ncljs.core._write(writer,\x22 \x22);\n} else {\n}\n\nif(obj.cljs$lang$type){\nreturn obj.cljs$lang$ctorPrWriter(obj,writer,opts);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IPrintWithWriter$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,obj))){\nreturn cljs.core._pr_writer(obj,writer,opts);\n} else {\nif(((obj \x3d\x3d\x3d true) || (obj \x3d\x3d\x3d false))){\nreturn cljs.core._write(writer,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj));\n} else {\nif(typeof obj \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core._write(writer,((isNaN(obj))?\x22##NaN\x22:(((obj \x3d\x3d\x3d Number.POSITIVE_INFINITY))?\x22##Inf\x22:(((obj \x3d\x3d\x3d Number.NEGATIVE_INFINITY))?\x22##-Inf\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)\n))));\n} else {\nif(cljs.core.object_QMARK_(obj)){\ncljs.core._write(writer,\x22#js \x22);\n\nvar G__28160 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn (new cljs.core.MapEntry((function (){var G__28164 \x3d k;\nif((!((cljs.core.re_matches(/[A-Za-z_\\*\\+\\?!\\-\x27][\\w\\*\\+\\?!\\-\x27]*/,k) \x3d\x3d null)))){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__28164);\n} else {\nreturn G__28164;\n}\n})(),(obj[k]),null));\n}),cljs.core.js_keys(obj));\nvar G__28161 \x3d cljs.core.pr_writer;\nvar G__28162 \x3d writer;\nvar G__28163 \x3d opts;\nreturn (cljs.core.print_map.cljs$core$IFn$_invoke$arity$4 ? cljs.core.print_map.cljs$core$IFn$_invoke$arity$4(G__28160,G__28161,G__28162,G__28163) : cljs.core.print_map.call(null,G__28160,G__28161,G__28162,G__28163));\n} else {\nif(cljs.core.array_QMARK_(obj)){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#js [\x22,\x22 \x22,\x22]\x22,opts,obj);\n} else {\nif(typeof obj \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$1(opts))){\nreturn cljs.core._write(writer,cljs.core.quote_string(obj));\n} else {\nreturn cljs.core._write(writer,obj);\n}\n} else {\nif(typeof obj \x3d\x3d\x3d \x27function\x27){\nvar name \x3d obj.name;\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (name \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Function\x22:name);\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,(cljs.core.truth_(cljs.core._STAR_print_fn_bodies_STAR_)?[\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22\\\x22\x22].join(\x27\x27):\x22\x22),\x22]\x22], 0));\n} else {\nif((obj instanceof Date)){\nvar normalize \x3d (function (n,len){\nvar ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(n);\nwhile(true){\nif((((ns).length) \x3c len)){\nvar G__31833 \x3d [\x220\x22,ns].join(\x27\x27);\nns \x3d G__31833;\ncontinue;\n} else {\nreturn ns;\n}\nbreak;\n}\n});\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#inst \\\x22\x22,normalize(obj.getUTCFullYear(),(4)),\x22-\x22,normalize((obj.getUTCMonth() + (1)),(2)),\x22-\x22,normalize(obj.getUTCDate(),(2)),\x22T\x22,normalize(obj.getUTCHours(),(2)),\x22:\x22,normalize(obj.getUTCMinutes(),(2)),\x22:\x22,normalize(obj.getUTCSeconds(),(2)),\x22.\x22,normalize(obj.getUTCMilliseconds(),(3)),\x22-\x22,\x2200:00\\\x22\x22], 0));\n} else {\nif(cljs.core.regexp_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#\\\x22\x22,obj.source,\x22\\\x22\x22], 0));\n} else {\nif(cljs.core.js_symbol_QMARK_(obj)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.toString(),\x22]\x22], 0));\n} else {\nif(cljs.core.truth_((function (){var G__28165 \x3d obj;\nvar G__28165__$1 \x3d (((G__28165 \x3d\x3d null))?null:G__28165.constructor);\nif((G__28165__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__28165__$1.cljs$lang$ctorStr;\n}\n})())){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,obj.constructor.cljs$lang$ctorStr.replace((new RegExp(\x22/\x22,\x22g\x22)),\x22.\x22),\x22]\x22], 0));\n} else {\nvar name \x3d (function (){var G__28166 \x3d obj;\nvar G__28166__$1 \x3d (((G__28166 \x3d\x3d null))?null:G__28166.constructor);\nif((G__28166__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__28166__$1.name;\n}\n})();\nvar name__$1 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (name \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn goog.string.isEmpty(name);\n}\n})())?\x22Object\x22:name);\nif((obj.constructor \x3d\x3d null)){\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22]\x22], 0));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22#object[\x22,name__$1,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),\x22]\x22], 0));\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n\n}\n});\n/**\n * Prefer this to pr-seq, because it makes the printing function\n * configurable, allowing efficient implementations such as appending\n * to a StringBuffer.\n */\ncljs.core.pr_writer \x3d (function cljs$core$pr_writer(obj,writer,opts){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar alt_impl \x3d temp__5821__auto__;\nvar G__28167 \x3d obj;\nvar G__28168 \x3d writer;\nvar G__28169 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995),cljs.core.pr_writer_impl);\nreturn (alt_impl.cljs$core$IFn$_invoke$arity$3 ? alt_impl.cljs$core$IFn$_invoke$arity$3(G__28167,G__28168,G__28169) : alt_impl.call(null,G__28167,G__28168,G__28169));\n} else {\nreturn cljs.core.pr_writer_impl(obj,writer,opts);\n}\n});\ncljs.core.pr_seq_writer \x3d (function cljs$core$pr_seq_writer(objs,writer,opts){\ncljs.core.pr_writer(cljs.core.first(objs),writer,opts);\n\nvar seq__28170 \x3d cljs.core.seq(cljs.core.next(objs));\nvar chunk__28171 \x3d null;\nvar count__28172 \x3d (0);\nvar i__28173 \x3d (0);\nwhile(true){\nif((i__28173 \x3c count__28172)){\nvar obj \x3d chunk__28171.cljs$core$IIndexed$_nth$arity$2(null,i__28173);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__31845 \x3d seq__28170;\nvar G__31846 \x3d chunk__28171;\nvar G__31847 \x3d count__28172;\nvar G__31848 \x3d (i__28173 + (1));\nseq__28170 \x3d G__31845;\nchunk__28171 \x3d G__31846;\ncount__28172 \x3d G__31847;\ni__28173 \x3d G__31848;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__28170);\nif(temp__5823__auto__){\nvar seq__28170__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28170__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28170__$1);\nvar G__31850 \x3d cljs.core.chunk_rest(seq__28170__$1);\nvar G__31851 \x3d c__5548__auto__;\nvar G__31852 \x3d cljs.core.count(c__5548__auto__);\nvar G__31853 \x3d (0);\nseq__28170 \x3d G__31850;\nchunk__28171 \x3d G__31851;\ncount__28172 \x3d G__31852;\ni__28173 \x3d G__31853;\ncontinue;\n} else {\nvar obj \x3d cljs.core.first(seq__28170__$1);\ncljs.core._write(writer,\x22 \x22);\n\ncljs.core.pr_writer(obj,writer,opts);\n\n\nvar G__31854 \x3d cljs.core.next(seq__28170__$1);\nvar G__31855 \x3d null;\nvar G__31856 \x3d (0);\nvar G__31857 \x3d (0);\nseq__28170 \x3d G__31854;\nchunk__28171 \x3d G__31855;\ncount__28172 \x3d G__31856;\ni__28173 \x3d G__31857;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.core.pr_sb_with_opts \x3d (function cljs$core$pr_sb_with_opts(objs,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ncljs.core.pr_seq_writer(objs,writer,opts);\n\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn sb;\n});\n/**\n * Prints a sequence of objects to a string, observing all the\n * options given in opts\n */\ncljs.core.pr_str_with_opts \x3d (function cljs$core$pr_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\x22;\n} else {\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(objs,opts));\n}\n});\n/**\n * Same as pr-str-with-opts followed by (newline)\n */\ncljs.core.prn_str_with_opts \x3d (function cljs$core$prn_str_with_opts(objs,opts){\nif(cljs.core.empty_QMARK_(objs)){\nreturn \x22\\n\x22;\n} else {\nvar sb \x3d cljs.core.pr_sb_with_opts(objs,opts);\nsb.append(\x22\\n\x22);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n}\n});\n/**\n * Prints a sequence of objects using string-print, observing all\n * the options given in opts\n */\ncljs.core.pr_with_opts \x3d (function cljs$core$pr_with_opts(objs,opts){\nreturn cljs.core.string_print(cljs.core.pr_str_with_opts(objs,opts));\n});\n/**\n * Prints a newline using *print-fn*\n */\ncljs.core.newline \x3d (function cljs$core$newline(var_args){\nvar G__28175 \x3d arguments.length;\nswitch (G__28175) {\ncase 0:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.newline.cljs$core$IFn$_invoke$arity$1 \x3d (function (opts){\ncljs.core.string_print(\x22\\n\x22);\n\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22flush-on-newline\x22,\x22flush-on-newline\x22,-151457939)))){\nreturn cljs.core.flush();\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.newline.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter.\n */\ncljs.core.pr_str \x3d (function cljs$core$pr_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31865 \x3d arguments.length;\nvar i__5750__auto___31867 \x3d (0);\nwhile(true){\nif((i__5750__auto___31867 \x3c len__5749__auto___31865)){\nargs__5755__auto__.push((arguments[i__5750__auto___31867]));\n\nvar G__31868 \x3d (i__5750__auto___31867 + (1));\ni__5750__auto___31867 \x3d G__31868;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr_str.cljs$lang$applyTo \x3d (function (seq28176){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28176));\n}));\n\n/**\n * Same as pr-str followed by (newline)\n */\ncljs.core.prn_str \x3d (function cljs$core$prn_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31873 \x3d arguments.length;\nvar i__5750__auto___31874 \x3d (0);\nwhile(true){\nif((i__5750__auto___31874 \x3c len__5749__auto___31873)){\nargs__5755__auto__.push((arguments[i__5750__auto___31874]));\n\nvar G__31875 \x3d (i__5750__auto___31874 + (1));\ni__5750__auto___31874 \x3d G__31875;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn_str.cljs$lang$applyTo \x3d (function (seq28177){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28177));\n}));\n\n/**\n * Prints the object(s) using string-print. Prints the\n * object(s), separated by spaces if there is more than one.\n * By default, pr and prn print in a way that objects can be\n * read by the reader\n */\ncljs.core.pr \x3d (function cljs$core$pr(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31880 \x3d arguments.length;\nvar i__5750__auto___31881 \x3d (0);\nwhile(true){\nif((i__5750__auto___31881 \x3c len__5749__auto___31880)){\nargs__5755__auto__.push((arguments[i__5750__auto___31881]));\n\nvar G__31882 \x3d (i__5750__auto___31881 + (1));\ni__5750__auto___31881 \x3d G__31882;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n}));\n\n(cljs.core.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.pr.cljs$lang$applyTo \x3d (function (seq28178){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28178));\n}));\n\n/**\n * Prints the object(s) using string-print.\n * print and println produce output for human consumption.\n * @param {...*} var_args\n */\ncljs.core.print \x3d (function() { \nvar cljs$core$cljs_core_print__delegate \x3d function (objs){\nreturn cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n};\nvar cljs$core$cljs_core_print \x3d function (var_args){\nvar objs \x3d null;\nif (arguments.length \x3e 0) {\nvar G__31883__i \x3d 0, G__31883__a \x3d new Array(arguments.length - 0);\nwhile (G__31883__i \x3c G__31883__a.length) {G__31883__a[G__31883__i] \x3d arguments[G__31883__i + 0]; ++G__31883__i;}\n objs \x3d new cljs.core.IndexedSeq(G__31883__a,0,null);\n} \nreturn cljs$core$cljs_core_print__delegate.call(this,objs);};\ncljs$core$cljs_core_print.cljs$lang$maxFixedArity \x3d 0;\ncljs$core$cljs_core_print.cljs$lang$applyTo \x3d (function (arglist__31884){\nvar objs \x3d cljs.core.seq(arglist__31884);\nreturn cljs$core$cljs_core_print__delegate(objs);\n});\ncljs$core$cljs_core_print.cljs$core$IFn$_invoke$arity$variadic \x3d cljs$core$cljs_core_print__delegate;\nreturn cljs$core$cljs_core_print;\n})()\n;\n/**\n * print to a string, returning it\n */\ncljs.core.print_str \x3d (function cljs$core$print_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31885 \x3d arguments.length;\nvar i__5750__auto___31886 \x3d (0);\nwhile(true){\nif((i__5750__auto___31886 \x3c len__5749__auto___31885)){\nargs__5755__auto__.push((arguments[i__5750__auto___31886]));\n\nvar G__31887 \x3d (i__5750__auto___31886 + (1));\ni__5750__auto___31886 \x3d G__31887;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.pr_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.print_str.cljs$lang$applyTo \x3d (function (seq28179){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28179));\n}));\n\n/**\n * Same as print followed by (newline)\n */\ncljs.core.println \x3d (function cljs$core$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31889 \x3d arguments.length;\nvar i__5750__auto___31890 \x3d (0);\nwhile(true){\nif((i__5750__auto___31890 \x3c len__5749__auto___31889)){\nargs__5755__auto__.push((arguments[i__5750__auto___31890]));\n\nvar G__31892 \x3d (i__5750__auto___31890 + (1));\ni__5750__auto___31890 \x3d G__31892;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println.cljs$lang$applyTo \x3d (function (seq28180){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28180));\n}));\n\n/**\n * println to a string, returning it\n */\ncljs.core.println_str \x3d (function cljs$core$println_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31893 \x3d arguments.length;\nvar i__5750__auto___31894 \x3d (0);\nwhile(true){\nif((i__5750__auto___31894 \x3c len__5749__auto___31893)){\nargs__5755__auto__.push((arguments[i__5750__auto___31894]));\n\nvar G__31895 \x3d (i__5750__auto___31894 + (1));\ni__5750__auto___31894 \x3d G__31895;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nreturn cljs.core.prn_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760),false));\n}));\n\n(cljs.core.println_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.println_str.cljs$lang$applyTo \x3d (function (seq28181){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28181));\n}));\n\n/**\n * Same as pr followed by (newline).\n */\ncljs.core.prn \x3d (function cljs$core$prn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31896 \x3d arguments.length;\nvar i__5750__auto___31897 \x3d (0);\nwhile(true){\nif((i__5750__auto___31897 \x3c len__5749__auto___31896)){\nargs__5755__auto__.push((arguments[i__5750__auto___31897]));\n\nvar G__31898 \x3d (i__5750__auto___31897 + (1));\ni__5750__auto___31897 \x3d G__31898;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\ncljs.core.pr_with_opts(objs,cljs.core.pr_opts());\n\nif(cljs.core.truth_(cljs.core._STAR_print_newline_STAR_)){\nreturn cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.prn.cljs$lang$applyTo \x3d (function (seq28182){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28182));\n}));\n\ncljs.core.strip_ns \x3d (function cljs$core$strip_ns(named){\nif((named instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));\n}\n});\n/**\n * Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\n */\ncljs.core.lift_ns \x3d (function cljs$core$lift_ns(m){\nif(cljs.core.truth_(cljs.core._STAR_print_namespace_maps_STAR_)){\nvar ns \x3d null;\nvar G__28189 \x3d cljs.core.seq(m);\nvar vec__28190 \x3d G__28189;\nvar seq__28191 \x3d cljs.core.seq(vec__28190);\nvar first__28192 \x3d cljs.core.first(seq__28191);\nvar seq__28191__$1 \x3d cljs.core.next(seq__28191);\nvar vec__28193 \x3d first__28192;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28193,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28193,(1),null);\nvar entry \x3d vec__28193;\nvar entries \x3d seq__28191__$1;\nvar lm \x3d cljs.core.empty(m);\nvar ns__$1 \x3d ns;\nvar G__28189__$1 \x3d G__28189;\nvar lm__$1 \x3d lm;\nwhile(true){\nvar ns__$2 \x3d ns__$1;\nvar vec__28202 \x3d G__28189__$1;\nvar seq__28203 \x3d cljs.core.seq(vec__28202);\nvar first__28204 \x3d cljs.core.first(seq__28203);\nvar seq__28203__$1 \x3d cljs.core.next(seq__28203);\nvar vec__28205 \x3d first__28204;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28205,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28205,(1),null);\nvar entry__$1 \x3d vec__28205;\nvar entries__$1 \x3d seq__28203__$1;\nvar lm__$2 \x3d lm__$1;\nif(cljs.core.truth_(entry__$1)){\nif((((k__$1 instanceof cljs.core.Keyword)) || ((k__$1 instanceof cljs.core.Symbol)))){\nif(cljs.core.truth_(ns__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns__$2,cljs.core.namespace(k__$1))){\nvar G__31911 \x3d ns__$2;\nvar G__31912 \x3d entries__$1;\nvar G__31913 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__31911;\nG__28189__$1 \x3d G__31912;\nlm__$1 \x3d G__31913;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nvar temp__5823__auto__ \x3d cljs.core.namespace(k__$1);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar new_ns \x3d temp__5823__auto__;\nvar G__31916 \x3d new_ns;\nvar G__31917 \x3d entries__$1;\nvar G__31918 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);\nns__$1 \x3d G__31916;\nG__28189__$1 \x3d G__31917;\nlm__$1 \x3d G__31918;\ncontinue;\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns__$2,lm__$2], null);\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\ncljs.core.print_prefix_map \x3d (function cljs$core$print_prefix_map(prefix,m,print_one,writer,opts){\nreturn cljs.core.pr_sequential_writer(writer,(function (e,w,opts__$1){\nvar G__28208_31921 \x3d cljs.core.key(e);\nvar G__28209_31922 \x3d w;\nvar G__28210_31923 \x3d opts__$1;\n(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28208_31921,G__28209_31922,G__28210_31923) : print_one.call(null,G__28208_31921,G__28209_31922,G__28210_31923));\n\ncljs.core._write(w,\x22 \x22);\n\nvar G__28211 \x3d cljs.core.val(e);\nvar G__28212 \x3d w;\nvar G__28213 \x3d opts__$1;\nreturn (print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__28211,G__28212,G__28213) : print_one.call(null,G__28211,G__28212,G__28213));\n}),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22{\x22].join(\x27\x27),\x22, \x22,\x22}\x22,opts,cljs.core.seq(m));\n});\ncljs.core.print_map \x3d (function cljs$core$print_map(m,print_one,writer,opts){\nvar vec__28214 \x3d ((cljs.core.map_QMARK_(m))?cljs.core.lift_ns(m):null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28214,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28214,(1),null);\nif(cljs.core.truth_(ns)){\nreturn cljs.core.print_prefix_map([\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(\x27\x27),lift_map,print_one,writer,opts);\n} else {\nreturn cljs.core.print_prefix_map(null,m,print_one,writer,opts);\n}\n});\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Volatile \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core.pr_writer(a__$1.sym,writer,opts);\n}));\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Iterate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.IntegerRange.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Cycle.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#{\x22,\x22 \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Atom \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),a__$1.state], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Repeat.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core._write(writer,\x22()\x22);\n}));\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22#queue [\x22,\x22 \x22,\x22]\x22,opts,cljs.core.seq(coll__$1));\n}));\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);\n}));\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$1);\n}));\n(cljs.core.Symbol.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Symbol)){\nreturn cljs.core.compare_symbols(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif((y instanceof cljs.core.Keyword)){\nreturn cljs.core.compare_keywords(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (x,y){\nvar x__$1 \x3d this;\nif(cljs.core.vector_QMARK_(y)){\nreturn cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27)));\n}\n}));\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n * (apply f its-current-meta args)\n * \n * f must be free of side-effects\n */\ncljs.core.alter_meta_BANG_ \x3d (function cljs$core$alter_meta_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32100 \x3d arguments.length;\nvar i__5750__auto___32101 \x3d (0);\nwhile(true){\nif((i__5750__auto___32101 \x3c len__5749__auto___32100)){\nargs__5755__auto__.push((arguments[i__5750__auto___32101]));\n\nvar G__32102 \x3d (i__5750__auto___32101 + (1));\ni__5750__auto___32101 \x3d G__32102;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nreturn (iref.meta \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,iref.meta,args));\n}));\n\n(cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.core.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq28217){\nvar G__28218 \x3d cljs.core.first(seq28217);\nvar seq28217__$1 \x3d cljs.core.next(seq28217);\nvar G__28219 \x3d cljs.core.first(seq28217__$1);\nvar seq28217__$2 \x3d cljs.core.next(seq28217__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28218,G__28219,seq28217__$2);\n}));\n\n/**\n * Atomically resets the metadata for an atom\n */\ncljs.core.reset_meta_BANG_ \x3d (function cljs$core$reset_meta_BANG_(iref,m){\nreturn (iref.meta \x3d m);\n});\n/**\n * Adds a watch function to an atom reference. The watch fn must be a\n * fn of 4 args: a key, the reference, its old-state, its\n * new-state. Whenever the reference\x27s state might have been changed,\n * any registered watches will have their functions called. The watch\n * fn will be called synchronously. Note that an atom\x27s state\n * may have changed again prior to the fn call, so use old/new-state\n * rather than derefing the reference. Keys must be unique per\n * reference, and can be used to remove the watch with remove-watch,\n * but are otherwise considered opaque by the watch mechanism. Bear in\n * mind that regardless of the result or action of the watch fns the\n * atom\x27s value will change. Example:\n * \n * (def a (atom 0))\n * (add-watch a :inc (fn [k r o n] (assert (\x3d\x3d 0 n))))\n * (swap! a inc)\n * ;; Assertion Error\n * (deref a)\n * ;\x3d\x3e 1\n */\ncljs.core.add_watch \x3d (function cljs$core$add_watch(iref,key,f){\ncljs.core._add_watch(iref,key,f);\n\nreturn iref;\n});\n/**\n * Removes a watch (set by add-watch) from a reference\n */\ncljs.core.remove_watch \x3d (function cljs$core$remove_watch(iref,key){\ncljs.core._remove_watch(iref,key);\n\nreturn iref;\n});\n/**\n * @type {*}\n */\ncljs.core.gensym_counter \x3d null;\n/**\n * Returns a new symbol with a unique name. If a prefix string is\n * supplied, the name is prefix# where # is some unique number. If\n * prefix is not supplied, the prefix is \x27G__\x27.\n */\ncljs.core.gensym \x3d (function cljs$core$gensym(var_args){\nvar G__28221 \x3d arguments.length;\nswitch (G__28221) {\ncase 0:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22G__\x22);\n}));\n\n(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1 \x3d (function (prefix_string){\nif((cljs.core.gensym_counter \x3d\x3d null)){\n(cljs.core.gensym_counter \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)));\n} else {\n}\n\nreturn 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(\x27\x27));\n}));\n\n(cljs.core.gensym.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IPending}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.Delay \x3d (function (f,value){\nthis.f \x3d f;\nthis.value \x3d value;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147516416;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 1;\n});\n(cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.f)){\n(self__.value \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null)));\n\n(self__.f \x3d null);\n} else {\n}\n\nreturn self__.value;\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 \x3d (function (x){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\nreturn cljs.core.not(self__.f);\n}));\n\n(cljs.core.Delay.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (x,writer,opts){\nvar self__ \x3d this;\nvar x__$1 \x3d this;\ncljs.core._write(writer,\x22#object[cljs.core.Delay \x22);\n\ncljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22status\x22,\x22status\x22,-1997798413),(((self__.f \x3d\x3d null))?new cljs.core.Keyword(null,\x22ready\x22,\x22ready\x22,1086465795):new cljs.core.Keyword(null,\x22pending\x22,\x22pending\x22,-220036727)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),self__.value], null),writer,opts);\n\nreturn cljs.core._write(writer,\x22]\x22);\n}));\n\n(cljs.core.Delay.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.Delay.cljs$lang$type \x3d true);\n\n(cljs.core.Delay.cljs$lang$ctorStr \x3d \x22cljs.core/Delay\x22);\n\n(cljs.core.Delay.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Delay\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Delay.\n */\ncljs.core.__GT_Delay \x3d (function cljs$core$__GT_Delay(f,value){\nreturn (new cljs.core.Delay(f,value));\n});\n\n/**\n * returns true if x is a Delay created with delay\n */\ncljs.core.delay_QMARK_ \x3d (function cljs$core$delay_QMARK_(x){\nreturn (x instanceof cljs.core.Delay);\n});\n/**\n * If x is a Delay, returns the (possibly cached) value of its expression, else returns x\n */\ncljs.core.force \x3d (function cljs$core$force(x){\nif(cljs.core.delay_QMARK_(x)){\nreturn cljs.core.deref(x);\n} else {\nreturn x;\n}\n});\n/**\n * Returns true if a value has been produced for a delay or lazy sequence.\n */\ncljs.core.realized_QMARK_ \x3d (function cljs$core$realized_QMARK_(x){\nreturn cljs.core._realized_QMARK_(x);\n});\ncljs.core.preserving_reduced \x3d (function cljs$core$preserving_reduced(rf){\nreturn (function (p1__28222_SHARP_,p2__28223_SHARP_){\nvar ret \x3d (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(p1__28222_SHARP_,p2__28223_SHARP_) : rf.call(null,p1__28222_SHARP_,p2__28223_SHARP_));\nif(cljs.core.reduced_QMARK_(ret)){\nreturn cljs.core.reduced(ret);\n} else {\nreturn ret;\n}\n});\n});\n/**\n * A transducer which concatenates the contents of each input, which must be a\n * collection, into the reduction.\n */\ncljs.core.cat \x3d (function cljs$core$cat(rf){\nvar rf1 \x3d cljs.core.preserving_reduced(rf);\nreturn (function() {\nvar G__32124 \x3d null;\nvar G__32124__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__32124__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__32124__2 \x3d (function (result,input){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(rf1,result,input);\n});\nG__32124 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__32124__0.call(this);\ncase 1:\nreturn G__32124__1.call(this,result);\ncase 2:\nreturn G__32124__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32124.cljs$core$IFn$_invoke$arity$0 \x3d G__32124__0;\nG__32124.cljs$core$IFn$_invoke$arity$1 \x3d G__32124__1;\nG__32124.cljs$core$IFn$_invoke$arity$2 \x3d G__32124__2;\nreturn G__32124;\n})()\n});\n/**\n * Returns a transducer that ends transduction when pred returns true\n * for an input. When retf is supplied it must be a fn of 2 arguments -\n * it will be passed the (completed) result so far and the input that\n * triggered the predicate, and its return value (if it does not throw\n * an exception) will be the return value of the transducer. If retf\n * is not supplied, the input that triggered the predicate will be\n * returned. If the predicate never returns true the transduction is\n * unaffected.\n */\ncljs.core.halt_when \x3d (function cljs$core$halt_when(var_args){\nvar G__28225 \x3d arguments.length;\nswitch (G__28225) {\ncase 1:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1 \x3d (function (pred){\nreturn cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(pred,null);\n}));\n\n(cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,retf){\nreturn (function (rf){\nreturn (function() {\nvar G__32135 \x3d null;\nvar G__32135__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__32135__1 \x3d (function (result){\nif(((cljs.core.map_QMARK_(result)) \x26\x26 (cljs.core.contains_QMARK_(result,new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715))))){\nreturn new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715).cljs$core$IFn$_invoke$arity$1(result);\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n}\n});\nvar G__32135__2 \x3d (function (result,input){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){\nreturn cljs.core.reduced(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.core\x22,\x22halt\x22,\x22cljs.core/halt\x22,-1049036715),(cljs.core.truth_(retf)?(function (){var G__28226 \x3d (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\nvar G__28227 \x3d input;\nreturn (retf.cljs$core$IFn$_invoke$arity$2 ? retf.cljs$core$IFn$_invoke$arity$2(G__28226,G__28227) : retf.call(null,G__28226,G__28227));\n})():input)], null));\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__32135 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__32135__0.call(this);\ncase 1:\nreturn G__32135__1.call(this,result);\ncase 2:\nreturn G__32135__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32135.cljs$core$IFn$_invoke$arity$0 \x3d G__32135__0;\nG__32135.cljs$core$IFn$_invoke$arity$1 \x3d G__32135__1;\nG__32135.cljs$core$IFn$_invoke$arity$2 \x3d G__32135__2;\nreturn G__32135;\n})()\n});\n}));\n\n(cljs.core.halt_when.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a lazy sequence removing consecutive duplicates in coll.\n * Returns a transducer when no collection is provided.\n */\ncljs.core.dedupe \x3d (function cljs$core$dedupe(var_args){\nvar G__28229 \x3d arguments.length;\nswitch (G__28229) {\ncase 0:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn (function (rf){\nvar pa \x3d cljs.core.volatile_BANG_(new cljs.core.Keyword(\x22cljs.core\x22,\x22none\x22,\x22cljs.core/none\x22,926646439));\nreturn (function() {\nvar G__32148 \x3d null;\nvar G__32148__0 \x3d (function (){\nreturn (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));\n});\nvar G__32148__1 \x3d (function (result){\nreturn (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));\n});\nvar G__32148__2 \x3d (function (result,input){\nvar prior \x3d cljs.core.deref(pa);\ncljs.core.vreset_BANG_(pa,input);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(prior,input)){\nreturn result;\n} else {\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));\n}\n});\nG__32148 \x3d function(result,input){\nswitch(arguments.length){\ncase 0:\nreturn G__32148__0.call(this);\ncase 1:\nreturn G__32148__1.call(this,result);\ncase 2:\nreturn G__32148__2.call(this,result,input);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32148.cljs$core$IFn$_invoke$arity$0 \x3d G__32148__0;\nG__32148.cljs$core$IFn$_invoke$arity$1 \x3d G__32148__1;\nG__32148.cljs$core$IFn$_invoke$arity$2 \x3d G__32148__2;\nreturn G__32148;\n})()\n});\n}));\n\n(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),coll);\n}));\n\n(cljs.core.dedupe.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns items from coll with random probability of prob (0.0 -\n * 1.0). Returns a transducer when no collection is provided.\n */\ncljs.core.random_sample \x3d (function cljs$core$random_sample(var_args){\nvar G__28231 \x3d arguments.length;\nswitch (G__28231) {\ncase 1:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1 \x3d (function (prob){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$1((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}));\n}));\n\n(cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2 \x3d (function (prob,coll){\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (_){\nreturn ((cljs.core.rand.cljs$core$IFn$_invoke$arity$0 ? cljs.core.rand.cljs$core$IFn$_invoke$arity$0() : cljs.core.rand.call(null)) \x3c prob);\n}),coll);\n}));\n\n(cljs.core.random_sample.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.ISequential}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.Eduction \x3d (function (xform,coll){\nthis.xform \x3d xform;\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2173173760;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 131072;\n});\n(cljs.core.Eduction.prototype.indexOf \x3d (function() {\nvar G__32156 \x3d null;\nvar G__32156__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,(0));\n});\nvar G__32156__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__32156 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32156__1.call(this,x);\ncase 2:\nreturn G__32156__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32156.cljs$core$IFn$_invoke$arity$1 \x3d G__32156__1;\nG__32156.cljs$core$IFn$_invoke$arity$2 \x3d G__32156__2;\nreturn G__32156;\n})()\n);\n\n(cljs.core.Eduction.prototype.lastIndexOf \x3d (function() {\nvar G__32157 \x3d null;\nvar G__32157__1 \x3d (function (x){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,cljs.core.count(coll__$1));\n});\nvar G__32157__2 \x3d (function (x,start){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);\n});\nG__32157 \x3d function(x,start){\nswitch(arguments.length){\ncase 1:\nreturn G__32157__1.call(this,x);\ncase 2:\nreturn G__32157__2.call(this,x,start);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32157.cljs$core$IFn$_invoke$arity$1 \x3d G__32157__1;\nG__32157.cljs$core$IFn$_invoke$arity$2 \x3d G__32157__2;\nreturn G__32157;\n})()\n);\n\n(cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.TransformerIterator.create(self__.xform,cljs.core.iter(self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(self__.xform,self__.coll));\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,f,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),init,self__.coll);\n}));\n\n(cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll__$1,writer,opts){\nvar self__ \x3d this;\nvar coll__$2 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22(\x22,\x22 \x22,\x22)\x22,opts,coll__$2);\n}));\n\n(cljs.core.Eduction.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22xform\x22,\x22xform\x22,-85179481,null),new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(cljs.core.Eduction.cljs$lang$type \x3d true);\n\n(cljs.core.Eduction.cljs$lang$ctorStr \x3d \x22cljs.core/Eduction\x22);\n\n(cljs.core.Eduction.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Eduction\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Eduction.\n */\ncljs.core.__GT_Eduction \x3d (function cljs$core$__GT_Eduction(xform,coll){\nreturn (new cljs.core.Eduction(xform,coll));\n});\n\n(cljs.core.Eduction.prototype[cljs.core.ITER_SYMBOL] \x3d (function (){\nvar this__5678__auto__ \x3d this;\nreturn cljs.core.es6_iterator(this__5678__auto__);\n}));\n/**\n * Returns a reducible/iterable application of the transducers\n * to the items in coll. Transducers are applied in order as if\n * combined with comp. Note that these applications will be\n * performed every time reduce/iterator is called.\n */\ncljs.core.eduction \x3d (function cljs$core$eduction(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32160 \x3d arguments.length;\nvar i__5750__auto___32161 \x3d (0);\nwhile(true){\nif((i__5750__auto___32161 \x3c len__5749__auto___32160)){\nargs__5755__auto__.push((arguments[i__5750__auto___32161]));\n\nvar G__32162 \x3d (i__5750__auto___32161 + (1));\ni__5750__auto___32161 \x3d G__32162;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xforms){\nreturn (new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(xforms)),cljs.core.last(xforms)));\n}));\n\n(cljs.core.eduction.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.core.eduction.cljs$lang$applyTo \x3d (function (seq28232){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28232));\n}));\n\n/**\n * Runs the supplied procedure (via reduce), for purposes of side\n * effects, on successive items in the collection. Returns nil\n */\ncljs.core.run_BANG_ \x3d (function cljs$core$run_BANG_(proc,coll){\ncljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28234_SHARP_,p2__28233_SHARP_){\nreturn (proc.cljs$core$IFn$_invoke$arity$1 ? proc.cljs$core$IFn$_invoke$arity$1(p2__28233_SHARP_) : proc.call(null,p2__28233_SHARP_));\n}),null,coll);\n\nreturn null;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IReduce}\n*/\ncljs.core.t_cljs$core28239 \x3d (function (step,p__28237,map__28238,somef,vf,kf,initk,meta28240){\nthis.step \x3d step;\nthis.p__28237 \x3d p__28237;\nthis.map__28238 \x3d map__28238;\nthis.somef \x3d somef;\nthis.vf \x3d vf;\nthis.kf \x3d kf;\nthis.initk \x3d initk;\nthis.meta28240 \x3d meta28240;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 9306112;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.t_cljs$core28239.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_28241,meta28240__$1){\nvar self__ \x3d this;\nvar _28241__$1 \x3d this;\nreturn (new cljs.core.t_cljs$core28239(self__.step,self__.p__28237,self__.map__28238,self__.somef,self__.vf,self__.kf,self__.initk,meta28240__$1));\n}));\n\n(cljs.core.t_cljs$core28239.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_28241){\nvar self__ \x3d this;\nvar _28241__$1 \x3d this;\nreturn self__.meta28240;\n}));\n\n(cljs.core.t_cljs$core28239.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (function cljs$core$next(ret){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nreturn cljs.core.cons((self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret)),(function (){var temp__5827__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar k \x3d temp__5827__auto__;\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs$core$next((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k)));\n}),null,null));\n}\n})());\n} else {\nreturn null;\n}\n})((self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk)));\n}));\n\n(cljs.core.t_cljs$core28239.prototype.cljs$core$IReduce$_reduce$arity$3 \x3d (function (_,rf,init){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar acc \x3d init;\nvar ret \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(self__.initk) : self__.step.call(null,self__.initk));\nwhile(true){\nif(cljs.core.truth_((self__.somef.cljs$core$IFn$_invoke$arity$1 ? self__.somef.cljs$core$IFn$_invoke$arity$1(ret) : self__.somef.call(null,ret)))){\nvar acc__$1 \x3d (function (){var G__28242 \x3d acc;\nvar G__28243 \x3d (self__.vf.cljs$core$IFn$_invoke$arity$1 ? self__.vf.cljs$core$IFn$_invoke$arity$1(ret) : self__.vf.call(null,ret));\nreturn (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__28242,G__28243) : rf.call(null,G__28242,G__28243));\n})();\nif(cljs.core.reduced_QMARK_(acc__$1)){\nreturn cljs.core.deref(acc__$1);\n} else {\nvar temp__5825__auto__ \x3d (self__.kf.cljs$core$IFn$_invoke$arity$1 ? self__.kf.cljs$core$IFn$_invoke$arity$1(ret) : self__.kf.call(null,ret));\nif((temp__5825__auto__ \x3d\x3d null)){\nreturn acc__$1;\n} else {\nvar k \x3d temp__5825__auto__;\nvar G__32168 \x3d acc__$1;\nvar G__32169 \x3d (self__.step.cljs$core$IFn$_invoke$arity$1 ? self__.step.cljs$core$IFn$_invoke$arity$1(k) : self__.step.call(null,k));\nacc \x3d G__32168;\nret \x3d G__32169;\ncontinue;\n}\n}\n} else {\nreturn acc;\n}\nbreak;\n}\n}));\n\n(cljs.core.t_cljs$core28239.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22p__28237\x22,\x22p__28237\x22,-888473777,null),new cljs.core.Symbol(null,\x22map__28238\x22,\x22map__28238\x22,1943139111,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),new cljs.core.Symbol(null,\x22meta28240\x22,\x22meta28240\x22,-108900890,null)], null);\n}));\n\n(cljs.core.t_cljs$core28239.cljs$lang$type \x3d true);\n\n(cljs.core.t_cljs$core28239.cljs$lang$ctorStr \x3d \x22cljs.core/t_cljs$core28239\x22);\n\n(cljs.core.t_cljs$core28239.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/t_cljs$core28239\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/t_cljs$core28239.\n */\ncljs.core.__GT_t_cljs$core28239 \x3d (function cljs$core$__GT_t_cljs$core28239(step,p__28237,map__28238,somef,vf,kf,initk,meta28240){\nreturn (new cljs.core.t_cljs$core28239(step,p__28237,map__28238,somef,vf,kf,initk,meta28240));\n});\n\n\n/**\n * Creates a seqable/reducible via repeated calls to step,\n * a function of some (continuation token) \x27k\x27. The first call to step\n * will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\n * (vf ret) will be included in the iteration, else iteration will\n * terminate and vf/kf will not be called. If (kf ret) is non-nil it\n * will be passed to the next step call, else iteration will terminate.\n * This can be used e.g. to consume APIs that return paginated or batched data.\n * step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\n * :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\n * :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\n * :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\n * :initk - the first value passed to step, default \x27nil\x27\n * It is presumed that step with non-initk is unreproducible/non-idempotent.\n * If step with initk is unreproducible it is on the consumer to not consume twice.\n */\ncljs.core.iteration \x3d (function cljs$core$iteration(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32170 \x3d arguments.length;\nvar i__5750__auto___32171 \x3d (0);\nwhile(true){\nif((i__5750__auto___32171 \x3c len__5749__auto___32170)){\nargs__5755__auto__.push((arguments[i__5750__auto___32171]));\n\nvar G__32172 \x3d (i__5750__auto___32171 + (1));\ni__5750__auto___32171 \x3d G__32172;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.iteration.cljs$core$IFn$_invoke$arity$variadic \x3d (function (step,p__28237){\nvar map__28238 \x3d p__28237;\nvar map__28238__$1 \x3d cljs.core.__destructure_map(map__28238);\nvar somef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28238__$1,new cljs.core.Keyword(null,\x22somef\x22,\x22somef\x22,-622590365),cljs.core.some_QMARK_);\nvar vf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28238__$1,new cljs.core.Keyword(null,\x22vf\x22,\x22vf\x22,-321423269),cljs.core.identity);\nvar kf \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28238__$1,new cljs.core.Keyword(null,\x22kf\x22,\x22kf\x22,1608087589),cljs.core.identity);\nvar initk \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28238__$1,new cljs.core.Keyword(null,\x22initk\x22,\x22initk\x22,-1693342987),null);\nreturn (new cljs.core.t_cljs$core28239(step,p__28237,map__28238__$1,somef,vf,kf,initk,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.iteration.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.iteration.cljs$lang$applyTo \x3d (function (seq28235){\nvar G__28236 \x3d cljs.core.first(seq28235);\nvar seq28235__$1 \x3d cljs.core.next(seq28235);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28236,seq28235__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeJS \x3d function(){};\n\nvar cljs$core$IEncodeJS$_clj__GT_js$dyn_32182 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._clj__GT_js[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._clj__GT_js[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-clj-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Recursively transforms clj values to JavaScript\n */\ncljs.core._clj__GT_js \x3d (function cljs$core$_clj__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_clj__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_clj__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_clj__GT_js$dyn_32182(x);\n}\n});\n\nvar cljs$core$IEncodeJS$_key__GT_js$dyn_32187 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._key__GT_js[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._key__GT_js[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeJS.-key-\x3ejs\x22,x);\n}\n}\n});\n/**\n * Transforms map keys to valid JavaScript keys. Arbitrary keys are\n * encoded to their string representation via (pr-str x)\n */\ncljs.core._key__GT_js \x3d (function cljs$core$_key__GT_js(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeJS$_key__GT_js$arity$1 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeJS$_key__GT_js$arity$1(x);\n} else {\nreturn cljs$core$IEncodeJS$_key__GT_js$dyn_32187(x);\n}\n});\n\ncljs.core.key__GT_js \x3d (function cljs$core$key__GT_js(var_args){\nvar G__28245 \x3d arguments.length;\nswitch (G__28245) {\ncase 1:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$1 \x3d (function (k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,cljs.core.clj__GT_js);\n}));\n\n(cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2 \x3d (function (k,primitive_fn){\nif((((!((k \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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))){\nreturn cljs.core._clj__GT_js(k);\n} else {\nif(((typeof k \x3d\x3d\x3d \x27string\x27) || (((typeof k \x3d\x3d\x3d \x27number\x27) || ((((k instanceof cljs.core.Keyword)) || ((k instanceof cljs.core.Symbol)))))))){\nreturn (primitive_fn.cljs$core$IFn$_invoke$arity$1 ? primitive_fn.cljs$core$IFn$_invoke$arity$1(k) : primitive_fn.call(null,k));\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k], 0));\n\n}\n}\n}));\n\n(cljs.core.key__GT_js.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Recursively transforms ClojureScript values to JavaScript.\n * sets/vectors/lists become Arrays, Keywords and Symbol become Strings,\n * Maps become Objects. Arbitrary keys are encoded to by `key-\x3ejs`.\n * Options is a key-value pair, where the only valid key is\n * :keyword-fn, which should point to a single-argument function to be\n * called on keyword keys. Default to `name`.\n */\ncljs.core.clj__GT_js \x3d (function cljs$core$clj__GT_js(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32193 \x3d arguments.length;\nvar i__5750__auto___32194 \x3d (0);\nwhile(true){\nif((i__5750__auto___32194 \x3c len__5749__auto___32193)){\nargs__5755__auto__.push((arguments[i__5750__auto___32194]));\n\nvar G__32195 \x3d (i__5750__auto___32194 + (1));\ni__5750__auto___32194 \x3d G__32195;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,p__28249){\nvar map__28250 \x3d p__28249;\nvar map__28250__$1 \x3d cljs.core.__destructure_map(map__28250);\nvar options \x3d map__28250__$1;\nvar keyword_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__28250__$1,new cljs.core.Keyword(null,\x22keyword-fn\x22,\x22keyword-fn\x22,-64566675),cljs.core.name);\nvar keyfn \x3d (function cljs$core$keyfn(k){\nreturn cljs.core.key__GT_js.cljs$core$IFn$_invoke$arity$2(k,thisfn);\n});\nvar thisfn \x3d (function cljs$core$thisfn(x__$1){\nif((x__$1 \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x__$1.cljs$core$IEncodeJS$))))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x__$1))){\nreturn cljs.core._clj__GT_js(x__$1);\n} else {\nif((x__$1 instanceof cljs.core.Keyword)){\nreturn (keyword_fn.cljs$core$IFn$_invoke$arity$1 ? keyword_fn.cljs$core$IFn$_invoke$arity$1(x__$1) : keyword_fn.call(null,x__$1));\n} else {\nif((x__$1 instanceof cljs.core.Symbol)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1);\n} else {\nif(cljs.core.map_QMARK_(x__$1)){\nvar m \x3d ({});\nvar seq__28277_32200 \x3d cljs.core.seq(x__$1);\nvar chunk__28278_32201 \x3d null;\nvar count__28279_32202 \x3d (0);\nvar i__28280_32203 \x3d (0);\nwhile(true){\nif((i__28280_32203 \x3c count__28279_32202)){\nvar vec__28287_32204 \x3d chunk__28278_32201.cljs$core$IIndexed$_nth$arity$2(null,i__28280_32203);\nvar k_32205 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28287_32204,(0),null);\nvar v_32206 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28287_32204,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_32205),cljs$core$thisfn(v_32206));\n\n\nvar G__32210 \x3d seq__28277_32200;\nvar G__32211 \x3d chunk__28278_32201;\nvar G__32212 \x3d count__28279_32202;\nvar G__32213 \x3d (i__28280_32203 + (1));\nseq__28277_32200 \x3d G__32210;\nchunk__28278_32201 \x3d G__32211;\ncount__28279_32202 \x3d G__32212;\ni__28280_32203 \x3d G__32213;\ncontinue;\n} else {\nvar temp__5823__auto___32214 \x3d cljs.core.seq(seq__28277_32200);\nif(temp__5823__auto___32214){\nvar seq__28277_32215__$1 \x3d temp__5823__auto___32214;\nif(cljs.core.chunked_seq_QMARK_(seq__28277_32215__$1)){\nvar c__5548__auto___32216 \x3d cljs.core.chunk_first(seq__28277_32215__$1);\nvar G__32217 \x3d cljs.core.chunk_rest(seq__28277_32215__$1);\nvar G__32218 \x3d c__5548__auto___32216;\nvar G__32219 \x3d cljs.core.count(c__5548__auto___32216);\nvar G__32220 \x3d (0);\nseq__28277_32200 \x3d G__32217;\nchunk__28278_32201 \x3d G__32218;\ncount__28279_32202 \x3d G__32219;\ni__28280_32203 \x3d G__32220;\ncontinue;\n} else {\nvar vec__28290_32221 \x3d cljs.core.first(seq__28277_32215__$1);\nvar k_32222 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28290_32221,(0),null);\nvar v_32223 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28290_32221,(1),null);\ncljs.core.goog$module$goog$object.set(m,keyfn(k_32222),cljs$core$thisfn(v_32223));\n\n\nvar G__32226 \x3d cljs.core.next(seq__28277_32215__$1);\nvar G__32227 \x3d null;\nvar G__32228 \x3d (0);\nvar G__32229 \x3d (0);\nseq__28277_32200 \x3d G__32226;\nchunk__28278_32201 \x3d G__32227;\ncount__28279_32202 \x3d G__32228;\ni__28280_32203 \x3d G__32229;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn m;\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nvar arr \x3d [];\nvar seq__28293_32230 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\nvar chunk__28294_32231 \x3d null;\nvar count__28295_32232 \x3d (0);\nvar i__28296_32233 \x3d (0);\nwhile(true){\nif((i__28296_32233 \x3c count__28295_32232)){\nvar x_32234__$2 \x3d chunk__28294_32231.cljs$core$IIndexed$_nth$arity$2(null,i__28296_32233);\narr.push(x_32234__$2);\n\n\nvar G__32235 \x3d seq__28293_32230;\nvar G__32236 \x3d chunk__28294_32231;\nvar G__32237 \x3d count__28295_32232;\nvar G__32238 \x3d (i__28296_32233 + (1));\nseq__28293_32230 \x3d G__32235;\nchunk__28294_32231 \x3d G__32236;\ncount__28295_32232 \x3d G__32237;\ni__28296_32233 \x3d G__32238;\ncontinue;\n} else {\nvar temp__5823__auto___32239 \x3d cljs.core.seq(seq__28293_32230);\nif(temp__5823__auto___32239){\nvar seq__28293_32240__$1 \x3d temp__5823__auto___32239;\nif(cljs.core.chunked_seq_QMARK_(seq__28293_32240__$1)){\nvar c__5548__auto___32241 \x3d cljs.core.chunk_first(seq__28293_32240__$1);\nvar G__32242 \x3d cljs.core.chunk_rest(seq__28293_32240__$1);\nvar G__32243 \x3d c__5548__auto___32241;\nvar G__32244 \x3d cljs.core.count(c__5548__auto___32241);\nvar G__32245 \x3d (0);\nseq__28293_32230 \x3d G__32242;\nchunk__28294_32231 \x3d G__32243;\ncount__28295_32232 \x3d G__32244;\ni__28296_32233 \x3d G__32245;\ncontinue;\n} else {\nvar x_32246__$2 \x3d cljs.core.first(seq__28293_32240__$1);\narr.push(x_32246__$2);\n\n\nvar G__32247 \x3d cljs.core.next(seq__28293_32240__$1);\nvar G__32248 \x3d null;\nvar G__32249 \x3d (0);\nvar G__32250 \x3d (0);\nseq__28293_32230 \x3d G__32247;\nchunk__28294_32231 \x3d G__32248;\ncount__28295_32232 \x3d G__32249;\ni__28296_32233 \x3d G__32250;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn thisfn(x);\n}));\n\n(cljs.core.clj__GT_js.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.clj__GT_js.cljs$lang$applyTo \x3d (function (seq28247){\nvar G__28248 \x3d cljs.core.first(seq28247);\nvar seq28247__$1 \x3d cljs.core.next(seq28247);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28248,seq28247__$1);\n}));\n\n\n/**\n * @interface\n */\ncljs.core.IEncodeClojure \x3d function(){};\n\nvar cljs$core$IEncodeClojure$_js__GT_clj$dyn_32254 \x3d (function (x,options){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (cljs.core._js__GT_clj[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5374__auto__.call(null,x,options));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._js__GT_clj[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__5372__auto__.call(null,x,options));\n} else {\nthrow cljs.core.missing_protocol(\x22IEncodeClojure.-js-\x3eclj\x22,x);\n}\n}\n});\n/**\n * Transforms JavaScript values to Clojure\n */\ncljs.core._js__GT_clj \x3d (function cljs$core$_js__GT_clj(x,options){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2 \x3d\x3d null)))))){\nreturn x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(x,options);\n} else {\nreturn cljs$core$IEncodeClojure$_js__GT_clj$dyn_32254(x,options);\n}\n});\n\n/**\n * Recursively transforms JavaScript arrays into ClojureScript\n * vectors, and JavaScript objects into ClojureScript maps. With\n * option \x27:keywordize-keys true\x27 will convert object fields from\n * strings to keywords.\n */\ncljs.core.js__GT_clj \x3d (function cljs$core$js__GT_clj(var_args){\nvar G__28302 \x3d arguments.length;\nswitch (G__28302) {\ncase 1:\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___32260 \x3d arguments.length;\nvar i__5750__auto___32261 \x3d (0);\nwhile(true){\nif((i__5750__auto___32261 \x3c len__5749__auto___32260)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___32261]));\n\nvar G__32263 \x3d (i__5750__auto___32261 + (1));\ni__5750__auto___32261 \x3d G__32263;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252),false], 0));\n}));\n\n(cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,opts){\nvar map__28303 \x3d opts;\nvar map__28303__$1 \x3d cljs.core.__destructure_map(map__28303);\nvar keywordize_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28303__$1,new cljs.core.Keyword(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,1310784252));\nvar keyfn \x3d (cljs.core.truth_(keywordize_keys)?cljs.core.keyword:cljs.core.str);\nvar f \x3d (function cljs$core$thisfn(x__$1){\nif((((!((x__$1 \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d 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))){\nreturn cljs.core._js__GT_clj(x__$1,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,opts));\n} else {\nif(cljs.core.seq_QMARK_(x__$1)){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));\n} else {\nif(cljs.core.map_entry_QMARK_(x__$1)){\nreturn (new cljs.core.MapEntry(cljs$core$thisfn(cljs.core.key(x__$1)),cljs$core$thisfn(cljs.core.val(x__$1)),null));\n} else {\nif(cljs.core.coll_QMARK_(x__$1)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.empty(x__$1),cljs.core.map.cljs$core$IFn$_invoke$arity$1(cljs$core$thisfn),x__$1);\n} else {\nif(cljs.core.array_QMARK_(x__$1)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28297_SHARP_,p2__28298_SHARP_){\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(p1__28297_SHARP_,cljs$core$thisfn(p2__28298_SHARP_));\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),x__$1));\n} else {\nif((cljs.core.type(x__$1) \x3d\x3d\x3d Object)){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,k){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(r,(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn(cljs.core.goog$module$goog$object.get(x__$1,k)));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),cljs.core.js_keys(x__$1)));\n} else {\nreturn x__$1;\n\n}\n}\n}\n}\n}\n}\n});\nreturn f(x);\n}));\n\n/** @this {Function} */\n(cljs.core.js__GT_clj.cljs$lang$applyTo \x3d (function (seq28300){\nvar G__28301 \x3d cljs.core.first(seq28300);\nvar seq28300__$1 \x3d cljs.core.next(seq28300);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28301,seq28300__$1);\n}));\n\n(cljs.core.js__GT_clj.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a memoized version of a referentially transparent function. The\n * memoized version of the function keeps a cache of the mapping from arguments\n * to results and, when calls with the same arguments are repeated often, has\n * higher performance at the expense of higher memory use.\n */\ncljs.core.memoize \x3d (function cljs$core$memoize(f){\nvar mem \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nreturn (function() { \nvar G__32280__delegate \x3d function (args){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(mem),args,cljs.core.lookup_sentinel);\nif((v \x3d\x3d\x3d cljs.core.lookup_sentinel)){\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,args,ret);\n\nreturn ret;\n} else {\nreturn v;\n}\n};\nvar G__32280 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32281__i \x3d 0, G__32281__a \x3d new Array(arguments.length - 0);\nwhile (G__32281__i \x3c G__32281__a.length) {G__32281__a[G__32281__i] \x3d arguments[G__32281__i + 0]; ++G__32281__i;}\n args \x3d new cljs.core.IndexedSeq(G__32281__a,0,null);\n} \nreturn G__32280__delegate.call(this,args);};\nG__32280.cljs$lang$maxFixedArity \x3d 0;\nG__32280.cljs$lang$applyTo \x3d (function (arglist__32283){\nvar args \x3d cljs.core.seq(arglist__32283);\nreturn G__32280__delegate(args);\n});\nG__32280.cljs$core$IFn$_invoke$arity$variadic \x3d G__32280__delegate;\nreturn G__32280;\n})()\n;\n});\n/**\n * trampoline can be used to convert algorithms requiring mutual\n * recursion without stack consumption. Calls f with supplied args, if\n * any. If f returns a fn, calls that fn with no arguments, and\n * continues to repeat, until the return value is not a fn, then\n * returns that non-fn value. Note that if you want to return a fn as a\n * final value, you must wrap it in some data structure and unpack it\n * after trampoline returns.\n */\ncljs.core.trampoline \x3d (function cljs$core$trampoline(var_args){\nvar G__28308 \x3d arguments.length;\nswitch (G__28308) {\ncase 1:\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___32285 \x3d arguments.length;\nvar i__5750__auto___32286 \x3d (0);\nwhile(true){\nif((i__5750__auto___32286 \x3c len__5749__auto___32285)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___32286]));\n\nvar G__32287 \x3d (i__5750__auto___32286 + (1));\ni__5750__auto___32286 \x3d G__32287;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((1) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5775__auto__);\n\n}\n});\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nwhile(true){\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif(cljs.core.fn_QMARK_(ret)){\nvar G__32289 \x3d ret;\nf \x3d G__32289;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}));\n\n(cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}));\n}));\n\n/** @this {Function} */\n(cljs.core.trampoline.cljs$lang$applyTo \x3d (function (seq28306){\nvar G__28307 \x3d cljs.core.first(seq28306);\nvar seq28306__$1 \x3d cljs.core.next(seq28306);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28307,seq28306__$1);\n}));\n\n(cljs.core.trampoline.cljs$lang$maxFixedArity \x3d (1));\n\n/**\n * Returns a random floating point number between 0 (inclusive) and\n * n (default 1) (exclusive).\n */\ncljs.core.rand \x3d (function cljs$core$rand(var_args){\nvar G__28310 \x3d arguments.length;\nswitch (G__28310) {\ncase 0:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));\n}));\n\n(cljs.core.rand.cljs$core$IFn$_invoke$arity$1 \x3d (function (n){\nreturn (Math.random() * n);\n}));\n\n(cljs.core.rand.cljs$lang$maxFixedArity \x3d 1);\n\n/**\n * Returns a random integer between 0 (inclusive) and n (exclusive).\n */\ncljs.core.rand_int \x3d (function cljs$core$rand_int(n){\nreturn Math.floor((Math.random() * n));\n});\n/**\n * Return a random element of the (sequential) collection. Will have\n * the same performance characteristics as nth for the given\n * collection.\n */\ncljs.core.rand_nth \x3d (function cljs$core$rand_nth(coll){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,cljs.core.rand_int(cljs.core.count(coll)));\n});\n/**\n * Returns a map of the elements of coll keyed by the result of\n * f on each element. The value at each key will be a vector of the\n * corresponding elements, in the order they appeared in coll.\n */\ncljs.core.group_by \x3d (function cljs$core$group_by(f,coll){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar k \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\nreturn 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));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));\n});\n/**\n * Creates a hierarchy object for use with derive, isa? etc.\n */\ncljs.core.make_hierarchy \x3d (function cljs$core$make_hierarchy(){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),cljs.core.PersistentArrayMap.EMPTY], null);\n});\n/**\n * @type {*}\n */\ncljs.core._global_hierarchy \x3d null;\ncljs.core.get_global_hierarchy \x3d (function cljs$core$get_global_hierarchy(){\nif((cljs.core._global_hierarchy \x3d\x3d null)){\n(cljs.core._global_hierarchy \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy()));\n} else {\n}\n\nreturn cljs.core._global_hierarchy;\n});\ncljs.core.swap_global_hierarchy_BANG_ \x3d (function cljs$core$swap_global_hierarchy_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32292 \x3d arguments.length;\nvar i__5750__auto___32293 \x3d (0);\nwhile(true){\nif((i__5750__auto___32293 \x3c len__5749__auto___32292)){\nargs__5755__auto__.push((arguments[i__5750__auto___32293]));\n\nvar G__32294 \x3d (i__5750__auto___32293 + (1));\ni__5750__auto___32293 \x3d G__32294;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),f,args);\n}));\n\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo \x3d (function (seq28311){\nvar G__28312 \x3d cljs.core.first(seq28311);\nvar seq28311__$1 \x3d cljs.core.next(seq28311);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28312,seq28311__$1);\n}));\n\n/**\n * Returns true if (\x3d child parent), or child is directly or indirectly derived from\n * parent, either via a JavaScript type inheritance relationship or a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy\n */\ncljs.core.isa_QMARK_ \x3d (function cljs$core$isa_QMARK_(var_args){\nvar G__28314 \x3d arguments.length;\nswitch (G__28314) {\ncase 2:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),child,parent);\n}));\n\n(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nvar or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(child,parent);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.contains_QMARK_((function (){var fexpr__28315 \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nreturn (fexpr__28315.cljs$core$IFn$_invoke$arity$1 ? fexpr__28315.cljs$core$IFn$_invoke$arity$1(child) : fexpr__28315.call(null,child));\n})(),parent);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nvar and__5023__auto__ \x3d cljs.core.vector_QMARK_(parent);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.vector_QMARK_(child);\nif(and__5023__auto____$1){\nvar and__5023__auto____$2 \x3d (cljs.core.count(parent) \x3d\x3d\x3d cljs.core.count(child));\nif(and__5023__auto____$2){\nvar ret \x3d true;\nvar i \x3d (0);\nwhile(true){\nif((((!(ret))) || ((i \x3d\x3d\x3d cljs.core.count(parent))))){\nreturn ret;\n} else {\nvar G__32297 \x3d 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)));\nvar G__32298 \x3d (i + (1));\nret \x3d G__32297;\ni \x3d G__32298;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}\n}\n}));\n\n(cljs.core.isa_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns the immediate parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.parents \x3d (function cljs$core$parents(var_args){\nvar G__28317 \x3d arguments.length;\nswitch (G__28317) {\ncase 1:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.parents.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.parents.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect parents of tag, either via a JavaScript type\n * inheritance relationship or a relationship established via derive. h\n * must be a hierarchy obtained from make-hierarchy, if not supplied\n * defaults to the global hierarchy\n */\ncljs.core.ancestors \x3d (function cljs$core$ancestors(var_args){\nvar G__28319 \x3d arguments.length;\nswitch (G__28319) {\ncase 1:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.ancestors.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the immediate and indirect children of tag, through a\n * relationship established via derive. h must be a hierarchy obtained\n * from make-hierarchy, if not supplied defaults to the global\n * hierarchy. Note: does not work on JavaScript type inheritance\n * relationships.\n */\ncljs.core.descendants \x3d (function cljs$core$descendants(var_args){\nvar G__28321 \x3d arguments.length;\nswitch (G__28321) {\ncase 1:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);\n}));\n\n(cljs.core.descendants.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),tag));\n}));\n\n(cljs.core.descendants.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Establishes a parent/child relationship between parent and\n * tag. Parent must be a namespace-qualified symbol or keyword and\n * child can be either a namespace-qualified symbol or keyword or a\n * class. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.derive \x3d (function cljs$core$derive(var_args){\nvar G__28323 \x3d arguments.length;\nswitch (G__28323) {\ncase 2:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nif(cljs.core.truth_(cljs.core.namespace(parent))){\n} else {\nthrow (new Error(\x22Assert failed: (namespace parent)\x22));\n}\n\ncljs.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));\n\nreturn null;\n}));\n\n(cljs.core.derive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(tag,parent)){\n} else {\nthrow (new Error(\x22Assert failed: (not\x3d tag parent)\x22));\n}\n\nvar tp \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar td \x3d new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h);\nvar ta \x3d new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h);\nvar tf \x3d (function (m,source,sources,target,targets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,k){\nreturn 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)))));\n}),m,cljs.core.cons(source,(sources.cljs$core$IFn$_invoke$arity$1 ? sources.cljs$core$IFn$_invoke$arity$1(source) : sources.call(null,source))));\n});\nvar or__5025__auto__ \x3d ((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 (){\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(tag) : ta.call(null,tag)),parent)){\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22already has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nif(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(parent) : ta.call(null,parent)),tag)){\nthrow (new Error([\x22Cyclic derivation:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),\x22has\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),\x22as ancestor\x22].join(\x27\x27)));\n} else {\n}\n\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).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)),new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424),tf(new cljs.core.Keyword(null,\x22ancestors\x22,\x22ancestors\x22,-776045424).cljs$core$IFn$_invoke$arity$1(h),tag,td,parent,ta),new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031),tf(new cljs.core.Keyword(null,\x22descendants\x22,\x22descendants\x22,1824886031).cljs$core$IFn$_invoke$arity$1(h),parent,ta,tag,td)], null);\n})()\n);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.derive.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Removes a parent/child relationship between parent and\n * tag. h must be a hierarchy obtained from make-hierarchy, if not\n * supplied defaults to, and modifies, the global hierarchy.\n */\ncljs.core.underive \x3d (function cljs$core$underive(var_args){\nvar G__28328 \x3d arguments.length;\nswitch (G__28328) {\ncase 2:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\ncljs.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));\n\nreturn null;\n}));\n\n(cljs.core.underive.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar parentMap \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(h);\nvar childsParents \x3d (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);\nvar newParents \x3d (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));\nvar deriv_seq \x3d cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28324_SHARP_){\nreturn cljs.core.cons(cljs.core.first(p1__28324_SHARP_),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(p1__28324_SHARP_),cljs.core.second(p1__28324_SHARP_)));\n}),cljs.core.seq(newParents)));\nif(cljs.core.contains_QMARK_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28325_SHARP_,p2__28326_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,p1__28325_SHARP_,p2__28326_SHARP_);\n}),cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),deriv_seq));\n} else {\nreturn h;\n}\n}));\n\n(cljs.core.underive.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.reset_cache \x3d (function cljs$core$reset_cache(method_cache,method_table,cached_hierarchy,hierarchy){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(method_cache,(function (_){\nreturn cljs.core.deref(method_table);\n}));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cached_hierarchy,(function (_){\nreturn cljs.core.deref(hierarchy);\n}));\n});\ncljs.core.prefers_STAR_ \x3d (function cljs$core$prefers_STAR_(x,y,prefer_table){\nvar xprefs \x3d (function (){var fexpr__28329 \x3d cljs.core.deref(prefer_table);\nreturn (fexpr__28329.cljs$core$IFn$_invoke$arity$1 ? fexpr__28329.cljs$core$IFn$_invoke$arity$1(x) : fexpr__28329.call(null,x));\n})();\nvar or__5025__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d xprefs;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (xprefs.cljs$core$IFn$_invoke$arity$1 ? xprefs.cljs$core$IFn$_invoke$arity$1(y) : xprefs.call(null,y));\n} else {\nreturn and__5023__auto__;\n}\n})())?true:null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(y);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__28330 \x3d x;\nvar G__28331 \x3d cljs.core.first(ps);\nvar G__28332 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__28330,G__28331,G__28332) : cljs.core.prefers_STAR_.call(null,G__28330,G__28331,G__28332));\n})())){\n} else {\n}\n\nvar G__32309 \x3d cljs.core.rest(ps);\nps \x3d G__32309;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var ps \x3d cljs.core.parents.cljs$core$IFn$_invoke$arity$1(x);\nwhile(true){\nif((cljs.core.count(ps) \x3e (0))){\nif(cljs.core.truth_((function (){var G__28333 \x3d cljs.core.first(ps);\nvar G__28334 \x3d y;\nvar G__28335 \x3d prefer_table;\nreturn (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__28333,G__28334,G__28335) : cljs.core.prefers_STAR_.call(null,G__28333,G__28334,G__28335));\n})())){\n} else {\n}\n\nvar G__32310 \x3d cljs.core.rest(ps);\nps \x3d G__32310;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn false;\n}\n}\n}\n});\ncljs.core.dominates \x3d (function cljs$core$dominates(x,y,prefer_table,hierarchy){\nvar or__5025__auto__ \x3d cljs.core.prefers_STAR_(x,y,prefer_table);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(hierarchy,x,y);\n}\n});\ncljs.core.find_and_cache_best_method \x3d (function cljs$core$find_and_cache_best_method(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val){\nvar best_entry \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (be,p__28336){\nvar vec__28337 \x3d p__28336;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28337,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28337,(1),null);\nvar e \x3d vec__28337;\nif(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(hierarchy),dispatch_val,k)){\nvar be2 \x3d (((((be \x3d\x3d null)) || (cljs.core.dominates(k,cljs.core.first(be),prefer_table,cljs.core.deref(hierarchy)))))?e:be);\nif(cljs.core.dominates(cljs.core.first(be2),k,prefer_table,cljs.core.deref(hierarchy))){\n} else {\nthrow (new Error([\x22Multiple methods in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 match dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val),\x22 -\x3e \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k),\x22 and \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(be2)),\x22, and neither is preferred\x22].join(\x27\x27)));\n}\n\nreturn be2;\n} else {\nreturn be;\n}\n}),null,cljs.core.deref(method_table));\nvar best_entry__$1 \x3d (function (){var temp__5821__auto__ \x3d (function (){var and__5023__auto__ \x3d (best_entry \x3d\x3d null);\nif(and__5023__auto__){\nvar fexpr__28340 \x3d cljs.core.deref(method_table);\nreturn (fexpr__28340.cljs$core$IFn$_invoke$arity$1 ? fexpr__28340.cljs$core$IFn$_invoke$arity$1(default_dispatch_val) : fexpr__28340.call(null,default_dispatch_val));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar entry \x3d temp__5821__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default_dispatch_val,entry], null);\n} else {\nreturn best_entry;\n}\n})();\nif(cljs.core.truth_(best_entry__$1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cached_hierarchy),cljs.core.deref(hierarchy))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(method_cache,cljs.core.assoc,dispatch_val,cljs.core.second(best_entry__$1));\n\nreturn cljs.core.second(best_entry__$1);\n} else {\ncljs.core.reset_cache(method_cache,method_table,cached_hierarchy,hierarchy);\n\nreturn (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));\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * @interface\n */\ncljs.core.IMultiFn \x3d function(){};\n\nvar cljs$core$IMultiFn$_reset$dyn_32314 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._reset[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._reset[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-reset\x22,mf);\n}\n}\n});\ncljs.core._reset \x3d (function cljs$core$_reset(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_reset$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_reset$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_reset$dyn_32314(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_add_method$dyn_32315 \x3d (function (mf,dispatch_val,method){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._add_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5374__auto__.call(null,mf,dispatch_val,method));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._add_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__5372__auto__.call(null,mf,dispatch_val,method));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-add-method\x22,mf);\n}\n}\n});\ncljs.core._add_method \x3d (function cljs$core$_add_method(mf,dispatch_val,method){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_add_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_add_method$arity$3(mf,dispatch_val,method);\n} else {\nreturn cljs$core$IMultiFn$_add_method$dyn_32315(mf,dispatch_val,method);\n}\n});\n\nvar cljs$core$IMultiFn$_remove_method$dyn_32317 \x3d (function (mf,dispatch_val){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._remove_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5374__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._remove_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5372__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-remove-method\x22,mf);\n}\n}\n});\ncljs.core._remove_method \x3d (function cljs$core$_remove_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_remove_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_remove_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_remove_method$dyn_32317(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_prefer_method$dyn_32318 \x3d (function (mf,dispatch_val,dispatch_val_y){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._prefer_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5374__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._prefer_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__5372__auto__.call(null,mf,dispatch_val,dispatch_val_y));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefer-method\x22,mf);\n}\n}\n});\ncljs.core._prefer_method \x3d (function cljs$core$_prefer_method(mf,dispatch_val,dispatch_val_y){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf,dispatch_val,dispatch_val_y);\n} else {\nreturn cljs$core$IMultiFn$_prefer_method$dyn_32318(mf,dispatch_val,dispatch_val_y);\n}\n});\n\nvar cljs$core$IMultiFn$_get_method$dyn_32320 \x3d (function (mf,dispatch_val){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._get_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5374__auto__.call(null,mf,dispatch_val));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._get_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__5372__auto__.call(null,mf,dispatch_val));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-get-method\x22,mf);\n}\n}\n});\ncljs.core._get_method \x3d (function cljs$core$_get_method(mf,dispatch_val){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_get_method$arity$2 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_get_method$arity$2(mf,dispatch_val);\n} else {\nreturn cljs$core$IMultiFn$_get_method$dyn_32320(mf,dispatch_val);\n}\n});\n\nvar cljs$core$IMultiFn$_methods$dyn_32321 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._methods[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._methods[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-methods\x22,mf);\n}\n}\n});\ncljs.core._methods \x3d (function cljs$core$_methods(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_methods$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_methods$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_methods$dyn_32321(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_prefers$dyn_32322 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._prefers[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._prefers[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-prefers\x22,mf);\n}\n}\n});\ncljs.core._prefers \x3d (function cljs$core$_prefers(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_prefers$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_prefers$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_prefers$dyn_32322(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_default_dispatch_val$dyn_32324 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._default_dispatch_val[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._default_dispatch_val[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-default-dispatch-val\x22,mf);\n}\n}\n});\ncljs.core._default_dispatch_val \x3d (function cljs$core$_default_dispatch_val(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_default_dispatch_val$dyn_32324(mf);\n}\n});\n\nvar cljs$core$IMultiFn$_dispatch_fn$dyn_32325 \x3d (function (mf){\nvar x__5373__auto__ \x3d (((mf \x3d\x3d null))?null:mf);\nvar m__5374__auto__ \x3d (cljs.core._dispatch_fn[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5374__auto__.call(null,mf));\n} else {\nvar m__5372__auto__ \x3d (cljs.core._dispatch_fn[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__5372__auto__.call(null,mf));\n} else {\nthrow cljs.core.missing_protocol(\x22IMultiFn.-dispatch-fn\x22,mf);\n}\n}\n});\ncljs.core._dispatch_fn \x3d (function cljs$core$_dispatch_fn(mf){\nif((((!((mf \x3d\x3d null)))) \x26\x26 ((!((mf.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d\x3d null)))))){\nreturn mf.cljs$core$IMultiFn$_dispatch_fn$arity$1(mf);\n} else {\nreturn cljs$core$IMultiFn$_dispatch_fn$dyn_32325(mf);\n}\n});\n\ncljs.core.throw_no_method_error \x3d (function cljs$core$throw_no_method_error(name,dispatch_val){\nthrow (new Error([\x22No method in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IFn}\n * @implements {cljs.core.IMultiFn}\n * @implements {cljs.core.INamed}\n*/\ncljs.core.MultiFn \x3d (function (name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nthis.name \x3d name;\nthis.dispatch_fn \x3d dispatch_fn;\nthis.default_dispatch_val \x3d default_dispatch_val;\nthis.hierarchy \x3d hierarchy;\nthis.method_table \x3d method_table;\nthis.prefer_table \x3d prefer_table;\nthis.method_cache \x3d method_cache;\nthis.cached_hierarchy \x3d cached_hierarchy;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 4194305;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4352;\n});\n(cljs.core.MultiFn.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__28342 \x3d (arguments.length - (1));\nswitch (G__28342) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((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)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((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)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((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)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((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)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((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)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((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)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((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)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((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)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(cljs.core.MultiFn.prototype.apply \x3d (function (self__,args28341){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args28341)));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d (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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn (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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar mf \x3d this;\nvar dispatch_val \x3d 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));\nvar target_fn \x3d mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);\nif(cljs.core.truth_(target_fn)){\n} else {\ncljs.core.throw_no_method_error(self__.name,dispatch_val);\n}\n\nreturn 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));\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 \x3d (function (mf,dispatch_val_x,dispatch_val_y){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core.truth_(cljs.core.prefers_STAR_(dispatch_val_y,dispatch_val_x,self__.prefer_table))){\nthrow (new Error([\x22Preference conflict in multimethod \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),\x22\x27: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_y),\x22 is already preferred to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_x)].join(\x27\x27)));\n} else {\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (old){\nreturn 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));\n}));\n\nreturn cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.default_dispatch_val;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.method_table,cljs.core.dissoc,dispatch_val);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.method_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn cljs.core.deref(self__.prefer_table);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nreturn self__.dispatch_fn;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 \x3d (function (mf,dispatch_val,method){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.method_table,cljs.core.assoc,dispatch_val,method);\n\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 \x3d (function (mf){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_cache,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,(function (mf__$2){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.cached_hierarchy,(function (mf__$2){\nreturn null;\n}));\n\nreturn mf__$1;\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 \x3d (function (mf,dispatch_val){\nvar self__ \x3d this;\nvar mf__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.cached_hierarchy),cljs.core.deref(self__.hierarchy))){\n} else {\ncljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);\n}\n\nvar temp__5821__auto__ \x3d (function (){var fexpr__28343 \x3d cljs.core.deref(self__.method_cache);\nreturn (fexpr__28343.cljs$core$IFn$_invoke$arity$1 ? fexpr__28343.cljs$core$IFn$_invoke$arity$1(dispatch_val) : fexpr__28343.call(null,dispatch_val));\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar target_fn \x3d temp__5821__auto__;\nreturn target_fn;\n} else {\nreturn 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);\n}\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._name(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._namespace(self__.name);\n}));\n\n(cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn goog.getUid(this$__$1);\n}));\n\n(cljs.core.MultiFn.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22default-dispatch-val\x22,\x22default-dispatch-val\x22,-1231201266,null),new cljs.core.Symbol(null,\x22hierarchy\x22,\x22hierarchy\x22,587061186,null),new cljs.core.Symbol(null,\x22method-table\x22,\x22method-table\x22,-1878263165,null),new cljs.core.Symbol(null,\x22prefer-table\x22,\x22prefer-table\x22,462168584,null),new cljs.core.Symbol(null,\x22method-cache\x22,\x22method-cache\x22,1230193905,null),new cljs.core.Symbol(null,\x22cached-hierarchy\x22,\x22cached-hierarchy\x22,-1085460203,null)], null);\n}));\n\n(cljs.core.MultiFn.cljs$lang$type \x3d true);\n\n(cljs.core.MultiFn.cljs$lang$ctorStr \x3d \x22cljs.core/MultiFn\x22);\n\n(cljs.core.MultiFn.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/MultiFn\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/MultiFn.\n */\ncljs.core.__GT_MultiFn \x3d (function cljs$core$__GT_MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\n\n/**\n * Removes all of the methods of multimethod.\n */\ncljs.core.remove_all_methods \x3d (function cljs$core$remove_all_methods(multifn){\nreturn cljs.core._reset(multifn);\n});\n/**\n * Removes the method of multimethod associated with dispatch-value.\n */\ncljs.core.remove_method \x3d (function cljs$core$remove_method(multifn,dispatch_val){\nreturn cljs.core._remove_method(multifn,dispatch_val);\n});\n/**\n * Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y\n * when there is a conflict\n */\ncljs.core.prefer_method \x3d (function cljs$core$prefer_method(multifn,dispatch_val_x,dispatch_val_y){\nreturn cljs.core._prefer_method(multifn,dispatch_val_x,dispatch_val_y);\n});\n/**\n * Given a multimethod, returns a map of dispatch values -\x3e dispatch fns\n */\ncljs.core.methods$ \x3d (function cljs$core$methods(multifn){\nreturn cljs.core._methods(multifn);\n});\n/**\n * Given a multimethod and a dispatch value, returns the dispatch fn\n * that would apply to that value, or nil if none apply and no default\n */\ncljs.core.get_method \x3d (function cljs$core$get_method(multifn,dispatch_val){\nreturn cljs.core._get_method(multifn,dispatch_val);\n});\n/**\n * Given a multimethod, returns a map of preferred value -\x3e set of other values\n */\ncljs.core.prefers \x3d (function cljs$core$prefers(multifn){\nreturn cljs.core._prefers(multifn);\n});\n/**\n * Given a multimethod, return its default-dispatch-val.\n */\ncljs.core.default_dispatch_val \x3d (function cljs$core$default_dispatch_val(multifn){\nreturn cljs.core._default_dispatch_val(multifn);\n});\n/**\n * Given a multimethod, return its dispatch-fn.\n */\ncljs.core.dispatch_fn \x3d (function cljs$core$dispatch_fn(multifn){\nreturn cljs.core._dispatch_fn(multifn);\n});\n\n/**\n * A marker protocol for UUIDs\n * @interface\n */\ncljs.core.IUUID \x3d function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IComparable}\n * @implements {cljs.core.IUUID}\n*/\ncljs.core.UUID \x3d (function (uuid,__hash){\nthis.uuid \x3d uuid;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775104;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2048;\n});\n(cljs.core.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.uuid;\n}));\n\n(cljs.core.UUID.prototype.equiv \x3d (function (other){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.cljs$core$IEquiv$_equiv$arity$2(null,other);\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar and__5023__auto__ \x3d (((!((other \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d other.cljs$core$IUUID$))))?true:false):false);\nif(and__5023__auto__){\nreturn (self__.uuid \x3d\x3d\x3d other.uuid);\n} else {\nreturn and__5023__auto__;\n}\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (_,writer,___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.uuid),\x22\\\x22\x22].join(\x27\x27));\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.__hash \x3d\x3d null)){\n(self__.__hash \x3d cljs.core.hash(self__.uuid));\n} else {\n}\n\nreturn self__.__hash;\n}));\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn cljs.core.goog$module$goog$array.defaultCompare(self__.uuid,other.uuid);\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(cljs.core.UUID.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22__hash\x22,\x22__hash\x22,-1328796629,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.UUID.cljs$lang$type \x3d true);\n\n(cljs.core.UUID.cljs$lang$ctorStr \x3d \x22cljs.core/UUID\x22);\n\n(cljs.core.UUID.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/UUID\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/UUID.\n */\ncljs.core.__GT_UUID \x3d (function cljs$core$__GT_UUID(uuid,__hash){\nreturn (new cljs.core.UUID(uuid,__hash));\n});\n\n/**\n * Returns a UUID consistent with the string s.\n */\ncljs.core.uuid \x3d (function cljs$core$uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? s)\x22));\n}\n\nreturn (new cljs.core.UUID(s.toLowerCase(),null));\n});\n/**\n * Returns a pseudo-randomly generated UUID instance (i.e. type 4).\n */\ncljs.core.random_uuid \x3d (function cljs$core$random_uuid(){\nvar quad_hex \x3d (function cljs$core$random_uuid_$_quad_hex(){\nvar unpadded_hex \x3d cljs.core.rand_int((65536)).toString((16));\nvar G__28346 \x3d ((unpadded_hex).length);\nswitch (G__28346) {\ncase (1):\nreturn [\x22000\x22,unpadded_hex].join(\x27\x27);\n\nbreak;\ncase (2):\nreturn [\x2200\x22,unpadded_hex].join(\x27\x27);\n\nbreak;\ncase (3):\nreturn [\x220\x22,unpadded_hex].join(\x27\x27);\n\nbreak;\ndefault:\nreturn unpadded_hex;\n\n}\n});\nvar ver_tripple_hex \x3d ((16384) | ((4095) \x26 cljs.core.rand_int((65536)))).toString((16));\nvar res_tripple_hex \x3d ((32768) | ((16383) \x26 cljs.core.rand_int((65536)))).toString((16));\nreturn cljs.core.uuid([quad_hex(),quad_hex(),\x22-\x22,quad_hex(),\x22-\x22,ver_tripple_hex,\x22-\x22,res_tripple_hex,\x22-\x22,quad_hex(),quad_hex(),quad_hex()].join(\x27\x27));\n});\n/**\n * Return true if x is a UUID.\n */\ncljs.core.uuid_QMARK_ \x3d (function cljs$core$uuid_QMARK_(x){\nif((!((x \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IUUID$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\ncljs.core.pr_writer_ex_info \x3d (function cljs$core$pr_writer_ex_info(obj,writer,opts){\ncljs.core._write(writer,\x22#error {:message \x22);\n\ncljs.core.pr_writer(obj.message,writer,opts);\n\nif(cljs.core.truth_(obj.data)){\ncljs.core._write(writer,\x22, :data \x22);\n\ncljs.core.pr_writer(obj.data,writer,opts);\n} else {\n}\n\nif(cljs.core.truth_(obj.cause)){\ncljs.core._write(writer,\x22, :cause \x22);\n\ncljs.core.pr_writer(obj.cause,writer,opts);\n} else {\n}\n\nreturn cljs.core._write(writer,\x22}\x22);\n});\n/**\n * @constructor\n */\ncljs.core.ExceptionInfo \x3d (function cljs$core$ExceptionInfo(message,data,cause){\nvar e \x3d (new Error(message));\nvar this$ \x3d this;\n(this$.message \x3d message);\n\n(this$.data \x3d data);\n\n(this$.cause \x3d cause);\n\n(this$.name \x3d e.name);\n\n(this$.description \x3d e.description);\n\n(this$.number \x3d e.number);\n\n(this$.fileName \x3d e.fileName);\n\n(this$.lineNumber \x3d e.lineNumber);\n\n(this$.columnNumber \x3d e.columnNumber);\n\n(this$.stack \x3d e.stack);\n\nreturn this$;\n});\n(cljs.core.ExceptionInfo.prototype.__proto__ \x3d Error.prototype);\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (obj,writer,opts){\nvar obj__$1 \x3d this;\nreturn cljs.core.pr_writer_ex_info(obj__$1,writer,opts);\n}));\n(cljs.core.ExceptionInfo.prototype.toString \x3d (function (){\nvar this$ \x3d this;\nreturn cljs.core.pr_str_STAR_(this$);\n}));\n/**\n * Create an instance of ExceptionInfo, an Error type that carries a\n * map of additional data.\n */\ncljs.core.ex_info \x3d (function cljs$core$ex_info(var_args){\nvar G__28349 \x3d arguments.length;\nswitch (G__28349) {\ncase 2:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,data){\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(msg,data,null);\n}));\n\n(cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,data,cause){\nreturn (new cljs.core.ExceptionInfo(msg,data,cause));\n}));\n\n(cljs.core.ex_info.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Returns exception data (a map) if ex is an ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_data \x3d (function cljs$core$ex_data(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.data;\n} else {\nreturn null;\n}\n});\n/**\n * Returns the message attached to the given Error / ExceptionInfo object.\n * For non-Errors returns nil.\n */\ncljs.core.ex_message \x3d (function cljs$core$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n/**\n * Returns exception cause (an Error / ExceptionInfo) if ex is an\n * ExceptionInfo.\n * Otherwise returns nil.\n */\ncljs.core.ex_cause \x3d (function cljs$core$ex_cause(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n/**\n * Constructs a data representation for an Error with keys:\n * :cause - root cause message\n * :phase - error phase\n * :via - cause chain, with cause keys:\n * :type - exception class symbol\n * :message - exception message\n * :data - ex-data\n * :at - top stack element\n * :trace - root cause stack elements\n */\ncljs.core.Throwable__GT_map \x3d (function cljs$core$Throwable__GT_map(o){\nvar base \x3d (function (t){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),(((t instanceof cljs.core.ExceptionInfo))?new cljs.core.Symbol(\x22cljs.core\x22,\x22ExceptionInfo\x22,\x22cljs.core/ExceptionInfo\x22,701839050,null):(((t instanceof Error))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,t.name):null\n))], null),(function (){var temp__5823__auto__ \x3d cljs.core.ex_message(t);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar msg \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.ex_data(t);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ed \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),ed], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\nvar via \x3d (function (){var via \x3d cljs.core.PersistentVector.EMPTY;\nvar t \x3d o;\nwhile(true){\nif(cljs.core.truth_(t)){\nvar G__32523 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,t);\nvar G__32524 \x3d cljs.core.ex_cause(t);\nvia \x3d G__32523;\nt \x3d G__32524;\ncontinue;\n} else {\nreturn via;\n}\nbreak;\n}\n})();\nvar root \x3d cljs.core.peek(via);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(base,via)),new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415),null], null),(function (){var temp__5823__auto__ \x3d cljs.core.ex_message(root);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar root_msg \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),root_msg], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.ex_data(root);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar data \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(o));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar phase \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase], null);\n} else {\nreturn null;\n}\n})()], 0));\n});\n/**\n * Returns an JavaScript compatible comparator based upon pred.\n */\ncljs.core.comparator \x3d (function cljs$core$comparator(pred){\nreturn (function (x,y){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(x,y) : pred.call(null,x,y)))){\nreturn (-1);\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(y,x) : pred.call(null,y,x)))){\nreturn (1);\n} else {\nreturn (0);\n\n}\n}\n});\n});\n/**\n * Returns true if x names a special form\n */\ncljs.core.special_symbol_QMARK_ \x3d (function cljs$core$special_symbol_QMARK_(x){\nreturn cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 24, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),\x22null\x22,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22defrecord*\x22,\x22defrecord*\x22,-1936366207,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns*\x22,\x22ns*\x22,1840949383,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22letfn*\x22,\x22letfn*\x22,-110097810,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22deftype*\x22,\x22deftype*\x22,962659890,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22js*\x22,\x22js*\x22,-1134233646,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null),x);\n});\n/**\n * test [v] - if var, finds fn at key :test in var metadata, if function, finds\n * special test property. Calls it, presuming failure will throw exception.\n * \n * Examples:\n * \n * (test my-fn) ;; :ok\n * (test #\x27my-fn) ;; :ok\n */\ncljs.core.test \x3d (function cljs$core$test(v){\nvar f \x3d (((v instanceof cljs.core.Var))?new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v)):(function (){var G__28350 \x3d v;\nif((G__28350 \x3d\x3d null)){\nreturn null;\n} else {\nreturn G__28350.cljs$lang$test;\n}\n})());\nif(cljs.core.truth_(f)){\n(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nreturn new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236);\n} else {\nreturn new cljs.core.Keyword(null,\x22no-test\x22,\x22no-test\x22,-1679482642);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.ILookup}\n*/\ncljs.core.TaggedLiteral \x3d (function (tag,form){\nthis.tag \x3d tag;\nthis.form \x3d form;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2153775360;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.TaggedLiteral.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar coll \x3d this;\nreturn cljs.core.pr_str_STAR_(coll);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof cljs.core.TaggedLiteral)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.tag,other.tag)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.form,other.form)))));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((31) * cljs.core.hash(self__.tag)) + cljs.core.hash(self__.form));\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn this$__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,v,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar G__28351 \x3d v;\nvar G__28351__$1 \x3d (((G__28351 instanceof cljs.core.Keyword))?G__28351.fqn:null);\nswitch (G__28351__$1) {\ncase \x22tag\x22:\nreturn self__.tag;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn not_found;\n\n}\n}));\n\n(cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (o,writer,opts){\nvar self__ \x3d this;\nvar o__$1 \x3d this;\ncljs.core._write(writer,[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tag),\x22 \x22].join(\x27\x27));\n\nreturn cljs.core.pr_writer(self__.form,writer,opts);\n}));\n\n(cljs.core.TaggedLiteral.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.core.TaggedLiteral.cljs$lang$type \x3d true);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorStr \x3d \x22cljs.core/TaggedLiteral\x22);\n\n(cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/TaggedLiteral\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/TaggedLiteral.\n */\ncljs.core.__GT_TaggedLiteral \x3d (function cljs$core$__GT_TaggedLiteral(tag,form){\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n\n/**\n * Return true if the value is the data representation of a tagged literal\n */\ncljs.core.tagged_literal_QMARK_ \x3d (function cljs$core$tagged_literal_QMARK_(value){\nreturn (value instanceof cljs.core.TaggedLiteral);\n});\n/**\n * Construct a data representation of a tagged literal from a\n * tag symbol and a form.\n */\ncljs.core.tagged_literal \x3d (function cljs$core$tagged_literal(tag,form){\nif((tag instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? tag)\x22));\n}\n\nreturn (new cljs.core.TaggedLiteral(tag,form));\n});\n/**\n * @type {*}\n */\ncljs.core.js_reserved_arr \x3d [\x22arguments\x22,\x22abstract\x22,\x22await\x22,\x22boolean\x22,\x22break\x22,\x22byte\x22,\x22case\x22,\x22catch\x22,\x22char\x22,\x22class\x22,\x22const\x22,\x22continue\x22,\x22debugger\x22,\x22default\x22,\x22delete\x22,\x22do\x22,\x22double\x22,\x22else\x22,\x22enum\x22,\x22export\x22,\x22extends\x22,\x22final\x22,\x22finally\x22,\x22float\x22,\x22for\x22,\x22function\x22,\x22goto\x22,\x22if\x22,\x22implements\x22,\x22import\x22,\x22in\x22,\x22instanceof\x22,\x22int\x22,\x22interface\x22,\x22let\x22,\x22long\x22,\x22native\x22,\x22new\x22,\x22package\x22,\x22private\x22,\x22protected\x22,\x22public\x22,\x22return\x22,\x22short\x22,\x22static\x22,\x22super\x22,\x22switch\x22,\x22synchronized\x22,\x22this\x22,\x22throw\x22,\x22throws\x22,\x22transient\x22,\x22try\x22,\x22typeof\x22,\x22var\x22,\x22void\x22,\x22volatile\x22,\x22while\x22,\x22with\x22,\x22yield\x22,\x22methods\x22,\x22null\x22,\x22constructor\x22];\n/**\n * @type {null|Object}\n */\ncljs.core.js_reserved \x3d null;\ncljs.core.js_reserved_QMARK_ \x3d (function cljs$core$js_reserved_QMARK_(x){\nif((cljs.core.js_reserved \x3d\x3d null)){\n(cljs.core.js_reserved \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28352_SHARP_,p2__28353_SHARP_){\ncljs.core.goog$module$goog$object.set(p1__28352_SHARP_,p2__28353_SHARP_,true);\n\nreturn p1__28352_SHARP_;\n}),({}),cljs.core.js_reserved_arr));\n} else {\n}\n\nreturn cljs.core.js_reserved.hasOwnProperty(x);\n});\ncljs.core.demunge_pattern \x3d (function cljs$core$demunge_pattern(){\nif(cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)){\n} else {\n(cljs.core.DEMUNGE_PATTERN \x3d (function (){var ks \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (a,b){\nreturn (b.length - a.length);\n}),cljs.core.js_keys(cljs.core.DEMUNGE_MAP));\nvar ks__$1 \x3d ks;\nvar ret \x3d \x22\x22;\nwhile(true){\nif(cljs.core.seq(ks__$1)){\nvar G__32581 \x3d cljs.core.next(ks__$1);\nvar G__32582 \x3d [(function (){var G__28357 \x3d ret;\nif((!((ret \x3d\x3d\x3d \x22\x22)))){\nreturn [G__28357,\x22|\x22].join(\x27\x27);\n} else {\nreturn G__28357;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(ks__$1))].join(\x27\x27);\nks__$1 \x3d G__32581;\nret \x3d G__32582;\ncontinue;\n} else {\nreturn [ret,\x22|\\\\$\x22].join(\x27\x27);\n}\nbreak;\n}\n})());\n}\n\nreturn cljs.core.DEMUNGE_PATTERN;\n});\ncljs.core.munge_str \x3d (function cljs$core$munge_str(name){\nvar sb \x3d (new goog.string.StringBuffer());\nvar i_32583 \x3d (0);\nwhile(true){\nif((i_32583 \x3c name.length)){\nvar c_32587 \x3d name.charAt(i_32583);\nvar sub_32588 \x3d cljs.core.goog$module$goog$object.get(cljs.core.CHAR_MAP,c_32587);\nif((!((sub_32588 \x3d\x3d null)))){\nsb.append(sub_32588);\n} else {\nsb.append(c_32587);\n}\n\nvar G__32591 \x3d (i_32583 + (1));\ni_32583 \x3d G__32591;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn sb.toString();\n});\ncljs.core.munge \x3d (function cljs$core$munge(name){\nvar name_SINGLEQUOTE_ \x3d cljs.core.munge_str(cljs.core.str.cljs$core$IFn$_invoke$arity$1(name));\nvar name_SINGLEQUOTE___$1 \x3d (((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22..\x22))?\x22_DOT__DOT_\x22:(cljs.core.truth_(cljs.core.js_reserved_QMARK_(name_SINGLEQUOTE_))?[name_SINGLEQUOTE_,\x22$\x22].join(\x27\x27):name_SINGLEQUOTE_\n));\nif((name instanceof cljs.core.Symbol)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE___$1);\n} else {\nreturn name_SINGLEQUOTE___$1;\n}\n});\ncljs.core.demunge_str \x3d (function cljs$core$demunge_str(munged_name){\nvar r \x3d (new RegExp(cljs.core.demunge_pattern(),\x22g\x22));\nvar munged_name__$1 \x3d (cljs.core.truth_(goog.string.endsWith(munged_name,\x22$\x22))?munged_name.substring((0),(munged_name.length - (1))):munged_name);\nvar ret \x3d \x22\x22;\nvar last_match_end \x3d (0);\nwhile(true){\nvar temp__5821__auto__ \x3d r.exec(munged_name__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar match \x3d temp__5821__auto__;\nvar vec__28361 \x3d match;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28361,(0),null);\nvar G__32595 \x3d [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 \x3d\x3d\x3d \x22$\x22))?\x22/\x22:cljs.core.goog$module$goog$object.get(cljs.core.DEMUNGE_MAP,x)))].join(\x27\x27);\nvar G__32596 \x3d r.lastIndex;\nret \x3d G__32595;\nlast_match_end \x3d G__32596;\ncontinue;\n} else {\nreturn [ret,cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,munged_name__$1.length))].join(\x27\x27);\n}\nbreak;\n}\n});\ncljs.core.demunge \x3d (function cljs$core$demunge(name){\nvar G__28365 \x3d (function (){var name_SINGLEQUOTE_ \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(name);\nif((name_SINGLEQUOTE_ \x3d\x3d\x3d \x22_DOT__DOT_\x22)){\nreturn \x22..\x22;\n} else {\nreturn cljs.core.demunge_str(name_SINGLEQUOTE_);\n}\n})();\nvar fexpr__28364 \x3d (((name instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.str);\nreturn (fexpr__28364.cljs$core$IFn$_invoke$arity$1 ? fexpr__28364.cljs$core$IFn$_invoke$arity$1(G__28365) : fexpr__28364.call(null,G__28365));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.tapset !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * @type {*}\n */\ncljs.core.tapset \x3d null;\n}\ncljs.core.maybe_init_tapset \x3d (function cljs$core$maybe_init_tapset(){\nif((cljs.core.tapset \x3d\x3d null)){\nreturn (cljs.core.tapset \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY));\n} else {\nreturn null;\n}\n});\n/**\n * Adds f, a fn of one argument, to the tap set. This function will be called with\n * anything sent via tap\x3e. Remember f in order to remove-tap\n */\ncljs.core.add_tap \x3d (function cljs$core$add_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.conj,f);\n\nreturn null;\n});\n/**\n * Remove f from the tap set.\n */\ncljs.core.remove_tap \x3d (function cljs$core$remove_tap(f){\ncljs.core.maybe_init_tapset();\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.tapset,cljs.core.disj,f);\n\nreturn null;\n});\n/**\n * Sends x to any taps. Returns the result of *exec-tap-fn*, a Boolean value.\n */\ncljs.core.tap_GT_ \x3d (function cljs$core$tap_GT_(x){\ncljs.core.maybe_init_tapset();\n\nreturn cljs.core._STAR_exec_tap_fn_STAR_.call(null,(function (){\nvar seq__28366 \x3d cljs.core.seq(cljs.core.deref(cljs.core.tapset));\nvar chunk__28367 \x3d null;\nvar count__28368 \x3d (0);\nvar i__28369 \x3d (0);\nwhile(true){\nif((i__28369 \x3c count__28368)){\nvar tap \x3d chunk__28367.cljs$core$IIndexed$_nth$arity$2(null,i__28369);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e28372){if((e28372 instanceof Error)){\nvar ex_32611 \x3d e28372;\n} else {\nthrow e28372;\n\n}\n}\n\nvar G__32612 \x3d seq__28366;\nvar G__32613 \x3d chunk__28367;\nvar G__32614 \x3d count__28368;\nvar G__32615 \x3d (i__28369 + (1));\nseq__28366 \x3d G__32612;\nchunk__28367 \x3d G__32613;\ncount__28368 \x3d G__32614;\ni__28369 \x3d G__32615;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__28366);\nif(temp__5823__auto__){\nvar seq__28366__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__28366__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__28366__$1);\nvar G__32616 \x3d cljs.core.chunk_rest(seq__28366__$1);\nvar G__32617 \x3d c__5548__auto__;\nvar G__32618 \x3d cljs.core.count(c__5548__auto__);\nvar G__32619 \x3d (0);\nseq__28366 \x3d G__32616;\nchunk__28367 \x3d G__32617;\ncount__28368 \x3d G__32618;\ni__28369 \x3d G__32619;\ncontinue;\n} else {\nvar tap \x3d cljs.core.first(seq__28366__$1);\ntry{(tap.cljs$core$IFn$_invoke$arity$1 ? tap.cljs$core$IFn$_invoke$arity$1(x) : tap.call(null,x));\n}catch (e28373){if((e28373 instanceof Error)){\nvar ex_32623 \x3d e28373;\n} else {\nthrow e28373;\n\n}\n}\n\nvar G__32624 \x3d cljs.core.next(seq__28366__$1);\nvar G__32625 \x3d null;\nvar G__32626 \x3d (0);\nvar G__32627 \x3d (0);\nseq__28366 \x3d G__32624;\nchunk__28367 \x3d G__32625;\ncount__28368 \x3d G__32626;\ni__28369 \x3d G__32627;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n});\n/**\n * m f \x3d\x3e {k (f v) ...}\n * Given a map m and a function f of 1-argument, returns a new map where the keys of m\n * are mapped to result of applying f to the corresponding values of m.\n */\ncljs.core.update_vals \x3d (function cljs$core$update_vals(m,f){\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,k,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(v) : f.call(null,v)));\n}),(((((!((m \x3d\x3d null))))?(((((m.cljs$lang$protocol_mask$partition1$ \x26 (4))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d m.cljs$core$IEditableCollection$))))?true:false):false))?cljs.core.transient$(m):cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY)),m)),cljs.core.meta(m));\n});\n/**\n * m f \x3d\x3e {(f k) v ...}\n * Given a map m and a function f of 1-argument, returns a new map whose\n * keys are the result of applying f to the keys of m, mapped to the\n * corresponding values of m.\n * f must return a unique key for each key of m, else the behavior is undefined.\n */\ncljs.core.update_keys \x3d (function cljs$core$update_keys(m,f){\nvar ret \x3d cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (acc,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(acc,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(k) : f.call(null,k)),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\nreturn cljs.core.with_meta(ret,cljs.core.meta(m));\n});\n/**\n * Bootstrap only.\n */\ncljs.core.ns_lookup \x3d (function cljs$core$ns_lookup(ns_obj,k){\nreturn (function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n});\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n*/\ncljs.core.Namespace \x3d (function (obj,name){\nthis.obj \x3d obj;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 6291456;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.Namespace.prototype.findInternedVar \x3d (function (sym){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar k \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nif(cljs.core.goog$module$goog$object.containsKey(self__.obj,k)){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym));\nvar var_meta \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),this$], null);\nreturn (new cljs.core.Var(cljs.core.ns_lookup(self__.obj,k),var_sym,var_meta));\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.Namespace.prototype.getName \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.name;\n}));\n\n(cljs.core.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (_,other){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((other instanceof cljs.core.Namespace)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.name,other.name);\n} else {\nreturn false;\n}\n}));\n\n(cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.hash(self__.name);\n}));\n\n(cljs.core.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null)], null);\n}));\n\n(cljs.core.Namespace.cljs$lang$type \x3d true);\n\n(cljs.core.Namespace.cljs$lang$ctorStr \x3d \x22cljs.core/Namespace\x22);\n\n(cljs.core.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core/Namespace\x22);\n}));\n\n/**\n * Positional factory function for cljs.core/Namespace.\n */\ncljs.core.__GT_Namespace \x3d (function cljs$core$__GT_Namespace(obj,name){\nreturn (new cljs.core.Namespace(obj,name));\n});\n\n/**\n * Bootstrap only.\n * @type {*}\n */\ncljs.core.NS_CACHE \x3d null;\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj_STAR_ \x3d (function cljs$core$find_ns_obj_STAR_(ctxt,xs){\nwhile(true){\nif((ctxt \x3d\x3d null)){\nreturn null;\n} else {\nif((xs \x3d\x3d null)){\nreturn ctxt;\n} else {\nvar G__32630 \x3d cljs.core.goog$module$goog$object.get(ctxt,cljs.core.first(xs));\nvar G__32631 \x3d cljs.core.next(xs);\nctxt \x3d G__32630;\nxs \x3d G__32631;\ncontinue;\n\n}\n}\nbreak;\n}\n});\n/**\n * Bootstrap only.\n */\ncljs.core.find_ns_obj \x3d (function cljs$core$find_ns_obj(ns){\nvar munged_ns \x3d cljs.core.munge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns));\nvar segs \x3d munged_ns.split(\x22.\x22);\nvar G__28375 \x3d cljs.core._STAR_target_STAR_;\nswitch (G__28375) {\ncase \x22nodejs\x22:\nif(COMPILED){\nreturn cljs.core.find_ns_obj_STAR_((function (){try{var ctxt \x3d eval(cljs.core.first(segs));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d ctxt;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.object_QMARK_(ctxt);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn ctxt;\n} else {\nreturn null;\n}\n}catch (e28376){if((e28376 instanceof ReferenceError)){\nvar e \x3d e28376;\nreturn null;\n} else {\nthrow e28376;\n\n}\n}})(),cljs.core.next(segs));\n} else {\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n}\n\nbreak;\ncase \x22default\x22:\ncase \x22webworker\x22:\nreturn cljs.core.find_ns_obj_STAR_(goog.global,segs);\n\nbreak;\ndefault:\nthrow (new Error([\x22find-ns-obj not supported for target \x22,cljs.core._STAR_target_STAR_].join(\x27\x27)));\n\n}\n});\n/**\n * Returns a map of the intern mappings for the namespace.\n * Bootstrap only.\n */\ncljs.core.ns_interns_STAR_ \x3d (function cljs$core$ns_interns_STAR_(sym){\nvar ns_obj \x3d cljs.core.find_ns_obj(sym);\nvar ns \x3d (new cljs.core.Namespace(ns_obj,sym));\nvar step \x3d (function cljs$core$ns_interns_STAR__$_step(ret,k){\nvar var_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(k));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_sym,(new cljs.core.Var((function (){\nreturn cljs.core.goog$module$goog$object.get(ns_obj,k);\n}),cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym)),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns], null))));\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(step,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(ns_obj));\n});\n/**\n * Create a new namespace named by the symbol. Bootstrap only.\n */\ncljs.core.create_ns \x3d (function cljs$core$create_ns(var_args){\nvar G__28378 \x3d arguments.length;\nswitch (G__28378) {\ncase 1:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,cljs.core.find_ns_obj(sym));\n}));\n\n(cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,ns_obj){\nreturn (new cljs.core.Namespace(ns_obj,sym));\n}));\n\n(cljs.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns the namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_ns \x3d (function cljs$core$find_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the macros namespace named by the symbol or nil if it doesn\x27t exist.\n * Bootstrap only.\n */\ncljs.core.find_macros_ns \x3d (function cljs$core$find_macros_ns(ns){\nif((cljs.core.NS_CACHE \x3d\x3d null)){\n(cljs.core.NS_CACHE \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY));\n} else {\n}\n\nvar ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nvar ns__$1 \x3d (((!(goog.string.contains(ns_str,\x22$macros\x22))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([ns_str,\x22$macros\x22].join(\x27\x27)):ns);\nvar the_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns__$1);\nif((!((the_ns \x3d\x3d null)))){\nreturn the_ns;\n} else {\nvar ns_obj \x3d cljs.core.find_ns_obj(ns__$1);\nif((ns_obj \x3d\x3d null)){\nreturn null;\n} else {\nvar new_ns \x3d cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns__$1,ns_obj);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns__$1,new_ns);\n\nreturn new_ns;\n}\n}\n});\n/**\n * Returns the name of the namespace, a Namespace object.\n * Bootstrap only.\n */\ncljs.core.ns_name \x3d (function cljs$core$ns_name(ns_obj){\nreturn ns_obj.name;\n});\n/**\n * Returns true x is a goog.Uri instance.\n */\ncljs.core.uri_QMARK_ \x3d (function cljs$core$uri_QMARK_(x){\nreturn (x instanceof goog.Uri);\n});\n/**\n * Returns true if num is NaN, else false\n */\ncljs.core.NaN_QMARK_ \x3d (function cljs$core$NaN_QMARK_(val){\nreturn isNaN(val);\n});\n/**\n * Construct message for parsing for non-string parsing error\n */\ncljs.core.parsing_err \x3d (function cljs$core$parsing_err(val){\nreturn [\x22Expected string, got: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((val \x3d\x3d null))?\x22nil\x22:goog.typeOf(val)))].join(\x27\x27);\n});\n/**\n * Parse string of decimal digits with optional leading -/+ and return an\n * integer value, or nil if parse fails\n */\ncljs.core.parse_long \x3d (function cljs$core$parse_long(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar and__5023__auto__ \x3d cljs.core.re_matches(/[+-]?\\d+/,s);\nif(cljs.core.truth_(and__5023__auto__)){\nvar i \x3d parseInt(s);\nif((((i \x3c\x3d Number.MAX_SAFE_INTEGER)) \x26\x26 ((i \x3e\x3d Number.MIN_SAFE_INTEGER)))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn and__5023__auto__;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse string with floating point components and return a floating point value,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\n */\ncljs.core.parse_double \x3d (function cljs$core$parse_double(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?NaN[\\x00-\\x20]*/,s)){\nreturn NaN;\n} else {\nif(cljs.core.re_matches(/[\\x00-\\x20]*[+-]?(Infinity|((\\d+\\.?\\d*|\\.\\d+)([eE][+-]?\\d+)?)[dDfF]?)[\\x00-\\x20]*/,s)){\nreturn parseFloat(s);\n} else {\nreturn null;\n\n}\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.uuid_regex \x3d /^[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]-[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]$/;\n/**\n * Parse a string representing a UUID and return a UUID instance,\n * or nil if parse fails.\n * Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\n */\ncljs.core.parse_uuid \x3d (function cljs$core$parse_uuid(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nif(cljs.core.re_matches(cljs.core.uuid_regex,s)){\nreturn cljs.core.uuid(s);\n} else {\nreturn null;\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\n/**\n * Parse strings \x22true\x22 or \x22false\x22 and return a boolean, or nil if invalid. Note that this explicitly\n * excludes strings with different cases, or space characters.\n */\ncljs.core.parse_boolean \x3d (function cljs$core$parse_boolean(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nvar G__28379 \x3d s;\nswitch (G__28379) {\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ndefault:\nreturn null;\n\n}\n} else {\nthrow (new Error(cljs.core.parsing_err(s)));\n}\n});\ncljs.core.maybe_enable_print_BANG_ \x3d (function cljs$core$maybe_enable_print_BANG_(){\nif((typeof console !\x3d\x3d \x27undefined\x27)){\nreturn cljs.core.enable_console_print_BANG_();\n} else {\nif((((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22nashorn\x22)) || ((cljs.core._STAR_target_STAR_ \x3d\x3d\x3d \x22graaljs\x22)))){\nvar system \x3d Java.type(\x22java.lang.System\x22);\n(cljs.core._STAR_print_newline_STAR_ \x3d false);\n\ncljs.core.set_print_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.out.println(s);\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function (){\nvar xs \x3d arguments;\nvar s \x3d cljs.core.goog$module$goog$array.clone(xs).join(\x22\x22);\nreturn system.error.println(s);\n}));\n} else {\nreturn null;\n}\n}\n});\ncljs.core.maybe_enable_print_BANG_();\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core._STAR_eval_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Runtime environments may provide a way to evaluate ClojureScript\n * forms. Whatever function *eval* is bound to will be passed any forms which\n * should be evaluated.\n */\ncljs.core._STAR_eval_STAR_ \x3d (function cljs$core$_STAR_eval_STAR_(_){\nthrow (new Error(\x22cljs.core/*eval* not bound\x22));\n});\n}\n/**\n * Evaluates the form data structure (not text!) and returns the result.\n * Delegates to cljs.core/*eval*. Intended for use in self-hosted ClojureScript,\n * which sets up an implementation of cljs.core/*eval* for that environment.\n */\ncljs.core.eval \x3d (function cljs$core$eval(form){\nreturn cljs.core._STAR_eval_STAR_.call(null,form);\n});\nif(COMPILED){\nif((\x22nodejs\x22 \x3d\x3d\x3d cljs.core._STAR_target_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n\nif((\x22window\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d window);\n} else {\nif((\x22self\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d self);\n} else {\nif((\x22global\x22 \x3d\x3d\x3d cljs.core._STAR_global_STAR_)){\n(goog.global \x3d global);\n} else {\n}\n}\n}\n} else {\n}\n\ncljs.core.enable_console_print_BANG_();\n");
SHADOW_ENV.evalLoad("devtools.defaults.js", true, "goog.provide(\x27devtools.defaults\x27);\ndevtools.defaults.known_features \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118),new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151),new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601)], null);\n}),null));\ndevtools.defaults.default_features \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118)], null);\n}),null));\ndevtools.defaults.feature_groups \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),cljs.core.deref(devtools.defaults.known_features),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(devtools.defaults.default_features)], null);\n}),null));\ndevtools.defaults.config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22standalone-type-style\x22,\x22standalone-type-style\x22,601522528),new cljs.core.Keyword(null,\x22bypass-availability-checks\x22,\x22bypass-availability-checks\x22,1934691680),new cljs.core.Keyword(null,\x22max-number-body-items\x22,\x22max-number-body-items\x22,299914624),new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848),new cljs.core.Keyword(null,\x22meta-reference-tag\x22,\x22meta-reference-tag\x22,914791936),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832),new cljs.core.Keyword(null,\x22instance-custom-printing-tag\x22,\x22instance-custom-printing-tag\x22,-67034432),new cljs.core.Keyword(null,\x22type-header-background\x22,\x22type-header-background\x22,-810861696),new cljs.core.Keyword(null,\x22instance-value-separator\x22,\x22instance-value-separator\x22,658858944),new cljs.core.Keyword(null,\x22body-pre-handler\x22,\x22body-pre-handler\x22,1211926529),new cljs.core.Keyword(null,\x22initial-hierarchy-depth-budget\x22,\x22initial-hierarchy-depth-budget\x22,-482715807),new cljs.core.Keyword(null,\x22body-items-more-tag\x22,\x22body-items-more-tag\x22,867141569),new cljs.core.Keyword(null,\x22line-index-separator\x22,\x22line-index-separator\x22,-1735989246),new cljs.core.Keyword(null,\x22suppress-preload-install\x22,\x22suppress-preload-install\x22,1724845090),new cljs.core.Keyword(null,\x22new-line-string-replacer\x22,\x22new-line-string-replacer\x22,-753206206),new cljs.core.Keyword(null,\x22body-field-td3-style\x22,\x22body-field-td3-style\x22,53039394),new cljs.core.Keyword(null,\x22more-fields-symbol\x22,\x22more-fields-symbol\x22,720022882),new cljs.core.Keyword(null,\x22body-field-value-spacer\x22,\x22body-field-value-spacer\x22,1279911362),new cljs.core.Keyword(null,\x22meta-reference-style\x22,\x22meta-reference-style\x22,-1930118462),new cljs.core.Keyword(null,\x22protocol-background\x22,\x22protocol-background\x22,1111513794),new cljs.core.Keyword(null,\x22protocols-icon\x22,\x22protocols-icon\x22,-517302494),new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747),new cljs.core.Keyword(null,\x22symbol-tag\x22,\x22symbol-tag\x22,-100807517),new cljs.core.Keyword(null,\x22render-keywords\x22,\x22render-keywords\x22,1200455875),new cljs.core.Keyword(null,\x22fn-header-tag\x22,\x22fn-header-tag\x22,-1262068349),new cljs.core.Keyword(null,\x22keyword-tag\x22,\x22keyword-tag\x22,1587228387),new cljs.core.Keyword(null,\x22header-style\x22,\x22header-style\x22,-2122121341),new cljs.core.Keyword(null,\x22render-metas\x22,\x22render-metas\x22,1141294116),new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fn-args-style\x22,\x22fn-args-style\x22,-2141623900),new cljs.core.Keyword(null,\x22max-instance-custom-printing-level\x22,\x22max-instance-custom-printing-level\x22,1876300228),new cljs.core.Keyword(null,\x22expandable-inner-style\x22,\x22expandable-inner-style\x22,-1596774780),new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749),new cljs.core.Keyword(null,\x22body-items-more-label\x22,\x22body-items-more-label\x22,-1561152123),new cljs.core.Keyword(null,\x22fn-name-style\x22,\x22fn-name-style\x22,-573451611),new cljs.core.Keyword(null,\x22nil-tag\x22,\x22nil-tag\x22,-1587449115),new cljs.core.Keyword(null,\x22instance-header-style\x22,\x22instance-header-style\x22,-373071866),new cljs.core.Keyword(null,\x22float-tag\x22,\x22float-tag\x22,-390834106),new cljs.core.Keyword(null,\x22protocol-ns-name-tag\x22,\x22protocol-ns-name-tag\x22,1832081510),new cljs.core.Keyword(null,\x22fast-protocol-style\x22,\x22fast-protocol-style\x22,-1668076410),new cljs.core.Keyword(null,\x22protocol-method-arities-more-symbol\x22,\x22protocol-method-arities-more-symbol\x22,-477018522),new cljs.core.Keyword(null,\x22has-body-pre-handler\x22,\x22has-body-pre-handler\x22,1787020038),new cljs.core.Keyword(null,\x22index-tag\x22,\x22index-tag\x22,693492486),new cljs.core.Keyword(null,\x22rest-symbol\x22,\x22rest-symbol\x22,1021371174),new cljs.core.Keyword(null,\x22protocol-name-tag\x22,\x22protocol-name-tag\x22,1508238310),new cljs.core.Keyword(null,\x22float-infinity-tag\x22,\x22float-infinity-tag\x22,-289254297),new cljs.core.Keyword(null,\x22instance-header-background\x22,\x22instance-header-background\x22,1510357287),new cljs.core.Keyword(null,\x22body-tag\x22,\x22body-tag\x22,433527431),new cljs.core.Keyword(null,\x22cljs-land-tag\x22,\x22cljs-land-tag\x22,-7524377),new cljs.core.Keyword(null,\x22max-list-protocols\x22,\x22max-list-protocols\x22,-537135129),new cljs.core.Keyword(null,\x22string-abbreviation-marker\x22,\x22string-abbreviation-marker\x22,-347785112),new cljs.core.Keyword(null,\x22max-header-elements\x22,\x22max-header-elements\x22,713629864),new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),new cljs.core.Keyword(null,\x22instance-body-fields-table-tag\x22,\x22instance-body-fields-table-tag\x22,1306340776),new cljs.core.Keyword(null,\x22render-symbols\x22,\x22render-symbols\x22,-887705016),new cljs.core.Keyword(null,\x22protocol-method-name-style\x22,\x22protocol-method-name-style\x22,-718367832),new cljs.core.Keyword(null,\x22type-name-tag\x22,\x22type-name-tag\x22,-1317275511),new cljs.core.Keyword(null,\x22list-separator\x22,\x22list-separator\x22,900562185),new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22header-field-value-spacer\x22,\x22header-field-value-spacer\x22,-1210630679),new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22fast-protocol-tag\x22,\x22fast-protocol-tag\x22,2066025065),new cljs.core.Keyword(null,\x22render-strings\x22,\x22render-strings\x22,-1497177335),new cljs.core.Keyword(null,\x22standalone-type-tag\x22,\x22standalone-type-tag\x22,-1677164791),new cljs.core.Keyword(null,\x22protocol-ns-name-style\x22,\x22protocol-ns-name-style\x22,2075298601),new cljs.core.Keyword(null,\x22type-header-tag\x22,\x22type-header-tag\x22,1645372265),new cljs.core.Keyword(null,\x22cljs-land-style\x22,\x22cljs-land-style\x22,278325097),new cljs.core.Keyword(null,\x22lambda-icon\x22,\x22lambda-icon\x22,980753546),new cljs.core.Keyword(null,\x22list-style\x22,\x22list-style\x22,-809622358),new cljs.core.Keyword(null,\x22sanity-hint-min-length\x22,\x22sanity-hint-min-length\x22,104958154),new cljs.core.Keyword(null,\x22render-functions\x22,\x22render-functions\x22,1273333002),new cljs.core.Keyword(null,\x22fields-header-open-symbol\x22,\x22fields-header-open-symbol\x22,-26243798),new cljs.core.Keyword(null,\x22body-field-value-style\x22,\x22body-field-value-style\x22,752084266),new cljs.core.Keyword(null,\x22header-post-handler\x22,\x22header-post-handler\x22,514828618),new cljs.core.Keyword(null,\x22header-pre-handler\x22,\x22header-pre-handler\x22,-1997722262),new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.Keyword(null,\x22body-items-more-style\x22,\x22body-items-more-style\x22,1518949066),new cljs.core.Keyword(null,\x22plus-symbol\x22,\x22plus-symbol\x22,-1984915189),new cljs.core.Keyword(null,\x22fn-prefix-style\x22,\x22fn-prefix-style\x22,991677739),new cljs.core.Keyword(null,\x22args-open-symbol\x22,\x22args-open-symbol\x22,-1336957557),new cljs.core.Keyword(null,\x22expanded-string-style\x22,\x22expanded-string-style\x22,-543781397),new cljs.core.Keyword(null,\x22fn-name-tag\x22,\x22fn-name-tag\x22,555823755),new cljs.core.Keyword(null,\x22header-field-value-tag\x22,\x22header-field-value-tag\x22,-1708691701),new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955),new cljs.core.Keyword(null,\x22fields-icon\x22,\x22fields-icon\x22,-436030420),new cljs.core.Keyword(null,\x22body-style\x22,\x22body-style\x22,1462943820),new cljs.core.Keyword(null,\x22type-wrapper-tag\x22,\x22type-wrapper-tag\x22,-1732366004),new cljs.core.Keyword(null,\x22standard-li-tag\x22,\x22standard-li-tag\x22,-932749876),new cljs.core.Keyword(null,\x22type-wrapper-style\x22,\x22type-wrapper-style\x22,-922880468),new cljs.core.Keyword(null,\x22render-bools\x22,\x22render-bools\x22,1793659724),new cljs.core.Keyword(null,\x22dq\x22,\x22dq\x22,-1690275860),new cljs.core.Keyword(null,\x22fields-header-no-fields-symbol\x22,\x22fields-header-no-fields-symbol\x22,-1749204979),new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203),new cljs.core.Keyword(null,\x22list-open-symbol\x22,\x22list-open-symbol\x22,-1162287443),new cljs.core.Keyword(null,\x22body-field-td2-style\x22,\x22body-field-td2-style\x22,-278192403),new cljs.core.Keyword(null,\x22type-header-style\x22,\x22type-header-style\x22,1821477837),new cljs.core.Keyword(null,\x22header-field-separator\x22,\x22header-field-separator\x22,-774444018),new cljs.core.Keyword(null,\x22body-field-td3-tag\x22,\x22body-field-td3-tag\x22,-803119922),new cljs.core.Keyword(null,\x22standard-ol-no-margin-style\x22,\x22standard-ol-no-margin-style\x22,-1701969586),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-style\x22,\x22instance-custom-printing-wrapper-style\x22,374945134),new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242),new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),new cljs.core.Keyword(null,\x22meta-wrapper-tag\x22,\x22meta-wrapper-tag\x22,1927429038),new cljs.core.Keyword(null,\x22method-icon\x22,\x22method-icon\x22,-1678775281),new cljs.core.Keyword(null,\x22max-protocol-method-arities-list\x22,\x22max-protocol-method-arities-list\x22,-45936465),new cljs.core.Keyword(null,\x22min-expandable-sequable-count-for-well-known-types\x22,\x22min-expandable-sequable-count-for-well-known-types\x22,-1879576081),new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615),new cljs.core.Keyword(null,\x22file-reader\x22,\x22file-reader\x22,-450847664),new cljs.core.Keyword(null,\x22bool-tag\x22,\x22bool-tag\x22,-10409808),new cljs.core.Keyword(null,\x22expandable-inner-tag\x22,\x22expandable-inner-tag\x22,-799648560),new cljs.core.Keyword(null,\x22fn-prefix-tag\x22,\x22fn-prefix-tag\x22,1947411856),new cljs.core.Keyword(null,\x22float-style\x22,\x22float-style\x22,705926672),new cljs.core.Keyword(null,\x22type-basis-item-tag\x22,\x22type-basis-item-tag\x22,50612816),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688),new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),new cljs.core.Keyword(null,\x22body-post-handler\x22,\x22body-post-handler\x22,-1040905424),new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935),new cljs.core.Keyword(null,\x22header-tag\x22,\x22header-tag\x22,1594852433),new cljs.core.Keyword(null,\x22body-field-name-tag\x22,\x22body-field-name-tag\x22,917867601),new cljs.core.Keyword(null,\x22expanded-string-tag\x22,\x22expanded-string-tag\x22,-2125162127),new cljs.core.Keyword(null,\x22bool-style\x22,\x22bool-style\x22,-1275737743),new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479),new cljs.core.Keyword(null,\x22protocol-more-tag\x22,\x22protocol-more-tag\x22,2098702865),new cljs.core.Keyword(null,\x22string-style\x22,\x22string-style\x22,744195825),new cljs.core.Keyword(null,\x22body-field-name-style\x22,\x22body-field-name-style\x22,1518272241),new cljs.core.Keyword(null,\x22meta-body-tag\x22,\x22meta-body-tag\x22,1689183121),new cljs.core.Keyword(null,\x22instance-custom-printing-background\x22,\x22instance-custom-printing-background\x22,-248433646),new cljs.core.Keyword(null,\x22integer-style\x22,\x22integer-style\x22,1568434578),new cljs.core.Keyword(null,\x22native-reference-background\x22,\x22native-reference-background\x22,-286129550),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278),new cljs.core.Keyword(null,\x22default-envelope-header\x22,\x22default-envelope-header\x22,-90723598),new cljs.core.Keyword(null,\x22instance-type-header-style\x22,\x22instance-type-header-style\x22,1601743858),new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22instance-custom-printing-style\x22,\x22instance-custom-printing-style\x22,-716263405),new cljs.core.Keyword(null,\x22float-nan-style\x22,\x22float-nan-style\x22,967384179),new cljs.core.Keyword(null,\x22float-nan-tag\x22,\x22float-nan-tag\x22,557403379),new cljs.core.Keyword(null,\x22min-expandable-sequable-count\x22,\x22min-expandable-sequable-count\x22,63566227),new cljs.core.Keyword(null,\x22fields-header-style\x22,\x22fields-header-style\x22,-25300493),new cljs.core.Keyword(null,\x22instance-type-header-tag\x22,\x22instance-type-header-tag\x22,-1015702989),new cljs.core.Keyword(null,\x22spacer\x22,\x22spacer\x22,2067425139),new cljs.core.Keyword(null,\x22body-field-td1-style\x22,\x22body-field-td1-style\x22,988760979),new cljs.core.Keyword(null,\x22body-field-tr-tag\x22,\x22body-field-tr-tag\x22,37280691),new cljs.core.Keyword(null,\x22dont-detect-custom-formatters\x22,\x22dont-detect-custom-formatters\x22,-29005804),new cljs.core.Keyword(null,\x22header-field-name-tag\x22,\x22header-field-name-tag\x22,82291956),new cljs.core.Keyword(null,\x22type-name-style\x22,\x22type-name-style\x22,652886356),new cljs.core.Keyword(null,\x22float-infinity-style\x22,\x22float-infinity-style\x22,-476570060),new cljs.core.Keyword(null,\x22standard-li-no-margin-tag\x22,\x22standard-li-no-margin-tag\x22,-844555468),new cljs.core.Keyword(null,\x22list-tag\x22,\x22list-tag\x22,1555796884),new cljs.core.Keyword(null,\x22instance-body-fields-table-style\x22,\x22instance-body-fields-table-style\x22,-1457745996),new cljs.core.Keyword(null,\x22body-field-td1-tag\x22,\x22body-field-td1-tag\x22,256357429),new cljs.core.Keyword(null,\x22disable-advanced-mode-check\x22,\x22disable-advanced-mode-check\x22,-968346539),new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485),new cljs.core.Keyword(null,\x22slow-protocol-style\x22,\x22slow-protocol-style\x22,-714284811),new cljs.core.Keyword(null,\x22render-types\x22,\x22render-types\x22,-129927851),new cljs.core.Keyword(null,\x22args-close-symbol\x22,\x22args-close-symbol\x22,777697973),new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963),new cljs.core.Keyword(null,\x22disable-cljs-fn-formatting\x22,\x22disable-cljs-fn-formatting\x22,1903786837),new cljs.core.Keyword(null,\x22item-style\x22,\x22item-style\x22,-188747722),new cljs.core.Keyword(null,\x22protocol-method-arities-list-header-separator\x22,\x22protocol-method-arities-list-header-separator\x22,-115158954),new cljs.core.Keyword(null,\x22protocol-method-tag\x22,\x22protocol-method-tag\x22,2032279830),new cljs.core.Keyword(null,\x22index-style\x22,\x22index-style\x22,93813430),new cljs.core.Keyword(null,\x22list-close-symbol\x22,\x22list-close-symbol\x22,-1120016586),new cljs.core.Keyword(null,\x22render-numbers\x22,\x22render-numbers\x22,-1385392009),new cljs.core.Keyword(null,\x22body-field-value-tag\x22,\x22body-field-value-tag\x22,800789079),new cljs.core.Keyword(null,\x22empty-basis-symbol\x22,\x22empty-basis-symbol\x22,-1971559593),new cljs.core.Keyword(null,\x22fn-icon\x22,\x22fn-icon\x22,-1412665288),new cljs.core.Keyword(null,\x22integer-tag\x22,\x22integer-tag\x22,698000472),new cljs.core.Keyword(null,\x22protocols-header-tag\x22,\x22protocols-header-tag\x22,-734413384),new cljs.core.Keyword(null,\x22protocol-method-name-tag\x22,\x22protocol-method-name-tag\x22,-1030376744),new cljs.core.Keyword(null,\x22item-tag\x22,\x22item-tag\x22,-988763304),new cljs.core.Keyword(null,\x22instance-value-tag\x22,\x22instance-value-tag\x22,-1739593896),new cljs.core.Keyword(null,\x22expandable-wrapper-style\x22,\x22expandable-wrapper-style\x22,-491294888),new cljs.core.Keyword(null,\x22expandable-style\x22,\x22expandable-style\x22,-501370920),new cljs.core.Keyword(null,\x22well-known-types\x22,\x22well-known-types\x22,70638649),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-style\x22,\x22fn-multi-arity-args-indent-style\x22,-1170401159),new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911),new cljs.core.Keyword(null,\x22circular-ref-icon\x22,\x22circular-ref-icon\x22,-2087682919),new cljs.core.Keyword(null,\x22type-basis-style\x22,\x22type-basis-style\x22,-1272137383),new cljs.core.Keyword(null,\x22standard-ol-tag\x22,\x22standard-ol-tag\x22,1120081433),new cljs.core.Keyword(null,\x22fn-ns-name-style\x22,\x22fn-ns-name-style\x22,-21387751),new cljs.core.Keyword(null,\x22circular-reference-body-tag\x22,\x22circular-reference-body-tag\x22,-1301830023),new cljs.core.Keyword(null,\x22has-body-post-handler\x22,\x22has-body-post-handler\x22,-863451271),new cljs.core.Keyword(null,\x22native-reference-tag\x22,\x22native-reference-tag\x22,-1516119079),new cljs.core.Keyword(null,\x22aligned-li-tag\x22,\x22aligned-li-tag\x22,1727029722),new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818),new cljs.core.Keyword(null,\x22render-instances\x22,\x22render-instances\x22,-1803579686),new cljs.core.Keyword(null,\x22expandable-symbol\x22,\x22expandable-symbol\x22,1644611290),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-tag\x22,\x22fn-multi-arity-args-indent-tag\x22,-1931373734),new cljs.core.Keyword(null,\x22expandable-tag\x22,\x22expandable-tag\x22,151027578),new cljs.core.Keyword(null,\x22protocol-method-arities-header-tag\x22,\x22protocol-method-arities-header-tag\x22,734407707),new cljs.core.Keyword(null,\x22max-instance-header-fields\x22,\x22max-instance-header-fields\x22,-126007269),new cljs.core.Keyword(null,\x22type-ref-tag\x22,\x22type-ref-tag\x22,2126727355),new cljs.core.Keyword(null,\x22max-print-level\x22,\x22max-print-level\x22,-462237413),new cljs.core.Keyword(null,\x22meta-wrapper-style\x22,\x22meta-wrapper-style\x22,-1627075237),new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653),new cljs.core.Keyword(null,\x22render-nils\x22,\x22render-nils\x22,1360008699),new cljs.core.Keyword(null,\x22meta-header-tag\x22,\x22meta-header-tag\x22,-1207812581),new cljs.core.Keyword(null,\x22print-config-overrides\x22,\x22print-config-overrides\x22,-274716965),new cljs.core.Keyword(null,\x22slow-protocol-tag\x22,\x22slow-protocol-tag\x22,2061129467),new cljs.core.Keyword(null,\x22header-field-tag\x22,\x22header-field-tag\x22,-1403476101),new cljs.core.Keyword(null,\x22meta-body-style\x22,\x22meta-body-style\x22,-1858094980),new cljs.core.Keyword(null,\x22native-reference-wrapper-tag\x22,\x22native-reference-wrapper-tag\x22,2047690940),new cljs.core.Keyword(null,\x22fields-header-close-symbol\x22,\x22fields-header-close-symbol\x22,1615181116),new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332),new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-tag\x22,\x22instance-custom-printing-wrapper-tag\x22,1461890684),new cljs.core.Keyword(null,\x22body-field-td2-tag\x22,\x22body-field-td2-tag\x22,94501500),new cljs.core.Keyword(null,\x22type-basis-tag\x22,\x22type-basis-tag\x22,-2122159204),new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261),new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341),new cljs.core.Keyword(null,\x22default-envelope-tag\x22,\x22default-envelope-tag\x22,1882840861),new cljs.core.Keyword(null,\x22protocol-more-style\x22,\x22protocol-more-style\x22,-870041570),new cljs.core.Keyword(null,\x22instance-header-tag\x22,\x22instance-header-tag\x22,903623870),new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.Keyword(null,\x22protocol-name-style\x22,\x22protocol-name-style\x22,-1291847714),new cljs.core.Keyword(null,\x22body-line-max-print-level\x22,\x22body-line-max-print-level\x22,571158623),new cljs.core.Keyword(null,\x22circular-reference-tag\x22,\x22circular-reference-tag\x22,858973471),new cljs.core.Keyword(null,\x22keyword-style\x22,\x22keyword-style\x22,-780643937),new cljs.core.Keyword(null,\x22header-expander-symbol\x22,\x22header-expander-symbol\x22,907531743),new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-style\x22,\x22meta-style\x22,1528213407)],[\x22box-shadow:0px 0px 0px 1px rgba(0,160,220,0.5) inset;margin-top:1px;border-radius:2px;\x22,false,(100),\x22color:rgba(0,0,0,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-reference-style\x22,\x22meta-reference-style\x22,-1930118462)], null),\x22color:rgba(128,128,128,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-custom-printing-style\x22,\x22instance-custom-printing-style\x22,-716263405)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,0.5);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),\x22\x22,null,((20) - (1)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-items-more-style\x22,\x22body-items-more-style\x22,1518949066)], null),\x22\x22,false,\x22\\u21B5\x22,\x22vertical-align:top;padding:0;\x22,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22color:rgba(204,204,204,1);\x22], null),\x22\x3d\x22], null),\x22background-color:rgba(255,102,0,1);border-radius:0 2px 2px 0;\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,0.5);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u22A2\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22standard-ol-no-margin-style\x22,\x22standard-ol-no-margin-style\x22,-1701969586)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22keyword-style\x22,\x22keyword-style\x22,-780643937)], null),\x22white-space:nowrap;\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fields-header-style\x22,\x22fields-header-style\x22,-25300493)], null),\x22color:rgba(170,130,20,1);\x22,(2),\x22margin-left:-3px;\x22,\x22table\x22,null,\x22more\\u2026\x22,\x22color:rgba(30,130,30,1);margin-right:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832)], null),\x22box-shadow:0px 0px 0px 1px rgba(0,160,220,0.5) inset;margin-top:1px;border-radius:2px;position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-style\x22,\x22float-style\x22,705926672)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-ns-name-style\x22,\x22protocol-ns-name-style\x22,2075298601)], null),\x22position:relative;padding:0px 4px;border-radius:2px;user-select:none;color:rgba(255,255,170,1);\x22,\x22\\u2026\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22index-style\x22,\x22index-style\x22,93813430)], null),\x22 \x26 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-name-style\x22,\x22protocol-name-style\x22,-1291847714)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-infinity-style\x22,\x22float-infinity-style\x22,-476570060)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-style\x22,\x22body-style\x22,1462943820)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22cljs-land-style\x22,\x22cljs-land-style\x22,278325097)], null),(5),\x22 \\u2026 \x22,(5),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,0,255,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22js\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.Keyword(null,\x22instance-body-fields-table-style\x22,\x22instance-body-fields-table-style\x22,-1457745996)], null),true,\x22margin-right:6px;color:rgba(41,59,163,1) ;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-name-style\x22,\x22type-name-style\x22,652886356)], null),\x22 \x22,\x22td\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22color:rgba(204,204,204,1);\x22], null),\x22\x3d\x22], null),\x22li\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fast-protocol-style\x22,\x22fast-protocol-style\x22,-1668076410)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22standalone-type-style\x22,\x22standalone-type-style\x22,601522528)], null),\x22color:rgba(150,150,150,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-header-style\x22,\x22type-header-style\x22,1821477837)], null),\x22background-color:rgba(100,255,100,0.08);color:rgba(0,0,0,1);border-radius:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(30,130,30,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u03BB\x22], null),null,(128),true,\x22\x22,\x22margin-left:6px;\x22,null,null,\x22tr\x22,\x22background-color:rgba(153,153,153,1);min-width:50px;display:inline-block;color:rgba(255,255,255,1);cursor:pointer;line-height:14px;font-size:10px;border-radius:2px;padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;user-select:none;\x22,\x22+\x22,null,\x22[\x22,\x22padding:0px 12px 0px 12px;color:rgba(196,26,22,1);white-space:pre;border-top:1px solid rgba(255,100,100,0.4);border-radius:1px;margin:0px 0px 2px 0px;background-color:rgba(255,100,100,0.08);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-name-style\x22,\x22fn-name-style\x22,-573451611)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-value-style\x22,\x22header-field-value-style\x22,-980761419)], null),\x22margin-left:0px;min-height:14px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u220B\x22], null),\x22display:inline-block;padding:3px 12px;border-top:2px solid rgba(60,90,60,0.1);margin:1px;margin-top:0px;background-color:rgba(100,255,100,0.08);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-wrapper-style\x22,\x22type-wrapper-style\x22,-922880468)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955)], null),\x22position:relative;padding-left:1px;border-radius:2px;\x22,true,\x22\\\x22\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278)], null),\x22\\u2205\x22], null),\x22nil\x22,\x22\x22,\x22vertical-align:top;padding:0;\x22,\x22color:rgba(238,238,355,1);padding:0px 2px 0px 2px;user-select:none;border-radius:2px;\x22,\x22 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td3-style\x22,\x22body-field-td3-style\x22,53039394)], null),\x22list-style-type:none;padding-left:0px;margin-top:0px;margin-bottom:0px;margin-left:0px;\x22,\x22position:relative;border-radius:2px;\x22,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22string-style\x22,\x22string-style\x22,744195825)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-wrapper-style\x22,\x22meta-wrapper-style\x22,-1627075237)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(41,59,163,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22m\x22], null),(3),(4),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(0,160,220,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22\\u03B2\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-args-style\x22,\x22fn-args-style\x22,-2141623900)], null),\x22list-style-type:none;padding-left:0px;margin-top:0px;margin-bottom:0px;margin-left:0px;\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22bool-style\x22,\x22bool-style\x22,-1275737743)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expandable-inner-style\x22,\x22expandable-inner-style\x22,-1596774780)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-prefix-style\x22,\x22fn-prefix-style\x22,991677739)], null),\x22color:rgba(28,136,207,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688)], null),\x22color:rgba(0,160,220,1);margin-right:6px;\x22,\x22div\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-ns-name-style\x22,\x22fn-ns-name-style\x22,-21387751)], null),null,\x22\\u2026\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-style\x22,\x22header-style\x22,-2122121341)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-field-name-style\x22,\x22body-field-name-style\x22,1518272241)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expanded-string-style\x22,\x22expanded-string-style\x22,-543781397)], null),\x22color:rgba(0,153,153,1);\x22,null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-more-style\x22,\x22protocol-more-style\x22,-870041570)], null),\x22color:rgba(196,26,22,1);\x22,\x22color:rgba(0,160,220,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-body-style\x22,\x22meta-body-style\x22,-1858094980)], null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,255,200,1);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;border-radius:0 1px 1px 0;\x22], null)], null),\x22color:rgba(28,0,207,1);\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,255,255,1);position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:1px;\x22], null)], null),\x22color:rgba(0,160,220,1);\x22,\x22\\uD83D\\uDCE8\x22,\x22color:rgba(238,238,355,1);padding:0px 2px 0px 2px;user-select:none;border-radius:2px 0 0 2px;\x22,\x22ol\x22,\x22position:relative;padding:0 2px 0 4px;\x22,\x22color:rgba(213,60,27,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22float-nan-style\x22,\x22float-nan-style\x22,967384179)], null),(0),\x22padding:0px 3px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-type-header-style\x22,\x22instance-type-header-style\x22,1601743858)], null),\x22 \x22,\x22vertical-align:top;padding:0;padding-right:4px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.Keyword(null,\x22body-field-tr-style\x22,\x22body-field-tr-style\x22,1067836596)], null),true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-name-style\x22,\x22header-field-name-style\x22,-804007278)], null),\x22padding-right:4px;\x22,\x22color:rgba(28,80,207,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22list-style\x22,\x22list-style\x22,-809622358)], null),\x22border-spacing:0;border-collapse:collapse;margin-bottom:-2px;display:inline-block;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td1-style\x22,\x22body-field-td1-style\x22,988760979)], null),false,\x22margin-left:0px;min-height:14px;\x22,\x22position:relative;padding:0px 4px;border-radius:2px;user-select:none;color:rgba(238,238,238,1);\x22,true,\x22]\x22,(20),false,\x22display:inline-block;white-space:nowrap;border-left:2px solid rgba(100,100,100,0.2);padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;\x22,\x22 \x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-style\x22,\x22protocol-method-style\x22,-1740943941)], null),\x22min-width:50px;display:inline-block;text-align:right;vertical-align:top;background-color:rgba(221,221,221,1);color:rgba(0,0,0,1);opacity:0.5;margin-right:3px;padding:0px 4px 0px 4px;margin:1px 0px 0px 0px;user-select:none;\x22,\x22\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22body-field-value-style\x22,\x22body-field-value-style\x22,752084266)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),null], null),new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-item-style\x22,\x22type-basis-item-style\x22,-1744400688)], null),\x22\\u2205\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(30,130,30,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22fn\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22integer-style\x22,\x22integer-style\x22,1568434578)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocols-header-style\x22,\x22protocols-header-style\x22,22379790)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-name-style\x22,\x22protocol-method-name-style\x22,-718367832)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22item-style\x22,\x22item-style\x22,-188747722)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-value-style\x22,\x22instance-value-style\x22,1340189507)], null),null,\x22white-space:nowrap;padding-left:3px;\x22,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 36, [\x22cljs.core/ValSeq\x22,null,\x22cljs.core/ArrayNodeSeq\x22,null,\x22cljs.core/Cons\x22,null,\x22cljs.core/ES6IteratorSeq\x22,null,\x22cljs.core/IntegerRange\x22,null,\x22cljs.core/List\x22,null,\x22cljs.core/PersistentArrayMapSeq\x22,null,\x22cljs.core/Symbol\x22,null,\x22cljs.core/PersistentHashMap\x22,null,\x22cljs.core/Subvec\x22,null,\x22cljs.core/EmptyList\x22,null,\x22cljs.core/BlackNode\x22,null,\x22cljs.core/PersistentArrayMap\x22,null,\x22cljs.core/LazyTransformer\x22,null,\x22cljs.core/PersistentTreeMapSeq\x22,null,\x22cljs.core/MapEntry\x22,null,\x22cljs.core/PersistentQueueSeq\x22,null,\x22cljs.core/Keyword\x22,null,\x22cljs.core/Range\x22,null,\x22cljs.core/UUID\x22,null,\x22cljs.core/IndexedSeq\x22,null,\x22cljs.core/KeySeq\x22,null,\x22cljs.core/RSeq\x22,null,\x22cljs.core/ObjMap\x22,null,\x22cljs.core/PersistentVector\x22,null,\x22cljs.core/PersistentTreeSet\x22,null,\x22cljs.core/Eduction\x22,null,\x22cljs.core/NodeSeq\x22,null,\x22cljs.core/RedNode\x22,null,\x22cljs.core/ExceptionInfo\x22,null,\x22cljs.core/PersistentHashSet\x22,null,\x22cljs.core/PersistentTreeMap\x22,null,\x22cljs.core/LazySeq\x22,null,\x22cljs.core/ChunkedSeq\x22,null,\x22cljs.core/ChunkedCons\x22,null,\x22cljs.core/TaggedLiteral\x22,null], null), null),\x22visibility:hidden;\x22,\x22position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(255,0,0,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:0px 4px;top:2px;\x22], null),\x22\\u221E\x22], null),\x22margin-right:3px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615)], null),\x22color:rgba(150,150,150,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22circular-reference-body-style\x22,\x22circular-reference-body-style\x22,314341165)], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341)], null),\x22position:relative;display:inline-flex;\x22,true,\x22\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-style\x22,\x22fn-multi-arity-args-indent-style\x22,-1170401159)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22expandable-style\x22,\x22expandable-style\x22,-501370920)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22protocol-method-arities-header-style\x22,\x22protocol-method-arities-header-style\x22,-2088352156)], null),(3),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911)], null),(2),\x22box-shadow:0px 0px 0px 1px rgba(255,102,0,1) inset;margin-top:1px;border-radius:2px;\x22,\x22\\u2026\x22,true,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22meta-style\x22,\x22meta-style\x22,1528213407)], null),false,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22slow-protocol-style\x22,\x22slow-protocol-style\x22,-714284811)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22header-field-style\x22,\x22header-field-style\x22,-1193742102)], null),\x22background-color:rgba(255,102,0,0.1);box-shadow:0px 0px 0px 1px rgba(255,102,0,1) inset;position:relative;top:-1px;padding:3px 12px;border-bottom-right-radius:2px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818)], null),\x22\x22,(20),\x22padding:0px 3px;margin:-4px 0px -2px;position:relative;top:1px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-style\x22,\x22instance-custom-printing-wrapper-style\x22,374945134)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),new cljs.core.Keyword(null,\x22body-field-td2-style\x22,\x22body-field-td2-style\x22,-278192403)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22type-basis-style\x22,\x22type-basis-style\x22,-1272137383)], null),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),\x22margin-left:0px;min-height:14px;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479)], null),\x22font-size:8px;position:relative;\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22instance-header-style\x22,\x22instance-header-style\x22,-373071866)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22background-color:rgba(150,150,150,1);color:#fff;width:20px;display:inline-block;text-align:center;font-size:8px;opacity:0.5;vertical-align:top;position:relative;margin-right:3px;border-radius:2px;user-select:none;padding:1px 4px;top:1px;\x22], null),\x22in\x22], null),\x22position:relative;\x22,(3),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22circular-reference-wrapper-style\x22,\x22circular-reference-wrapper-style\x22,-329208502)], null),\x22color:rgba(136,19,145,1);\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),null], null),\x22~\x22], null),\x22span\x22,\x22color:rgba(238,238,238,1);padding:0px 3px;user-select:none;\x22]);\n}),null));\ndevtools.defaults.firefox_overrides_config \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22native-reference-wrapper-style\x22,\x22native-reference-wrapper-style\x22,578741818),\x22line-height:0;margin-top:-1px;\x22,new cljs.core.Keyword(null,\x22symbol-style\x22,\x22symbol-style\x22,1022654848),\x22overflow:initial;\x22,new cljs.core.Keyword(null,\x22fn-header-style\x22,\x22fn-header-style\x22,985447749),\x22display:inline-flex;align-items:center;\x22,new cljs.core.Keyword(null,\x22type-ref-style\x22,\x22type-ref-style\x22,-1940011911),\x22background-color:rgba(0,160,220,1);border-radius:0 2px 2px 0;\x22,new cljs.core.Keyword(null,\x22native-reference-style\x22,\x22native-reference-style\x22,-1773393444),\x22padding:0px 3px;position:relative;top:1px;\x22,new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955),\x22margin-left:0px;display:flex;align-items:start;\x22,new cljs.core.Keyword(null,\x22standard-li-no-margin-style\x22,\x22standard-li-no-margin-style\x22,87138485),\x22margin-left:0px;display:flex;align-items:start;\x22,new cljs.core.Keyword(null,\x22aligned-li-style\x22,\x22aligned-li-style\x22,43721341),\x22margin-left:0px;display:flex;align-items:start;\x22], null);\n}),null));\n");
SHADOW_ENV.evalLoad("devtools.prefs.js", true, "goog.provide(\x27devtools.prefs\x27);\ngoog.scope(function(){\n devtools.prefs.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.prefs.default_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.deref(devtools.defaults.config);\n}),null));\ndevtools.prefs.firefox_overrides_config \x3d (new cljs.core.Delay((function (){\nif(cljs.core.truth_(devtools.prefs.goog$module$goog$labs$userAgent$browser.isFirefox())){\nreturn cljs.core.deref(devtools.defaults.firefox_overrides_config);\n} else {\nreturn null;\n}\n}),null));\ndevtools.prefs.external_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}),null));\ndevtools.prefs.initial_config \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(devtools.prefs.default_config),cljs.core.deref(devtools.prefs.firefox_overrides_config),cljs.core.deref(devtools.prefs.external_config)], 0));\n}),null));\ndevtools.prefs._STAR_current_config_STAR_ \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.deref(devtools.prefs.initial_config);\n}),null));\ndevtools.prefs.set_prefs_BANG_ \x3d (function devtools$prefs$set_prefs_BANG_(new_prefs){\nreturn (devtools.prefs._STAR_current_config_STAR_ \x3d new_prefs);\n});\ndevtools.prefs.get_prefs \x3d (function devtools$prefs$get_prefs(){\nif(cljs.core.delay_QMARK_(devtools.prefs._STAR_current_config_STAR_)){\ndevtools.prefs.set_prefs_BANG_(cljs.core.deref(devtools.prefs._STAR_current_config_STAR_));\n} else {\n}\n\nreturn devtools.prefs._STAR_current_config_STAR_;\n});\ndevtools.prefs.pref \x3d (function devtools$prefs$pref(key){\nvar G__29700 \x3d devtools.prefs.get_prefs();\nreturn (key.cljs$core$IFn$_invoke$arity$1 ? key.cljs$core$IFn$_invoke$arity$1(G__29700) : key.call(null,G__29700));\n});\ndevtools.prefs.set_pref_BANG_ \x3d (function devtools$prefs$set_pref_BANG_(key,val){\nreturn devtools.prefs.set_prefs_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(devtools.prefs.get_prefs(),key,val));\n});\ndevtools.prefs.merge_prefs_BANG_ \x3d (function devtools$prefs$merge_prefs_BANG_(m){\nreturn devtools.prefs.set_prefs_BANG_(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.prefs.get_prefs(),m], 0)));\n});\ndevtools.prefs.update_pref_BANG_ \x3d (function devtools$prefs$update_pref_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29720 \x3d arguments.length;\nvar i__5750__auto___29721 \x3d (0);\nwhile(true){\nif((i__5750__auto___29721 \x3c len__5749__auto___29720)){\nargs__5755__auto__.push((arguments[i__5750__auto___29721]));\n\nvar G__29724 \x3d (i__5750__auto___29721 + (1));\ni__5750__auto___29721 \x3d G__29724;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.prefs.update_pref_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (key,f,args){\nvar new_val \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,devtools.prefs.pref(key),args);\nreturn devtools.prefs.set_pref_BANG_(key,new_val);\n}));\n\n(devtools.prefs.update_pref_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.prefs.update_pref_BANG_.cljs$lang$applyTo \x3d (function (seq29704){\nvar G__29705 \x3d cljs.core.first(seq29704);\nvar seq29704__$1 \x3d cljs.core.next(seq29704);\nvar G__29706 \x3d cljs.core.first(seq29704__$1);\nvar seq29704__$2 \x3d cljs.core.next(seq29704__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29705,G__29706,seq29704__$2);\n}));\n\n");
SHADOW_ENV.evalLoad("devtools.context.js", true, "goog.provide(\x27devtools.context\x27);\ndevtools.context.get_root \x3d (function devtools$context$get_root(){\nreturn goog.global;\n});\ndevtools.context.get_console \x3d (function devtools$context$get_console(){\nreturn devtools.context.get_root.call(null).console;\n});\n");
SHADOW_ENV.evalLoad("clojure.string.js", true, "goog.provide(\x27clojure.string\x27);\nclojure.string.seq_reverse \x3d (function clojure$string$seq_reverse(coll){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);\n});\nclojure.string.re_surrogate_pair \x3d (new RegExp(\x22([\\\\uD800-\\\\uDBFF])([\\\\uDC00-\\\\uDFFF])\x22,\x22g\x22));\n/**\n * Returns s with its characters reversed.\n */\nclojure.string.reverse \x3d (function clojure$string$reverse(s){\nreturn s.replace(clojure.string.re_surrogate_pair,\x22$2$1\x22).split(\x22\x22).reverse().join(\x22\x22);\n});\nclojure.string.replace_all \x3d (function clojure$string$replace_all(s,re,replacement){\nvar r \x3d (new RegExp(re.source,(function (){var G__28386 \x3d \x22g\x22;\nvar G__28386__$1 \x3d (cljs.core.truth_(re.ignoreCase)?[G__28386,\x22i\x22].join(\x27\x27):G__28386);\nvar G__28386__$2 \x3d (cljs.core.truth_(re.multiline)?[G__28386__$1,\x22m\x22].join(\x27\x27):G__28386__$1);\nif(cljs.core.truth_(re.unicode)){\nreturn [G__28386__$2,\x22u\x22].join(\x27\x27);\n} else {\nreturn G__28386__$2;\n}\n})()));\nreturn s.replace(r,replacement);\n});\nclojure.string.replace_with \x3d (function clojure$string$replace_with(f){\nreturn (function() { \nvar G__28523__delegate \x3d function (args){\nvar matches \x3d cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((2),args);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(matches),(1))){\nvar G__28390 \x3d cljs.core.first(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__28390) : f.call(null,G__28390));\n} else {\nvar G__28392 \x3d cljs.core.vec(matches);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__28392) : f.call(null,G__28392));\n}\n};\nvar G__28523 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__28527__i \x3d 0, G__28527__a \x3d new Array(arguments.length - 0);\nwhile (G__28527__i \x3c G__28527__a.length) {G__28527__a[G__28527__i] \x3d arguments[G__28527__i + 0]; ++G__28527__i;}\n args \x3d new cljs.core.IndexedSeq(G__28527__a,0,null);\n} \nreturn G__28523__delegate.call(this,args);};\nG__28523.cljs$lang$maxFixedArity \x3d 0;\nG__28523.cljs$lang$applyTo \x3d (function (arglist__28528){\nvar args \x3d cljs.core.seq(arglist__28528);\nreturn G__28523__delegate(args);\n});\nG__28523.cljs$core$IFn$_invoke$arity$variadic \x3d G__28523__delegate;\nreturn G__28523;\n})()\n;\n});\n/**\n * Replaces all instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace-first.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace \x22Almost Pig Latin\x22 #\x22\\b(\\w)(\\w+)\\b\x22 \x22$2$1ay\x22)\n * -\x3e \x22lmostAay igPay atinLay\x22\n */\nclojure.string.replace \x3d (function clojure$string$replace(s,match,replacement){\nif(typeof match \x3d\x3d\x3d \x27string\x27){\nreturn s.replace((new RegExp(goog.string.regExpEscape(match),\x22g\x22)),replacement);\n} else {\nif((match instanceof RegExp)){\nif(typeof replacement \x3d\x3d\x3d \x27string\x27){\nreturn clojure.string.replace_all(s,match,replacement);\n} else {\nreturn clojure.string.replace_all(s,match,clojure.string.replace_with(replacement));\n}\n} else {\nthrow [\x22Invalid match arg: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(match)].join(\x27\x27);\n\n}\n}\n});\n/**\n * Replaces the first instance of match with replacement in s.\n * \n * match/replacement can be:\n * \n * string / string\n * pattern / (string or function of match).\n * \n * See also replace.\n * \n * The replacement is literal (i.e. none of its characters are treated\n * specially) for all cases above except pattern / string.\n * \n * For pattern / string, $1, $2, etc. in the replacement string are\n * substituted with the string that matched the corresponding\n * parenthesized group in the pattern.\n * \n * Example:\n * (clojure.string/replace-first \x22swap first two words\x22\n * #\x22(\\w+)(\\s+)(\\w+)\x22 \x22$3$2$1\x22)\n * -\x3e \x22first swap two words\x22\n */\nclojure.string.replace_first \x3d (function clojure$string$replace_first(s,match,replacement){\nreturn s.replace(match,replacement);\n});\n/**\n * Returns a string of all elements in coll, as returned by (seq coll),\n * separated by an optional separator.\n */\nclojure.string.join \x3d (function clojure$string$join(var_args){\nvar G__28399 \x3d arguments.length;\nswitch (G__28399) {\ncase 1:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$1 \x3d (function (coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nvar G__28539 \x3d sb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\nvar G__28540 \x3d cljs.core.next(coll__$1);\nsb \x3d G__28539;\ncoll__$1 \x3d G__28540;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (separator,coll){\nvar sb \x3d (new goog.string.StringBuffer());\nvar coll__$1 \x3d cljs.core.seq(coll);\nwhile(true){\nif((!((coll__$1 \x3d\x3d null)))){\nsb.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(coll__$1)));\n\nvar coll__$2 \x3d cljs.core.next(coll__$1);\nif((coll__$2 \x3d\x3d null)){\n} else {\nsb.append(separator);\n}\n\nvar G__28548 \x3d sb;\nvar G__28549 \x3d coll__$2;\nsb \x3d G__28548;\ncoll__$1 \x3d G__28549;\ncontinue;\n} else {\nreturn sb.toString();\n}\nbreak;\n}\n}));\n\n(clojure.string.join.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Converts string to all upper-case.\n */\nclojure.string.upper_case \x3d (function clojure$string$upper_case(s){\nreturn s.toUpperCase();\n});\n/**\n * Converts string to all lower-case.\n */\nclojure.string.lower_case \x3d (function clojure$string$lower_case(s){\nreturn s.toLowerCase();\n});\n/**\n * Converts first character of the string to upper-case, all other\n * characters to lower-case.\n */\nclojure.string.capitalize \x3d (function clojure$string$capitalize(s){\nreturn goog.string.capitalize(s);\n});\nclojure.string.pop_last_while_empty \x3d (function clojure$string$pop_last_while_empty(v){\nvar v__$1 \x3d v;\nwhile(true){\nif((\x22\x22 \x3d\x3d\x3d cljs.core.peek(v__$1))){\nvar G__28551 \x3d cljs.core.pop(v__$1);\nv__$1 \x3d G__28551;\ncontinue;\n} else {\nreturn v__$1;\n}\nbreak;\n}\n});\nclojure.string.discard_trailing_if_needed \x3d (function clojure$string$discard_trailing_if_needed(limit,v){\nif(((((0) \x3d\x3d\x3d limit)) \x26\x26 (((1) \x3c cljs.core.count(v))))){\nreturn clojure.string.pop_last_while_empty(v);\n} else {\nreturn v;\n}\n});\nclojure.string.split_with_empty_regex \x3d (function clojure$string$split_with_empty_regex(s,limit){\nif((((limit \x3c\x3d (0))) || ((limit \x3e\x3d ((2) + cljs.core.count(s)))))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s)))),\x22\x22);\n} else {\nvar pred__28440 \x3d cljs.core._EQ__EQ_;\nvar expr__28441 \x3d limit;\nif(cljs.core.truth_((pred__28440.cljs$core$IFn$_invoke$arity$2 ? pred__28440.cljs$core$IFn$_invoke$arity$2((1),expr__28441) : pred__28440.call(null,(1),expr__28441)))){\nreturn (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[s],null));\n} else {\nif(cljs.core.truth_((pred__28440.cljs$core$IFn$_invoke$arity$2 ? pred__28440.cljs$core$IFn$_invoke$arity$2((2),expr__28441) : pred__28440.call(null,(2),expr__28441)))){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[\x22\x22,s],null));\n} else {\nvar c \x3d (limit - (2));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(cljs.core.cons(\x22\x22,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.seq(s))),(0),c))),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,c));\n}\n}\n}\n});\n/**\n * Splits string on a regular expression. Optional argument limit is\n * the maximum number of parts. Not lazy. Returns vector of the parts.\n * Trailing empty strings are not returned - pass limit of -1 to return all.\n */\nclojure.string.split \x3d (function clojure$string$split(var_args){\nvar G__28456 \x3d arguments.length;\nswitch (G__28456) {\ncase 2:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,re){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,re,(0));\n}));\n\n(clojure.string.split.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,re,limit){\nreturn clojure.string.discard_trailing_if_needed(limit,(((\x22/(?:)/\x22 \x3d\x3d\x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(re)))?clojure.string.split_with_empty_regex(s,limit):(((limit \x3c (1)))?cljs.core.vec(cljs.core.str.cljs$core$IFn$_invoke$arity$1(s).split(re)):(function (){var s__$1 \x3d s;\nvar limit__$1 \x3d limit;\nvar parts \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(((1) \x3d\x3d\x3d limit__$1)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n} else {\nvar m \x3d cljs.core.re_find(re,s__$1);\nif((!((m \x3d\x3d null)))){\nvar index \x3d s__$1.indexOf(m);\nvar G__28568 \x3d s__$1.substring((index + cljs.core.count(m)));\nvar G__28569 \x3d (limit__$1 - (1));\nvar G__28570 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1.substring((0),index));\ns__$1 \x3d G__28568;\nlimit__$1 \x3d G__28569;\nparts \x3d G__28570;\ncontinue;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parts,s__$1);\n}\n}\nbreak;\n}\n})())));\n}));\n\n(clojure.string.split.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Splits s on \\n or \\r\\n. Trailing empty lines are not returned.\n */\nclojure.string.split_lines \x3d (function clojure$string$split_lines(s){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(s,/\\n|\\r\\n/);\n});\n/**\n * Removes whitespace from both ends of string.\n */\nclojure.string.trim \x3d (function clojure$string$trim(s){\nreturn goog.string.trim(s);\n});\n/**\n * Removes whitespace from the left side of string.\n */\nclojure.string.triml \x3d (function clojure$string$triml(s){\nreturn goog.string.trimLeft(s);\n});\n/**\n * Removes whitespace from the right side of string.\n */\nclojure.string.trimr \x3d (function clojure$string$trimr(s){\nreturn goog.string.trimRight(s);\n});\n/**\n * Removes all trailing newline \\n or return \\r characters from\n * string. Similar to Perl\x27s chomp.\n */\nclojure.string.trim_newline \x3d (function clojure$string$trim_newline(s){\nvar index \x3d s.length;\nwhile(true){\nif((index \x3d\x3d\x3d (0))){\nreturn \x22\x22;\n} else {\nvar ch \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(s,(index - (1)));\nif((((\x22\\n\x22 \x3d\x3d\x3d ch)) || ((\x22\\r\x22 \x3d\x3d\x3d ch)))){\nvar G__28576 \x3d (index - (1));\nindex \x3d G__28576;\ncontinue;\n} else {\nreturn s.substring((0),index);\n}\n}\nbreak;\n}\n});\n/**\n * True if s is nil, empty, or contains only whitespace.\n */\nclojure.string.blank_QMARK_ \x3d (function clojure$string$blank_QMARK_(s){\nreturn goog.string.isEmptyOrWhitespace(goog.string.makeSafe(s));\n});\n/**\n * Return a new string, using cmap to escape each character ch\n * from s as follows:\n * \n * If (cmap ch) is nil, append ch to the new string.\n * If (cmap ch) is non-nil, append (str (cmap ch)) instead.\n */\nclojure.string.escape \x3d (function clojure$string$escape(s,cmap){\nvar buffer \x3d (new goog.string.StringBuffer());\nvar length \x3d s.length;\nvar index \x3d (0);\nwhile(true){\nif((length \x3d\x3d\x3d index)){\nreturn buffer.toString();\n} else {\nvar ch \x3d s.charAt(index);\nvar replacement \x3d (cmap.cljs$core$IFn$_invoke$arity$1 ? cmap.cljs$core$IFn$_invoke$arity$1(ch) : cmap.call(null,ch));\nif((!((replacement \x3d\x3d null)))){\nbuffer.append(cljs.core.str.cljs$core$IFn$_invoke$arity$1(replacement));\n} else {\nbuffer.append(ch);\n}\n\nvar G__28582 \x3d (index + (1));\nindex \x3d G__28582;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Return index of value (string or char) in s, optionally searching\n * forward from from-index or nil if not found.\n */\nclojure.string.index_of \x3d (function clojure$string$index_of(var_args){\nvar G__28485 \x3d arguments.length;\nswitch (G__28485) {\ncase 2:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.indexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.indexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return last index of value (string or char) in s, optionally\n * searching backward from from-index or nil if not found.\n */\nclojure.string.last_index_of \x3d (function clojure$string$last_index_of(var_args){\nvar G__28497 \x3d arguments.length;\nswitch (G__28497) {\ncase 2:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,value){\nvar result \x3d s.lastIndexOf(value);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$3 \x3d (function (s,value,from_index){\nvar result \x3d s.lastIndexOf(value,from_index);\nif((result \x3c (0))){\nreturn null;\n} else {\nreturn result;\n}\n}));\n\n(clojure.string.last_index_of.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * True if s starts with substr.\n */\nclojure.string.starts_with_QMARK_ \x3d (function clojure$string$starts_with_QMARK_(s,substr){\nreturn goog.string.startsWith(s,substr);\n});\n/**\n * True if s ends with substr.\n */\nclojure.string.ends_with_QMARK_ \x3d (function clojure$string$ends_with_QMARK_(s,substr){\nreturn goog.string.endsWith(s,substr);\n});\n/**\n * True if s includes substr.\n */\nclojure.string.includes_QMARK_ \x3d (function clojure$string$includes_QMARK_(s,substr){\nreturn goog.string.contains(s,substr);\n});\n");
SHADOW_ENV.evalLoad("cljs.stacktrace.js", true, "goog.provide(\x27cljs.stacktrace\x27);\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.stacktrace !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.stacktrace.parse_stacktrace !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * Parse a JavaScript stacktrace string into a canonical data form. The\n * arguments:\n * \n * repl-env - the repl environment, an optional map with :host and :port keys\n * if the stacktrace includes url, not file references\n * st - the original stacktrace string to parse\n * err - an error map. :ua-product key defines the type of stacktrace parser\n * to use, for example :chrome\n * opts - additional options. :output-dir maybe given in this argument if\n * :host and :port do not apply, for example, a file path\n * \n * The canonical stacktrace representation can easily be mapped to a\n * ClojureScript one see mapped-stacktrace and mapped-stacktrace-str\n */\ncljs.stacktrace.parse_stacktrace \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__28678 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__28678.cljs$core$IFn$_invoke$arity$0 ? fexpr__28678.cljs$core$IFn$_invoke$arity$0() : fexpr__28678.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.stacktrace\x22,\x22parse-stacktrace\x22),(function (repl_env,st,err,opts){\nreturn new cljs.core.Keyword(null,\x22ua-product\x22,\x22ua-product\x22,938384227).cljs$core$IFn$_invoke$arity$1(err);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.stacktrace.parse_int \x3d (function cljs$stacktrace$parse_int(s){\nreturn parseInt(s,(10));\n});\ncljs.stacktrace.starts_with_QMARK_ \x3d (function cljs$stacktrace$starts_with_QMARK_(s0,s1){\nreturn goog.string.startsWith(s0,s1);\n});\ncljs.stacktrace.ends_with_QMARK_ \x3d (function cljs$stacktrace$ends_with_QMARK_(s0,s1){\nreturn goog.string.endsWith(s0,s1);\n});\ncljs.stacktrace.string__GT_regex \x3d (function cljs$stacktrace$string__GT_regex(s){\nreturn (new RegExp(s));\n});\ncljs.stacktrace.output_directory \x3d (function cljs$stacktrace$output_directory(opts){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22out\x22;\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (repl_env,st,err,opts){\nreturn st;\n}));\ncljs.stacktrace.parse_file_line_column \x3d (function cljs$stacktrace$parse_file_line_column(flc){\nif(cljs.core.not(cljs.core.re_find(/:/,flc))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [flc,null,null], null);\n} else {\nvar xs \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(flc,/:/);\nvar vec__28707 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__28715,p__28716){\nvar vec__28717 \x3d p__28715;\nvar pre \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28717,(0),null);\nvar post \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28717,(1),null);\nvar vec__28720 \x3d p__28716;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28720,(0),null);\nvar i \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28720,(1),null);\nif((i \x3c\x3d (2))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(post,x)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(pre,x),post], null);\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,xs,cljs.core.range.cljs$core$IFn$_invoke$arity$3(cljs.core.count(xs),(0),(-1))));\nvar pre \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28707,(0),null);\nvar vec__28710 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28707,(1),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28710,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28710,(1),null);\nvar file \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22:\x22,pre);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__28730 \x3d file;\nif(cljs.stacktrace.starts_with_QMARK_(file,\x22(\x22)){\nreturn clojure.string.replace(G__28730,\x22(\x22,\x22\x22);\n} else {\nreturn G__28730;\n}\n})(),cljs.stacktrace.parse_int((function (){var G__28732 \x3d line;\nif(cljs.stacktrace.ends_with_QMARK_(line,\x22)\x22)){\nreturn clojure.string.replace(G__28732,\x22)\x22,\x22\x22);\n} else {\nreturn G__28732;\n}\n})()),cljs.stacktrace.parse_int((function (){var G__28733 \x3d column;\nif(cljs.stacktrace.ends_with_QMARK_(column,\x22)\x22)){\nreturn clojure.string.replace(G__28733,\x22)\x22,\x22\x22);\n} else {\nreturn G__28733;\n}\n})())], null);\n}\n});\n/**\n * Given a browser file url convert it into a relative path that can be used\n * to locate the original source.\n */\ncljs.stacktrace.parse_file \x3d (function cljs$stacktrace$parse_file(p__28739,file,p__28740){\nvar map__28743 \x3d p__28739;\nvar map__28743__$1 \x3d cljs.core.__destructure_map(map__28743);\nvar repl_env \x3d map__28743__$1;\nvar host \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28743__$1,new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167));\nvar host_port \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28743__$1,new cljs.core.Keyword(null,\x22host-port\x22,\x22host-port\x22,1956551772));\nvar port \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28743__$1,new cljs.core.Keyword(null,\x22port\x22,\x22port\x22,1534937262));\nvar map__28744 \x3d p__28740;\nvar map__28744__$1 \x3d cljs.core.__destructure_map(map__28744);\nvar opts \x3d map__28744__$1;\nvar asset_path \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28744__$1,new cljs.core.Keyword(null,\x22asset-path\x22,\x22asset-path\x22,1500889617));\nvar urlpat \x3d (cljs.core.truth_(host)?cljs.stacktrace.string__GT_regex([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(host),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d host_port;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn port;\n}\n})()),\x22/\x22].join(\x27\x27)):\x22\x22);\nvar match \x3d (cljs.core.truth_(host)?cljs.core.re_find(urlpat,file):cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991)));\nif(cljs.core.truth_(match)){\nreturn clojure.string.replace(clojure.string.replace(file,urlpat,\x22\x22),cljs.stacktrace.string__GT_regex([\x22^\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d asset_path;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn clojure.string.replace(asset_path,/^\\//,\x22\x22);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.stacktrace.output_directory(opts);\n}\n})()),\x22/\x22].join(\x27\x27)),\x22\x22);\n} else {\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22asset-root\x22,\x22asset-root\x22,1771735072).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar asset_root \x3d temp__5821__auto__;\nreturn clojure.string.replace(file,asset_root,\x22\x22);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Could not relativize URL \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22parse-stacktrace\x22,\x22parse-stacktrace\x22,-38208461),new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),new cljs.core.Keyword(null,\x22relativize-url\x22,\x22relativize-url\x22,621482324)], null));\n}\n}\n});\ncljs.stacktrace.chrome_st_el__GT_frame \x3d (function cljs$stacktrace$chrome_st_el__GT_frame(repl_env,st_el,opts){\nvar xs \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(clojure.string.replace(st_el,/\\s+at\\s+/,\x22\x22),/\\s+/);\nvar vec__28767 \x3d ((((1) \x3d\x3d\x3d cljs.core.count(xs)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first(xs)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(xs),cljs.core.last(xs)], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28767,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28767,(1),null);\nvar vec__28771 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28771,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28771,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28771,(2),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn column;\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.replace(function$,/Object\\./,\x22\x22),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.replace(function$,/Object\\./,\x22\x22),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22chrome\x22,\x22chrome\x22,1718738387),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28787_SHARP_){\nreturn cljs.stacktrace.chrome_st_el__GT_frame(repl_env,p1__28787_SHARP_,opts);\n}),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__28786_SHARP_){\nreturn (!(cljs.stacktrace.starts_with_QMARK_(p1__28786_SHARP_,\x22 at eval\x22)));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__28785_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__28785_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st))))));\n}));\ncljs.stacktrace.safari_st_el__GT_frame \x3d (function cljs$stacktrace$safari_st_el__GT_frame(repl_env,st_el,opts){\nvar vec__28797 \x3d (cljs.core.truth_(cljs.core.re_find(/@/,st_el))?clojure.string.split.cljs$core$IFn$_invoke$arity$2(st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28797,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28797,(1),null);\nvar vec__28801 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28801,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28801,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28801,(2),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn column;\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.trim(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),clojure.string.trim(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22safari\x22,\x22safari\x22,497115653),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28816_SHARP_){\nreturn cljs.stacktrace.safari_st_el__GT_frame(repl_env,p1__28816_SHARP_,opts);\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__28815_SHARP_){\nreturn (!(cljs.stacktrace.starts_with_QMARK_(p1__28815_SHARP_,\x22eval code\x22)));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__28814_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__28814_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st)))))));\n}));\ncljs.stacktrace.firefox_clean_function \x3d (function cljs$stacktrace$firefox_clean_function(f){\nvar f__$1 \x3d f;\nvar f__$2 \x3d ((clojure.string.blank_QMARK_(f__$1))?null:((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(f__$1.indexOf(\x22\x3c/\x22),(-1)))?(function (){var idx \x3d f__$1.indexOf(\x22\x3c/\x22);\nreturn f__$1.substring((idx + (2)));\n})():f__$1\n));\nreturn clojure.string.replace(clojure.string.replace(f__$2,/\x3c/,\x22\x22),(new RegExp(\x22\\\\/\x22)),\x22\x22);\n});\ncljs.stacktrace.firefox_st_el__GT_frame \x3d (function cljs$stacktrace$firefox_st_el__GT_frame(repl_env,st_el,opts){\nvar vec__28836 \x3d (cljs.core.truth_(cljs.core.re_find(/@/,st_el))?clojure.string.split.cljs$core$IFn$_invoke$arity$2(st_el,/@/):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,st_el], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28836,(0),null);\nvar flc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28836,(1),null);\nvar vec__28839 \x3d cljs.stacktrace.parse_file_line_column(flc);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28839,(0),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28839,(1),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28839,(2),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d function$;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d line;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn column;\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.stacktrace.parse_file(repl_env,file,opts),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),cljs.stacktrace.firefox_clean_function(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null);\n} else {\nif(clojure.string.blank_QMARK_(function$)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),null,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),cljs.stacktrace.firefox_clean_function(function$),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),null], null);\n}\n}\n});\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22firefox\x22,\x22firefox\x22,1283768880),(function (repl_env,st,err,opts){\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28859_SHARP_){\nreturn cljs.stacktrace.firefox_st_el__GT_frame(repl_env,p1__28859_SHARP_,opts);\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(clojure.string.blank_QMARK_,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__28858_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__28858_SHARP_.indexOf(\x22\x3e eval\x22),(-1));\n}),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((function (p1__28857_SHARP_){\nreturn cljs.stacktrace.starts_with_QMARK_(p1__28857_SHARP_,\x22Error\x22);\n}),clojure.string.split_lines(st)))))));\n}));\ncljs.stacktrace.parse_stacktrace.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nodejs\x22,\x22nodejs\x22,321212524),(function (repl_env,st,err,p__28871){\nvar map__28880 \x3d p__28871;\nvar map__28880__$1 \x3d cljs.core.__destructure_map(map__28880);\nvar opts \x3d map__28880__$1;\nvar output_dir \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28880__$1,new cljs.core.Keyword(null,\x22output-dir\x22,\x22output-dir\x22,-290956991));\nvar parse_source_loc_info \x3d (function cljs$stacktrace$parse_source_loc_info(x){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d x;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(clojure.string.blank_QMARK_(x)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.stacktrace.parse_int(x);\n} else {\nreturn null;\n}\n});\nvar process_frame \x3d (function cljs$stacktrace$process_frame(frame_str){\nif(((clojure.string.blank_QMARK_(frame_str)) || ((cljs.core.re_find(/^\\s+at/,frame_str) \x3d\x3d null)))){\nreturn null;\n} else {\nvar frame_str__$1 \x3d clojure.string.replace(frame_str,/\\s+at\\s+/,\x22\x22);\nif(clojure.string.starts_with_QMARK_(frame_str__$1,\x22repl:\x22)){\nreturn null;\n} else {\nvar parts \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(frame_str__$1,/\\s+/);\nvar vec__28916 \x3d ((((2) \x3d\x3d\x3d cljs.core.count(parts)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(parts),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.second(parts),(1),(cljs.core.count(cljs.core.second(parts)) - (1)))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.first(parts)], null));\nvar function$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28916,(0),null);\nvar file_AMPERSAND_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28916,(1),null);\nvar vec__28919 \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(file_AMPERSAND_line,/:/);\nvar file_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28919,(0),null);\nvar line_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28919,(1),null);\nvar col_part \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28919,(2),null);\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),(cljs.core.truth_(function$)?(function (){var G__28925 \x3d file_part;\nif(cljs.core.truth_(output_dir)){\nreturn clojure.string.replace(G__28925,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_dir),\x22/\x22].join(\x27\x27),\x22\x22);\n} else {\nreturn G__28925;\n}\n})():file_part),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),function$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),parse_source_loc_info(line_part),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),parse_source_loc_info(col_part)], null);\n}\n}\n});\nreturn cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(process_frame,clojure.string.split.cljs$core$IFn$_invoke$arity$2(st,/\\n/))));\n}));\ncljs.stacktrace.remove_ext \x3d (function cljs$stacktrace$remove_ext(file){\nreturn clojure.string.replace(clojure.string.replace(clojure.string.replace(clojure.string.replace(file,/\\.js$/,\x22\x22),/\\.cljs$/,\x22\x22),/\\.cljc$/,\x22\x22),/\\.clj$/,\x22\x22);\n});\n/**\n * Given a cljs.source-map source map data structure map a generated line\n * and column back to the original line, column, and function called.\n */\ncljs.stacktrace.mapped_line_column_call \x3d (function cljs$stacktrace$mapped_line_column_call(sms,file,line,column){\nvar source_map \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(sms,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(clojure.string.replace(cljs.stacktrace.remove_ext(file),\x22/\x22,\x22.\x22)));\nvar get_best_column \x3d (function cljs$stacktrace$mapped_line_column_call_$_get_best_column(columns,column__$1){\nreturn cljs.core.last((function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(columns,cljs.core.last(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__28942_SHARP_){\nreturn (p1__28942_SHARP_ \x3c\x3d (column__$1 - (1)));\n}),cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.keys(columns)))));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.second(cljs.core.first(columns));\n}\n})());\n});\nvar adjust \x3d (function cljs$stacktrace$mapped_line_column_call_$_adjust(mapped){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__28943_SHARP_,p2__28944_SHARP_){\nreturn (p1__28943_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__28943_SHARP_.cljs$core$IFn$_invoke$arity$1(p2__28944_SHARP_) : p1__28943_SHARP_.call(null,p2__28944_SHARP_));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.inc,cljs.core.inc,cljs.core.identity], null),mapped));\n});\nvar default$ \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null);\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(source_map,(line - (1)));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar columns \x3d temp__5821__auto__;\nreturn adjust(cljs.core.map.cljs$core$IFn$_invoke$arity$2(get_best_column(columns,column),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177)], null)));\n} else {\nreturn default$;\n}\n});\n/**\n * Given opts and a canonicalized JavaScript stacktrace frame, return the\n * ClojureScript frame.\n */\ncljs.stacktrace.mapped_frame \x3d (function cljs$stacktrace$mapped_frame(p__28969,sms,opts){\nvar map__28972 \x3d p__28969;\nvar map__28972__$1 \x3d cljs.core.__destructure_map(map__28972);\nvar function$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28972__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28972__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28972__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__28972__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar no_source_file_QMARK_ \x3d ((cljs.core.not(file))?true:cljs.stacktrace.starts_with_QMARK_(file,\x22\x3c\x22));\nvar vec__28976 \x3d ((no_source_file_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [line,column,null], null):cljs.stacktrace.mapped_line_column_call(sms,file,line,column));\nvar line_SINGLEQUOTE_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28976,(0),null);\nvar column_SINGLEQUOTE_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28976,(1),null);\nvar call \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28976,(2),null);\nvar file_SINGLEQUOTE_ \x3d ((no_source_file_QMARK_)?null:((cljs.stacktrace.ends_with_QMARK_(file,\x22.js\x22))?[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(file,(0),(cljs.core.count(file) - (3))),\x22.cljs\x22].join(\x27\x27):file));\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),function$,new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866),call,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),((no_source_file_QMARK_)?[\x22NO_SOURCE_FILE\x22,(cljs.core.truth_(file)?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file)].join(\x27\x27):null)].join(\x27\x27):file_SINGLEQUOTE_),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line_SINGLEQUOTE_,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column_SINGLEQUOTE_], null);\n});\n/**\n * Given a vector representing the canonicalized JavaScript stacktrace\n * return the ClojureScript stacktrace. The canonical stacktrace must be\n * in the form:\n * \n * [{:file \x3cstring\x3e\n * :function \x3cstring\x3e\n * :line \x3cinteger\x3e\n * :column \x3cinteger\x3e}*]\n * \n * :file must be a URL path (without protocol) relative to :output-dir or a\n * identifier delimited by angle brackets. The returned mapped stacktrace will\n * also contain :url entries to the original sources if it can be determined\n * from the classpath.\n */\ncljs.stacktrace.mapped_stacktrace \x3d (function cljs$stacktrace$mapped_stacktrace(var_args){\nvar G__29013 \x3d arguments.length;\nswitch (G__29013) {\ncase 2:\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$2 \x3d (function (stacktrace,sms){\nreturn cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,null);\n}));\n\n(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3 \x3d (function (stacktrace,sms,opts){\nvar call__GT_function \x3d (function cljs$stacktrace$call__GT_function(x){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866).cljs$core$IFn$_invoke$arity$1(x))){\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473)],[new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866).cljs$core$IFn$_invoke$arity$1(x)]);\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n});\nvar call_merge \x3d (function cljs$stacktrace$call_merge(function$,call){\nreturn cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((function (munged_fn_name,unmunged_call_name){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(munged_fn_name,clojure.string.replace(cljs.core.munge(unmunged_call_name),\x22.\x22,\x22$\x22))){\nreturn unmunged_call_name;\n} else {\nreturn munged_fn_name;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([function$,call], 0));\n});\nvar mapped_frames \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.memoize((function (p1__29000_SHARP_){\nreturn cljs.stacktrace.mapped_frame(p1__29000_SHARP_,sms,opts);\n})),stacktrace);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$3(call_merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29003_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__29003_SHARP_,new cljs.core.Keyword(null,\x22call\x22,\x22call\x22,-519999866));\n}),mapped_frames),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(cljs.core.map.cljs$core$IFn$_invoke$arity$2(call__GT_function,mapped_frames)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.EMPTY], null))));\n}));\n\n(cljs.stacktrace.mapped_stacktrace.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Given a vector representing the canonicalized JavaScript stacktrace and a map\n * of library names to decoded source maps, print the ClojureScript stacktrace .\n * See mapped-stacktrace.\n */\ncljs.stacktrace.mapped_stacktrace_str \x3d (function cljs$stacktrace$mapped_stacktrace_str(var_args){\nvar G__29058 \x3d arguments.length;\nswitch (G__29058) {\ncase 2:\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$2 \x3d (function (stacktrace,sms){\nreturn cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,null);\n}));\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$core$IFn$_invoke$arity$3 \x3d (function (stacktrace,sms,opts){\nvar sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__29071_29388 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__29072_29389 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__29073_29390 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__29074_29391 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__29073_29390);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__29074_29391);\n\ntry{var seq__29078_29393 \x3d cljs.core.seq(cljs.stacktrace.mapped_stacktrace.cljs$core$IFn$_invoke$arity$3(stacktrace,sms,opts));\nvar chunk__29079_29394 \x3d null;\nvar count__29080_29395 \x3d (0);\nvar i__29081_29396 \x3d (0);\nwhile(true){\nif((i__29081_29396 \x3c count__29080_29395)){\nvar map__29118_29400 \x3d chunk__29079_29394.cljs$core$IIndexed$_nth$arity$2(null,i__29081_29396);\nvar map__29118_29401__$1 \x3d cljs.core.__destructure_map(map__29118_29400);\nvar function_29402 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29118_29401__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file_29403 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29118_29401__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_29404 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29118_29401__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_29405 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29118_29401__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\t\x22,[(cljs.core.truth_(function_29402)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_29402),\x22 \x22].join(\x27\x27):null),\x22(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_29403),(cljs.core.truth_(line_29404)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_29404)].join(\x27\x27):null),(cljs.core.truth_(column_29405)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_29405)].join(\x27\x27):null),\x22)\x22].join(\x27\x27)], 0));\n\n\nvar G__29412 \x3d seq__29078_29393;\nvar G__29413 \x3d chunk__29079_29394;\nvar G__29414 \x3d count__29080_29395;\nvar G__29415 \x3d (i__29081_29396 + (1));\nseq__29078_29393 \x3d G__29412;\nchunk__29079_29394 \x3d G__29413;\ncount__29080_29395 \x3d G__29414;\ni__29081_29396 \x3d G__29415;\ncontinue;\n} else {\nvar temp__5823__auto___29417 \x3d cljs.core.seq(seq__29078_29393);\nif(temp__5823__auto___29417){\nvar seq__29078_29418__$1 \x3d temp__5823__auto___29417;\nif(cljs.core.chunked_seq_QMARK_(seq__29078_29418__$1)){\nvar c__5548__auto___29419 \x3d cljs.core.chunk_first(seq__29078_29418__$1);\nvar G__29421 \x3d cljs.core.chunk_rest(seq__29078_29418__$1);\nvar G__29422 \x3d c__5548__auto___29419;\nvar G__29423 \x3d cljs.core.count(c__5548__auto___29419);\nvar G__29424 \x3d (0);\nseq__29078_29393 \x3d G__29421;\nchunk__29079_29394 \x3d G__29422;\ncount__29080_29395 \x3d G__29423;\ni__29081_29396 \x3d G__29424;\ncontinue;\n} else {\nvar map__29136_29425 \x3d cljs.core.first(seq__29078_29418__$1);\nvar map__29136_29426__$1 \x3d cljs.core.__destructure_map(map__29136_29425);\nvar function_29427 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29136_29426__$1,new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473));\nvar file_29428 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29136_29426__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_29429 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29136_29426__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_29430 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29136_29426__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\t\x22,[(cljs.core.truth_(function_29427)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(function_29427),\x22 \x22].join(\x27\x27):null),\x22(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_29428),(cljs.core.truth_(line_29429)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_29429)].join(\x27\x27):null),(cljs.core.truth_(column_29430)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_29430)].join(\x27\x27):null),\x22)\x22].join(\x27\x27)], 0));\n\n\nvar G__29434 \x3d cljs.core.next(seq__29078_29418__$1);\nvar G__29435 \x3d null;\nvar G__29436 \x3d (0);\nvar G__29437 \x3d (0);\nseq__29078_29393 \x3d G__29434;\nchunk__29079_29394 \x3d G__29435;\ncount__29080_29395 \x3d G__29436;\ni__29081_29396 \x3d G__29437;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__29072_29389);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__29071_29388);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n}));\n\n(cljs.stacktrace.mapped_stacktrace_str.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("devtools.hints.js", true, "goog.provide(\x27devtools.hints\x27);\ndevtools.hints.available_QMARK_ \x3d (function devtools$hints$available_QMARK_(){\nreturn true;\n});\ndevtools.hints._STAR_installed_STAR_ \x3d false;\ndevtools.hints._STAR_original_global_error_handler_STAR_ \x3d null;\ndevtools.hints._STAR_original_type_error_prototype_to_string_STAR_ \x3d null;\ndevtools.hints.processed_errors \x3d cljs.core.volatile_BANG_(null);\ndevtools.hints.set_processed_errors_BANG_ \x3d (function devtools$hints$set_processed_errors_BANG_(val){\nreturn cljs.core.vreset_BANG_(devtools.hints.processed_errors,val);\n});\ndevtools.hints.get_processed_errors_BANG_ \x3d (function devtools$hints$get_processed_errors_BANG_(){\nvar temp__5821__auto__ \x3d cljs.core.deref(devtools.hints.processed_errors);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar val \x3d temp__5821__auto__;\nreturn val;\n} else {\nif((typeof WeakSet !\x3d\x3d \x27undefined\x27)){\nreturn devtools.hints.set_processed_errors_BANG_((new WeakSet()));\n} else {\nreturn null;\n}\n}\n});\ndevtools.hints.empty_as_nil \x3d (function devtools$hints$empty_as_nil(str){\nif(cljs.core.empty_QMARK_(str)){\nreturn null;\n} else {\nreturn str;\n}\n});\ndevtools.hints.ajax_reader \x3d (function devtools$hints$ajax_reader(url){\nvar xhr \x3d (new XMLHttpRequest());\nxhr.open(\x22GET\x22,url,false);\n\nxhr.send();\n\nreturn devtools.hints.empty_as_nil(xhr.responseText);\n});\ndevtools.hints.retrieve_javascript_source \x3d (function devtools$hints$retrieve_javascript_source(where){\nvar reader \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22file-reader\x22,\x22file-reader\x22,-450847664));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.hints.ajax_reader;\n}\n})();\nreturn (reader.cljs$core$IFn$_invoke$arity$1 ? reader.cljs$core$IFn$_invoke$arity$1(where) : reader.call(null,where));\n});\ndevtools.hints.get_line \x3d (function devtools$hints$get_line(lines,line_number){\nreturn (lines[(line_number - (1))]);\n});\ndevtools.hints.extend_content \x3d (function devtools$hints$extend_content(content,lines,line_number,min_length){\nif((((cljs.core.count(content) \x3e min_length)) || ((!((line_number \x3e (0))))))){\nreturn content;\n} else {\nvar prev_line_number \x3d (line_number - (1));\nvar prev_line \x3d devtools.hints.get_line(lines,prev_line_number);\nvar new_content \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prev_line),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(content)].join(\x27\x27);\nreturn (devtools.hints.extend_content.cljs$core$IFn$_invoke$arity$4 ? devtools.hints.extend_content.cljs$core$IFn$_invoke$arity$4(new_content,lines,prev_line_number,min_length) : devtools.hints.extend_content.call(null,new_content,lines,prev_line_number,min_length));\n}\n});\ndevtools.hints.mark_call_closed_at_column \x3d (function devtools$hints$mark_call_closed_at_column(line,column){\nvar n \x3d (column - (1));\nvar prefix \x3d line.substring((0),n);\nvar postfix \x3d line.substring(n);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22 \x3c\x3c\x3c \\u2622 NULL \\u2622 \x3c\x3c\x3c \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(postfix)].join(\x27\x27);\n});\ndevtools.hints.mark_null_call_site_location \x3d (function devtools$hints$mark_null_call_site_location(file,line_number,column){\nvar content \x3d devtools.hints.retrieve_javascript_source(file);\nvar lines \x3d content.split(\x22\\n\x22);\nvar line \x3d devtools.hints.get_line(lines,line_number);\nvar marked_line \x3d devtools.hints.mark_call_closed_at_column(line,column);\nvar min_length \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22sanity-hint-min-length\x22,\x22sanity-hint-min-length\x22,104958154));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (128);\n}\n})();\nreturn devtools.hints.extend_content(marked_line,lines,line_number,min_length);\n});\ndevtools.hints.make_sense_of_the_error \x3d (function devtools$hints$make_sense_of_the_error(message,file,line_number,column){\nif(cljs.core.truth_(cljs.core.re_matches(/Cannot read property \x27call\x27 of.*/,message))){\nreturn devtools.hints.mark_null_call_site_location(file,line_number,column);\n} else {\nreturn null;\n\n}\n});\ndevtools.hints.parse_stacktrace \x3d (function devtools$hints$parse_stacktrace(native_stack_trace){\nreturn cljs.stacktrace.parse_stacktrace.cljs$core$IFn$_invoke$arity$4(cljs.core.PersistentArrayMap.EMPTY,native_stack_trace,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ua-product\x22,\x22ua-product\x22,938384227),new cljs.core.Keyword(null,\x22chrome\x22,\x22chrome\x22,1718738387)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22asset-root\x22,\x22asset-root\x22,1771735072),\x22\x22], null));\n});\ndevtools.hints.error_object_sense \x3d (function devtools$hints$error_object_sense(error){\ntry{var native_stack_trace \x3d error.stack;\nvar stack_trace \x3d devtools.hints.parse_stacktrace(native_stack_trace);\nvar top_item \x3d cljs.core.second(stack_trace);\nvar map__29803 \x3d top_item;\nvar map__29803__$1 \x3d cljs.core.__destructure_map(map__29803);\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29803__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29803__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29803__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nreturn devtools.hints.make_sense_of_the_error(error.message,file,line,column);\n}catch (e29802){var _e \x3d e29802;\nreturn false;\n}});\ndevtools.hints.type_error_to_string \x3d (function devtools$hints$type_error_to_string(self){\nvar temp__5821__auto___29845 \x3d devtools.hints.get_processed_errors_BANG_();\nif(cljs.core.truth_(temp__5821__auto___29845)){\nvar seen_errors_29846 \x3d temp__5821__auto___29845;\nif(cljs.core.truth_(seen_errors_29846.has(self))){\n} else {\nseen_errors_29846.add(self);\n\nvar temp__5823__auto___29847 \x3d devtools.hints.error_object_sense(self);\nif(cljs.core.truth_(temp__5823__auto___29847)){\nvar sense_29848 \x3d temp__5823__auto___29847;\n(self.message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self.message),\x22, a sanity hint:\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sense_29848)].join(\x27\x27));\n} else {\n}\n}\n} else {\n}\n\nreturn devtools.hints._STAR_original_type_error_prototype_to_string_STAR_.call(self);\n});\ndevtools.hints.global_error_handler \x3d (function devtools$hints$global_error_handler(message,url,line,column,error){\nvar res \x3d (cljs.core.truth_(devtools.hints._STAR_original_global_error_handler_STAR_)?devtools.hints._STAR_original_global_error_handler_STAR_.call(null,message,url,line,column,error):null);\nif(cljs.core.not(res)){\nvar temp__5823__auto__ \x3d devtools.hints.error_object_sense(error);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar sense \x3d temp__5823__auto__;\ndevtools.context.get_console.call(null).info(\x22A sanity hint for incoming uncaught error:\\n\x22,sense);\n\nreturn false;\n} else {\nreturn null;\n}\n} else {\nreturn true;\n}\n});\ndevtools.hints.install_type_error_enhancer \x3d (function devtools$hints$install_type_error_enhancer(){\n(devtools.hints._STAR_original_global_error_handler_STAR_ \x3d devtools.context.get_root.call(null).onerror);\n\n(devtools.context.get_root.call(null).onerror \x3d devtools.hints.global_error_handler);\n\nvar prototype \x3d TypeError.prototype;\n(devtools.hints._STAR_original_type_error_prototype_to_string_STAR_ \x3d prototype.toString);\n\nreturn (prototype.toString \x3d (function (){\nvar self \x3d this;\nreturn devtools.hints.type_error_to_string(self);\n}));\n});\ndevtools.hints.installed_QMARK_ \x3d (function devtools$hints$installed_QMARK_(){\nreturn devtools.hints._STAR_installed_STAR_;\n});\ndevtools.hints.install_BANG_ \x3d (function devtools$hints$install_BANG_(){\nif(cljs.core.truth_(devtools.hints._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.hints._STAR_installed_STAR_ \x3d true);\n\ndevtools.hints.install_type_error_enhancer();\n\nreturn true;\n}\n});\ndevtools.hints.uninstall_BANG_ \x3d (function devtools$hints$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.hints._STAR_installed_STAR_)){\n(devtools.hints._STAR_installed_STAR_ \x3d false);\n\nif(cljs.core.truth_(devtools.hints._STAR_original_type_error_prototype_to_string_STAR_)){\n} else {\nthrow (new Error(\x22Assert failed: *original-type-error-prototype-to-string*\x22));\n}\n\n(devtools.context.get_root.call(null).onerror \x3d devtools.hints._STAR_original_global_error_handler_STAR_);\n\nvar prototype \x3d TypeError.prototype;\nreturn (prototype.toString \x3d devtools.hints._STAR_original_type_error_prototype_to_string_STAR_);\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.engine.js", true, "goog.loadModule(function(exports) {\n function isPresto() {\n return util.matchUserAgent(\x22Presto\x22);\n }\n function isTrident() {\n return util.matchUserAgent(\x22Trident\x22) || util.matchUserAgent(\x22MSIE\x22);\n }\n function isEdge() {\n return util.matchUserAgent(\x22Edge\x22);\n }\n function isWebKit() {\n return util.matchUserAgentIgnoreCase(\x22WebKit\x22) \x26\x26 !isEdge();\n }\n function isGecko() {\n return util.matchUserAgent(\x22Gecko\x22) \x26\x26 !isWebKit() \x26\x26 !isTrident() \x26\x26 !isEdge();\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n if (userAgentString) {\n const tuples \x3d util.extractVersionTuples(userAgentString);\n const engineTuple \x3d getEngineTuple(tuples);\n if (engineTuple) {\n if (engineTuple[0] \x3d\x3d \x22Gecko\x22) {\n return getVersionForKey(tuples, \x22Firefox\x22);\n }\n return engineTuple[1];\n }\n const browserTuple \x3d tuples[0];\n let info;\n if (browserTuple \x26\x26 (info \x3d browserTuple[2])) {\n const match \x3d /Trident\\/([^\\s;]+)/.exec(info);\n if (match) {\n return match[1];\n }\n }\n }\n return \x22\x22;\n }\n function getEngineTuple(tuples) {\n if (!isEdge()) {\n return tuples[1];\n }\n for (let i \x3d 0; i \x3c tuples.length; i++) {\n const tuple \x3d tuples[i];\n if (tuple[0] \x3d\x3d \x22Edge\x22) {\n return tuple;\n }\n }\n }\n function isVersionOrHigher(version) {\n return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n function getVersionForKey(tuples, key) {\n const pair \x3d googArray.find(tuples, function(pair) {\n return key \x3d\x3d pair[0];\n });\n return pair \x26\x26 pair[1] || \x22\x22;\n }\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.engine\x22);\n goog.module.declareLegacyNamespace();\n const googArray \x3d goog.require(\x22goog.array\x22);\n const googString \x3d goog.require(\x22goog.string.internal\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n exports \x3d {getVersion, isEdge, isGecko, isPresto, isTrident, isVersionOrHigher, isWebKit};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.labs.useragent.platform.js", true, "goog.loadModule(function(exports) {\n function useUserAgentDataPlatform(ignoreClientHintsFlag \x3d false) {\n if (util.ASSUME_CLIENT_HINTS_SUPPORT) {\n return true;\n }\n if (!ignoreClientHintsFlag \x26\x26 !useClientHints()) {\n return false;\n }\n const userAgentData \x3d util.getUserAgentData();\n return !!userAgentData \x26\x26 !!userAgentData.platform;\n }\n function isAndroid() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Android\x22;\n }\n return util.matchUserAgent(\x22Android\x22);\n }\n function isIpod() {\n return util.matchUserAgent(\x22iPod\x22);\n }\n function isIphone() {\n return util.matchUserAgent(\x22iPhone\x22) \x26\x26 !util.matchUserAgent(\x22iPod\x22) \x26\x26 !util.matchUserAgent(\x22iPad\x22);\n }\n function isIpad() {\n return util.matchUserAgent(\x22iPad\x22);\n }\n function isIos() {\n return isIphone() || isIpad() || isIpod();\n }\n function isMacintosh() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22macOS\x22;\n }\n return util.matchUserAgent(\x22Macintosh\x22);\n }\n function isLinux() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Linux\x22;\n }\n return util.matchUserAgent(\x22Linux\x22);\n }\n function isWindows() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Windows\x22;\n }\n return util.matchUserAgent(\x22Windows\x22);\n }\n function isChromeOS() {\n if (useUserAgentDataPlatform()) {\n return util.getUserAgentData().platform \x3d\x3d\x3d \x22Chrome OS\x22;\n }\n return util.matchUserAgent(\x22CrOS\x22);\n }\n function isChromecast() {\n return util.matchUserAgent(\x22CrKey\x22);\n }\n function isKaiOS() {\n return util.matchUserAgentIgnoreCase(\x22KaiOS\x22);\n }\n function getVersion() {\n const userAgentString \x3d util.getUserAgent();\n let version \x3d \x22\x22;\n let re;\n if (isWindows()) {\n re \x3d /Windows (?:NT|Phone) ([0-9.]+)/;\n const match \x3d re.exec(userAgentString);\n if (match) {\n version \x3d match[1];\n } else {\n version \x3d \x220.0\x22;\n }\n } else if (isIos()) {\n re \x3d /(?:iPhone|iPod|iPad|CPU)\\s+OS\\s+(\\S+)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1].replace(/_/g, \x22.\x22);\n } else if (isMacintosh()) {\n re \x3d /Mac OS X ([0-9_.]+)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match ? match[1].replace(/_/g, \x22.\x22) : \x2210\x22;\n } else if (isKaiOS()) {\n re \x3d /(?:KaiOS)\\/(\\S+)/i;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n } else if (isAndroid()) {\n re \x3d /Android\\s+([^\\);]+)(\\)|;)/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n } else if (isChromeOS()) {\n re \x3d /(?:CrOS\\s+(?:i686|x86_64)\\s+([0-9.]+))/;\n const match \x3d re.exec(userAgentString);\n version \x3d match \x26\x26 match[1];\n }\n return version || \x22\x22;\n }\n function isVersionOrHigher(version) {\n return googString.compareVersions(getVersion(), version) \x3e\x3d 0;\n }\n \x22use strict\x22;\n goog.module(\x22goog.labs.userAgent.platform\x22);\n goog.module.declareLegacyNamespace();\n const googString \x3d goog.require(\x22goog.string.internal\x22);\n const util \x3d goog.require(\x22goog.labs.userAgent.util\x22);\n const {AsyncValue, Version} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyValue\x22);\n const {platformVersion} \x3d goog.require(\x22goog.labs.userAgent.highEntropy.highEntropyData\x22);\n const {useClientHints} \x3d goog.require(\x22goog.labs.userAgent\x22);\n class PlatformVersion {\n constructor() {\n this.preUachHasLoaded_ \x3d false;\n }\n getIfLoaded() {\n if (useUserAgentDataPlatform(true)) {\n const loadedPlatformVersion \x3d platformVersion.getIfLoaded();\n if (loadedPlatformVersion \x3d\x3d\x3d undefined) {\n return undefined;\n }\n return new Version(loadedPlatformVersion);\n } else if (!this.preUachHasLoaded_) {\n return undefined;\n } else {\n return new Version(getVersion());\n }\n }\n async load() {\n if (useUserAgentDataPlatform(true)) {\n return new Version(await platformVersion.load());\n } else {\n this.preUachHasLoaded_ \x3d true;\n return new Version(getVersion());\n }\n }\n resetForTesting() {\n platformVersion.resetForTesting();\n this.preUachHasLoaded_ \x3d false;\n }\n }\n const version \x3d new PlatformVersion();\n exports \x3d {getVersion, isAndroid, isChromeOS, isChromecast, isIos, isIpad, isIphone, isIpod, isKaiOS, isLinux, isMacintosh, isVersionOrHigher, isWindows, version};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.useragent.useragent.js", true, "goog.provide(\x22goog.userAgent\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.labs.userAgent.util\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string.internal\x22);\ngoog.userAgent.ASSUME_IE \x3d goog.define(\x22goog.userAgent.ASSUME_IE\x22, false);\ngoog.userAgent.ASSUME_EDGE \x3d goog.define(\x22goog.userAgent.ASSUME_EDGE\x22, false);\ngoog.userAgent.ASSUME_GECKO \x3d goog.define(\x22goog.userAgent.ASSUME_GECKO\x22, false);\ngoog.userAgent.ASSUME_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_MOBILE_WEBKIT \x3d goog.define(\x22goog.userAgent.ASSUME_MOBILE_WEBKIT\x22, false);\ngoog.userAgent.ASSUME_OPERA \x3d goog.define(\x22goog.userAgent.ASSUME_OPERA\x22, false);\ngoog.userAgent.ASSUME_ANY_VERSION \x3d goog.define(\x22goog.userAgent.ASSUME_ANY_VERSION\x22, false);\ngoog.userAgent.BROWSER_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA;\ngoog.userAgent.getUserAgentString \x3d function() {\n return goog.labs.userAgent.util.getUserAgent();\n};\ngoog.userAgent.getNavigatorTyped \x3d function() {\n return goog.global[\x22navigator\x22] || null;\n};\ngoog.userAgent.getNavigator \x3d function() {\n return goog.userAgent.getNavigatorTyped();\n};\ngoog.userAgent.OPERA \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera();\ngoog.userAgent.IE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent.browser.isIE();\ngoog.userAgent.EDGE \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge();\ngoog.userAgent.EDGE_OR_IE \x3d goog.userAgent.EDGE || goog.userAgent.IE;\ngoog.userAgent.GECKO \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs.userAgent.engine.isGecko();\ngoog.userAgent.WEBKIT \x3d goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit();\ngoog.userAgent.isMobile_ \x3d function() {\n return goog.userAgent.WEBKIT \x26\x26 goog.labs.userAgent.util.matchUserAgent(\x22Mobile\x22);\n};\ngoog.userAgent.MOBILE \x3d goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent.isMobile_();\ngoog.userAgent.SAFARI \x3d goog.userAgent.WEBKIT;\ngoog.userAgent.determinePlatform_ \x3d function() {\n var navigator \x3d goog.userAgent.getNavigatorTyped();\n return navigator \x26\x26 navigator.platform || \x22\x22;\n};\ngoog.userAgent.PLATFORM \x3d goog.userAgent.determinePlatform_();\ngoog.userAgent.ASSUME_MAC \x3d goog.define(\x22goog.userAgent.ASSUME_MAC\x22, false);\ngoog.userAgent.ASSUME_WINDOWS \x3d goog.define(\x22goog.userAgent.ASSUME_WINDOWS\x22, false);\ngoog.userAgent.ASSUME_LINUX \x3d goog.define(\x22goog.userAgent.ASSUME_LINUX\x22, false);\ngoog.userAgent.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.ASSUME_ANDROID\x22, false);\ngoog.userAgent.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.ASSUME_IPHONE\x22, false);\ngoog.userAgent.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.ASSUME_IPAD\x22, false);\ngoog.userAgent.ASSUME_IPOD \x3d goog.define(\x22goog.userAgent.ASSUME_IPOD\x22, false);\ngoog.userAgent.ASSUME_KAIOS \x3d goog.define(\x22goog.userAgent.ASSUME_KAIOS\x22, false);\ngoog.userAgent.PLATFORM_KNOWN_ \x3d goog.userAgent.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX || goog.userAgent.ASSUME_ANDROID || goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD;\ngoog.userAgent.MAC \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC : goog.labs.userAgent.platform.isMacintosh();\ngoog.userAgent.WINDOWS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows();\ngoog.userAgent.isLegacyLinux_ \x3d function() {\n return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent.platform.isChromeOS();\n};\ngoog.userAgent.LINUX \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_LINUX : goog.userAgent.isLegacyLinux_();\ngoog.userAgent.ANDROID \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform.isAndroid();\ngoog.userAgent.IPHONE \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone();\ngoog.userAgent.IPAD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.IPOD \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIpod();\ngoog.userAgent.IOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform.isIos();\ngoog.userAgent.KAIOS \x3d goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform.isKaiOS();\ngoog.userAgent.determineVersion_ \x3d function() {\n var version \x3d \x22\x22;\n var arr \x3d goog.userAgent.getVersionRegexResult_();\n if (arr) {\n version \x3d arr ? arr[1] : \x22\x22;\n }\n if (goog.userAgent.IE) {\n var docMode \x3d goog.userAgent.getDocumentMode_();\n if (docMode !\x3d null \x26\x26 docMode \x3e parseFloat(version)) {\n return String(docMode);\n }\n }\n return version;\n};\ngoog.userAgent.getVersionRegexResult_ \x3d function() {\n var userAgent \x3d goog.userAgent.getUserAgentString();\n if (goog.userAgent.GECKO) {\n return /rv:([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.EDGE) {\n return /Edge\\/([\\d\\.]+)/.exec(userAgent);\n }\n if (goog.userAgent.IE) {\n return /\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(userAgent);\n }\n if (goog.userAgent.WEBKIT) {\n return /WebKit\\/(\\S+)/.exec(userAgent);\n }\n if (goog.userAgent.OPERA) {\n return /(?:Version)[ \\/]?(\\S+)/.exec(userAgent);\n }\n return undefined;\n};\ngoog.userAgent.getDocumentMode_ \x3d function() {\n var doc \x3d goog.global[\x22document\x22];\n return doc ? doc[\x22documentMode\x22] : undefined;\n};\ngoog.userAgent.VERSION \x3d goog.userAgent.determineVersion_();\ngoog.userAgent.compare \x3d function(v1, v2) {\n return goog.string.internal.compareVersions(v1, v2);\n};\ngoog.userAgent.isVersionOrHigherCache_ \x3d {};\ngoog.userAgent.isVersionOrHigher \x3d function(version) {\n return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_, version, function() {\n return goog.string.internal.compareVersions(goog.userAgent.VERSION, version) \x3e\x3d 0;\n });\n};\ngoog.userAgent.isDocumentModeOrHigher \x3d function(documentMode) {\n return Number(goog.userAgent.DOCUMENT_MODE) \x3e\x3d documentMode;\n};\ngoog.userAgent.isDocumentMode \x3d goog.userAgent.isDocumentModeOrHigher;\ngoog.userAgent.DOCUMENT_MODE \x3d function() {\n var doc \x3d goog.global[\x22document\x22];\n if (!doc || !goog.userAgent.IE) {\n return undefined;\n }\n var documentMode \x3d goog.userAgent.getDocumentMode_();\n if (documentMode) {\n return documentMode;\n }\n var ieVersion \x3d parseInt(goog.userAgent.VERSION, 10);\n return ieVersion || undefined;\n}();\n");
SHADOW_ENV.evalLoad("clojure.set.js", true, "goog.provide(\x27clojure.set\x27);\nclojure.set.bubble_max_key \x3d (function clojure$set$bubble_max_key(k,coll){\n\nvar max \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max_key,k,coll);\nreturn cljs.core.cons(max,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__28400_SHARP_){\nreturn (max \x3d\x3d\x3d p1__28400_SHARP_);\n}),coll));\n});\n/**\n * Return a set that is the union of the input sets\n */\nclojure.set.union \x3d (function clojure$set$union(var_args){\nvar G__28410 \x3d arguments.length;\nswitch (G__28410) {\ncase 0:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28541 \x3d arguments.length;\nvar i__5750__auto___28542 \x3d (0);\nwhile(true){\nif((i__5750__auto___28542 \x3c len__5749__auto___28541)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28542]));\n\nvar G__28545 \x3d (i__5750__auto___28542 + (1));\ni__5750__auto___28542 \x3d G__28545;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn clojure.set.union.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.PersistentHashSet.EMPTY;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s2,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,s1,s2);\n}\n}));\n\n(clojure.set.union.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key(cljs.core.count,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.into,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.union.cljs$lang$applyTo \x3d (function (seq28406){\nvar G__28408 \x3d cljs.core.first(seq28406);\nvar seq28406__$1 \x3d cljs.core.next(seq28406);\nvar G__28409 \x3d cljs.core.first(seq28406__$1);\nvar seq28406__$2 \x3d cljs.core.next(seq28406__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28408,G__28409,seq28406__$2);\n}));\n\n(clojure.set.union.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the intersection of the input sets\n */\nclojure.set.intersection \x3d (function clojure$set$intersection(var_args){\nvar G__28427 \x3d arguments.length;\nswitch (G__28427) {\ncase 1:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28558 \x3d arguments.length;\nvar i__5750__auto___28559 \x3d (0);\nwhile(true){\nif((i__5750__auto___28559 \x3c len__5749__auto___28558)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28559]));\n\nvar G__28563 \x3d (i__5750__auto___28559 + (1));\ni__5750__auto___28559 \x3d G__28563;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nwhile(true){\nif((cljs.core.count(s2) \x3c cljs.core.count(s1))){\nvar G__28566 \x3d s2;\nvar G__28567 \x3d s1;\ns1 \x3d G__28566;\ns2 \x3d G__28567;\ncontinue;\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (s1,s2){\nreturn (function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn result;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n}\n});})(s1,s2))\n,s1,s1);\n}\nbreak;\n}\n}));\n\n(clojure.set.intersection.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nvar bubbled_sets \x3d clojure.set.bubble_max_key((function (p1__28418_SHARP_){\nreturn (- cljs.core.count(p1__28418_SHARP_));\n}),cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(sets,s2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s1], 0)));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.intersection,cljs.core.first(bubbled_sets),cljs.core.rest(bubbled_sets));\n}));\n\n/** @this {Function} */\n(clojure.set.intersection.cljs$lang$applyTo \x3d (function (seq28422){\nvar G__28423 \x3d cljs.core.first(seq28422);\nvar seq28422__$1 \x3d cljs.core.next(seq28422);\nvar G__28424 \x3d cljs.core.first(seq28422__$1);\nvar seq28422__$2 \x3d cljs.core.next(seq28422__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28423,G__28424,seq28422__$2);\n}));\n\n(clojure.set.intersection.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Return a set that is the first set without elements of the remaining sets\n */\nclojure.set.difference \x3d (function clojure$set$difference(var_args){\nvar G__28452 \x3d arguments.length;\nswitch (G__28452) {\ncase 1:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___28581 \x3d arguments.length;\nvar i__5750__auto___28583 \x3d (0);\nwhile(true){\nif((i__5750__auto___28583 \x3c len__5749__auto___28581)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___28583]));\n\nvar G__28587 \x3d (i__5750__auto___28583 + (1));\ni__5750__auto___28583 \x3d G__28587;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$1 \x3d (function (s1){\nreturn s1;\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$2 \x3d (function (s1,s2){\nif((cljs.core.count(s1) \x3c cljs.core.count(s2))){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,item){\nif(cljs.core.contains_QMARK_(s2,item)){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(result,item);\n} else {\nreturn result;\n}\n}),s1,s1);\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,s1,s2);\n}\n}));\n\n(clojure.set.difference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (s1,s2,sets){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(clojure.set.difference,s1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sets,s2));\n}));\n\n/** @this {Function} */\n(clojure.set.difference.cljs$lang$applyTo \x3d (function (seq28448){\nvar G__28449 \x3d cljs.core.first(seq28448);\nvar seq28448__$1 \x3d cljs.core.next(seq28448);\nvar G__28450 \x3d cljs.core.first(seq28448__$1);\nvar seq28448__$2 \x3d cljs.core.next(seq28448__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__28449,G__28450,seq28448__$2);\n}));\n\n(clojure.set.difference.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Returns a set of the elements for which pred is true\n */\nclojure.set.select \x3d (function clojure$set$select(pred,xset){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s,k){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(k) : pred.call(null,k)))){\nreturn s;\n} else {\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(s,k);\n}\n}),xset,xset);\n});\n/**\n * Returns a rel of the elements of xrel with only the keys in ks\n */\nclojure.set.project \x3d (function clojure$set$project(xrel,ks){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28466_SHARP_){\nreturn cljs.core.select_keys(p1__28466_SHARP_,ks);\n}),xrel));\n});\n/**\n * Returns the map with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename_keys \x3d (function clojure$set$rename_keys(map,kmap){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,p__28468){\nvar vec__28469 \x3d p__28468;\nvar old \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28469,(0),null);\nvar new$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28469,(1),null);\nif(cljs.core.contains_QMARK_(map,old)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new$,cljs.core.get.cljs$core$IFn$_invoke$arity$2(map,old));\n} else {\nreturn m;\n}\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,map,cljs.core.keys(kmap)),kmap);\n});\n/**\n * Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap\n */\nclojure.set.rename \x3d (function clojure$set$rename(xrel,kmap){\nreturn cljs.core.set(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__28477_SHARP_){\nreturn clojure.set.rename_keys(p1__28477_SHARP_,kmap);\n}),xrel));\n});\n/**\n * Returns a map of the distinct values of ks in the xrel mapped to a\n * set of the maps in xrel with the corresponding values of ks.\n */\nclojure.set.index \x3d (function clojure$set$index(xrel,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,x){\nvar ik \x3d cljs.core.select_keys(x,ks);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(m,ik,cljs.core.PersistentHashSet.EMPTY),x));\n}),cljs.core.PersistentArrayMap.EMPTY,xrel);\n});\n/**\n * Returns the map with the vals mapped to the keys.\n */\nclojure.set.map_invert \x3d (function clojure$set$map_invert(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,v,k);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\n/**\n * When passed 2 rels, returns the rel corresponding to the natural\n * join. When passed an additional keymap, joins on the corresponding\n * keys.\n */\nclojure.set.join \x3d (function clojure$set$join(var_args){\nvar G__28495 \x3d arguments.length;\nswitch (G__28495) {\ncase 2:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.set.join.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$2 \x3d (function (xrel,yrel){\nif(((cljs.core.seq(xrel)) \x26\x26 (cljs.core.seq(yrel)))){\nvar ks \x3d clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(cljs.core.first(xrel))),cljs.core.set(cljs.core.keys(cljs.core.first(yrel))));\nvar vec__28502 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28502,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28502,(1),null);\nvar idx \x3d clojure.set.index(r,ks);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__28508 \x3d cljs.core.select_keys(x,ks);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__28508) : idx.call(null,G__28508));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28486_SHARP_,p2__28487_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28486_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__28487_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n} else {\nreturn cljs.core.PersistentHashSet.EMPTY;\n}\n}));\n\n(clojure.set.join.cljs$core$IFn$_invoke$arity$3 \x3d (function (xrel,yrel,km){\nvar vec__28509 \x3d (((cljs.core.count(xrel) \x3c\x3d cljs.core.count(yrel)))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [xrel,yrel,clojure.set.map_invert(km)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [yrel,xrel,km], null));\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28509,(0),null);\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28509,(1),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28509,(2),null);\nvar idx \x3d clojure.set.index(r,cljs.core.vals(k));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){\nvar found \x3d (function (){var G__28512 \x3d clojure.set.rename_keys(cljs.core.select_keys(x,cljs.core.keys(k)),k);\nreturn (idx.cljs$core$IFn$_invoke$arity$1 ? idx.cljs$core$IFn$_invoke$arity$1(G__28512) : idx.call(null,G__28512));\n})();\nif(cljs.core.truth_(found)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__28488_SHARP_,p2__28489_SHARP_){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__28488_SHARP_,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p2__28489_SHARP_,x], 0)));\n}),ret,found);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,s);\n}));\n\n(clojure.set.join.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Is set1 a subset of set2?\n */\nclojure.set.subset_QMARK_ \x3d (function clojure$set$subset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3c\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__28517_SHARP_){\nreturn cljs.core.contains_QMARK_(set2,p1__28517_SHARP_);\n}),set1)));\n});\n/**\n * Is set1 a superset of set2?\n */\nclojure.set.superset_QMARK_ \x3d (function clojure$set$superset_QMARK_(set1,set2){\nreturn (((cljs.core.count(set1) \x3e\x3d cljs.core.count(set2))) \x26\x26 (cljs.core.every_QMARK_((function (p1__28522_SHARP_){\nreturn cljs.core.contains_QMARK_(set1,p1__28522_SHARP_);\n}),set2)));\n});\n");
SHADOW_ENV.evalLoad("clojure.data.js", true, "goog.provide(\x27clojure.data\x27);\n/**\n * Internal helper for diff.\n */\nclojure.data.atom_diff \x3d (function clojure$data$atom_diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [a,b,null], null);\n}\n});\n/**\n * Convert an associative-by-numeric-index collection into\n * an equivalent vector, with nil for any missing keys\n */\nclojure.data.vectorize \x3d (function clojure$data$vectorize(m){\nif(cljs.core.seq(m)){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,p__28684){\nvar vec__28686 \x3d p__28684;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28686,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28686,(1),null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,k,v);\n}),cljs.core.vec(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.keys(m)),null)),m);\n} else {\nreturn null;\n}\n});\n/**\n * Diff associative things a and b, comparing only the key k.\n */\nclojure.data.diff_associative_key \x3d (function clojure$data$diff_associative_key(a,b,k){\nvar va \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(a,k);\nvar vb \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(b,k);\nvar vec__28692 \x3d clojure.data.diff(va,vb);\nvar a_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28692,(0),null);\nvar b_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28692,(1),null);\nvar ab \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__28692,(2),null);\nvar in_a \x3d cljs.core.contains_QMARK_(a,k);\nvar in_b \x3d cljs.core.contains_QMARK_(b,k);\nvar same \x3d ((in_a) \x26\x26 (((in_b) \x26\x26 ((((!((ab \x3d\x3d null)))) || ((((va \x3d\x3d null)) \x26\x26 ((vb \x3d\x3d null)))))))));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((((in_a) \x26\x26 ((((!((a_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,a_STAR_]):null),((((in_b) \x26\x26 ((((!((b_STAR_ \x3d\x3d null)))) || ((!(same)))))))?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,b_STAR_]):null),((same)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ab]):null)], null);\n});\n/**\n * Diff associative things a and b, comparing only keys in ks (if supplied).\n */\nclojure.data.diff_associative \x3d (function clojure$data$diff_associative(var_args){\nvar G__28713 \x3d arguments.length;\nswitch (G__28713) {\ncase 2:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nreturn clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(a,b,clojure.set.union.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(a),cljs.core.keys(b)));\n}));\n\n(clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,ks){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (diff1,diff2){\nreturn cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.merge,diff1,diff2));\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,null], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$3(clojure.data.diff_associative_key,a,b),ks));\n}));\n\n(clojure.data.diff_associative.cljs$lang$maxFixedArity \x3d 3);\n\nclojure.data.diff_sequential \x3d (function clojure$data$diff_sequential(a,b){\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.data.vectorize,clojure.data.diff_associative.cljs$core$IFn$_invoke$arity$3(((cljs.core.vector_QMARK_(a))?a:cljs.core.vec(a)),((cljs.core.vector_QMARK_(b))?b:cljs.core.vec(b)),cljs.core.range.cljs$core$IFn$_invoke$arity$1((function (){var x__5110__auto__ \x3d cljs.core.count(a);\nvar y__5111__auto__ \x3d cljs.core.count(b);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})()))));\n});\nclojure.data.diff_set \x3d (function clojure$data$diff_set(a,b){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(a,b)),cljs.core.not_empty(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(b,a)),cljs.core.not_empty(clojure.set.intersection.cljs$core$IFn$_invoke$arity$2(a,b))], null);\n});\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.EqualityPartition \x3d function(){};\n\nvar clojure$data$EqualityPartition$equality_partition$dyn_28915 \x3d (function (x){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (clojure.data.equality_partition[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5374__auto__.call(null,x));\n} else {\nvar m__5372__auto__ \x3d (clojure.data.equality_partition[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__5372__auto__.call(null,x));\n} else {\nthrow cljs.core.missing_protocol(\x22EqualityPartition.equality-partition\x22,x);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.equality_partition \x3d (function clojure$data$equality_partition(x){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.clojure$data$EqualityPartition$equality_partition$arity$1 \x3d\x3d null)))))){\nreturn x.clojure$data$EqualityPartition$equality_partition$arity$1(x);\n} else {\nreturn clojure$data$EqualityPartition$equality_partition$dyn_28915(x);\n}\n});\n\n\n/**\n * Implementation detail. Subject to change.\n * @interface\n */\nclojure.data.Diff \x3d function(){};\n\nvar clojure$data$Diff$diff_similar$dyn_28930 \x3d (function (a,b){\nvar x__5373__auto__ \x3d (((a \x3d\x3d null))?null:a);\nvar m__5374__auto__ \x3d (clojure.data.diff_similar[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5374__auto__.call(null,a,b));\n} else {\nvar m__5372__auto__ \x3d (clojure.data.diff_similar[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(a,b) : m__5372__auto__.call(null,a,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Diff.diff-similar\x22,a);\n}\n}\n});\n/**\n * Implementation detail. Subject to change.\n */\nclojure.data.diff_similar \x3d (function clojure$data$diff_similar(a,b){\nif((((!((a \x3d\x3d null)))) \x26\x26 ((!((a.clojure$data$Diff$diff_similar$arity$2 \x3d\x3d null)))))){\nreturn a.clojure$data$Diff$diff_similar$arity$2(a,b);\n} else {\nreturn clojure$data$Diff$diff_similar$dyn_28930(a,b);\n}\n});\n\n(clojure.data.EqualityPartition[\x22null\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22null\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22string\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22string\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22number\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22number\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22array\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22array\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n}));\n\n(clojure.data.EqualityPartition[\x22function\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22function\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22boolean\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22boolean\x22] \x3d (function (x){\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n}));\n\n(clojure.data.EqualityPartition[\x22_\x22] \x3d true);\n\n(clojure.data.equality_partition[\x22_\x22] \x3d (function (x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMap$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x))){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISet$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x))){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$ISequential$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x))){\nreturn new cljs.core.Keyword(null,\x22sequential\x22,\x22sequential\x22,-1082983960);\n} else {\nreturn new cljs.core.Keyword(null,\x22atom\x22,\x22atom\x22,-397043653);\n\n}\n}\n}\n}));\n(clojure.data.Diff[\x22null\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22null\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22string\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22string\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22number\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22number\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22array\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22array\x22] \x3d (function (a,b){\nreturn clojure.data.diff_sequential(a,b);\n}));\n\n(clojure.data.Diff[\x22function\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22function\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22boolean\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22boolean\x22] \x3d (function (a,b){\nreturn clojure.data.atom_diff(a,b);\n}));\n\n(clojure.data.Diff[\x22_\x22] \x3d true);\n\n(clojure.data.diff_similar[\x22_\x22] \x3d (function (a,b){\nvar fexpr__28849 \x3d (function (){var G__28850 \x3d clojure.data.equality_partition(a);\nvar G__28850__$1 \x3d (((G__28850 instanceof cljs.core.Keyword))?G__28850.fqn:null);\nswitch (G__28850__$1) {\ncase \x22atom\x22:\nreturn clojure.data.atom_diff;\n\nbreak;\ncase \x22set\x22:\nreturn clojure.data.diff_set;\n\nbreak;\ncase \x22sequential\x22:\nreturn clojure.data.diff_sequential;\n\nbreak;\ncase \x22map\x22:\nreturn clojure.data.diff_associative;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__28850__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (fexpr__28849.cljs$core$IFn$_invoke$arity$2 ? fexpr__28849.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__28849.call(null,a,b));\n}));\n/**\n * Recursively compares a and b, returning a tuple of\n * [things-only-in-a things-only-in-b things-in-both].\n * Comparison rules:\n * \n * * For equal a and b, return [nil nil a].\n * * Maps are subdiffed where keys match and values differ.\n * * Sets are never subdiffed.\n * * All sequential things are treated as associative collections\n * by their indexes, with results returned as vectors.\n * * Everything else (including strings!) is treated as\n * an atom and compared for equality.\n */\nclojure.data.diff \x3d (function clojure$data$diff(a,b){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a,b)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,a], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clojure.data.equality_partition(a),clojure.data.equality_partition(b))){\nreturn clojure.data.diff_similar(a,b);\n} else {\nreturn clojure.data.atom_diff(a,b);\n}\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.version.js", true, "goog.provide(\x27devtools.version\x27);\ndevtools.version.current_version \x3d \x221.0.7\x22;\ndevtools.version.get_current_version \x3d (function devtools$version$get_current_version(){\nreturn devtools.version.current_version;\n});\n");
SHADOW_ENV.evalLoad("cljs.pprint.js", true, "goog.provide(\x27cljs.pprint\x27);\ncljs.pprint.print \x3d (function cljs$pprint$print(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31323 \x3d arguments.length;\nvar i__5750__auto___31324 \x3d (0);\nwhile(true){\nif((i__5750__auto___31324 \x3c len__5749__auto___31323)){\nargs__5755__auto__.push((arguments[i__5750__auto___31324]));\n\nvar G__31325 \x3d (i__5750__auto___31324 + (1));\ni__5750__auto___31324 \x3d G__31325;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,more));\n}));\n\n(cljs.pprint.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.print.cljs$lang$applyTo \x3d (function (seq28955){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28955));\n}));\n\ncljs.pprint.println \x3d (function cljs$pprint$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31326 \x3d arguments.length;\nvar i__5750__auto___31327 \x3d (0);\nwhile(true){\nif((i__5750__auto___31327 \x3c len__5749__auto___31326)){\nargs__5755__auto__.push((arguments[i__5750__auto___31327]));\n\nvar G__31328 \x3d (i__5750__auto___31327 + (1));\ni__5750__auto___31327 \x3d G__31328;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.print,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.println.cljs$lang$applyTo \x3d (function (seq28970){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq28970));\n}));\n\ncljs.pprint.print_char \x3d (function cljs$pprint$print_char(c){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,(function (){var pred__28987 \x3d cljs.core._EQ_;\nvar expr__28988 \x3d c;\nif(cljs.core.truth_((function (){var G__28990 \x3d \x22\\b\x22;\nvar G__28991 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__28990,G__28991) : pred__28987.call(null,G__28990,G__28991));\n})())){\nreturn \x22\\\\backspace\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28992 \x3d \x22 \x22;\nvar G__28993 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__28992,G__28993) : pred__28987.call(null,G__28992,G__28993));\n})())){\nreturn \x22\\\\space\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28994 \x3d \x22\\t\x22;\nvar G__28995 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__28994,G__28995) : pred__28987.call(null,G__28994,G__28995));\n})())){\nreturn \x22\\\\tab\x22;\n} else {\nif(cljs.core.truth_((function (){var G__28998 \x3d \x22\\n\x22;\nvar G__28999 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__28998,G__28999) : pred__28987.call(null,G__28998,G__28999));\n})())){\nreturn \x22\\\\newline\x22;\n} else {\nif(cljs.core.truth_((function (){var G__29001 \x3d \x22\\f\x22;\nvar G__29002 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__29001,G__29002) : pred__28987.call(null,G__29001,G__29002));\n})())){\nreturn \x22\\\\formfeed\x22;\n} else {\nif(cljs.core.truth_((function (){var G__29004 \x3d \x22\\r\x22;\nvar G__29005 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__29004,G__29005) : pred__28987.call(null,G__29004,G__29005));\n})())){\nreturn \x22\\\\return\x22;\n} else {\nif(cljs.core.truth_((function (){var G__29006 \x3d \x22\\\x22\x22;\nvar G__29007 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__29006,G__29007) : pred__28987.call(null,G__29006,G__29007));\n})())){\nreturn \x22\\\\\\\x22\x22;\n} else {\nif(cljs.core.truth_((function (){var G__29008 \x3d \x22\\\\\x22;\nvar G__29009 \x3d expr__28988;\nreturn (pred__28987.cljs$core$IFn$_invoke$arity$2 ? pred__28987.cljs$core$IFn$_invoke$arity$2(G__29008,G__29009) : pred__28987.call(null,G__29008,G__29009));\n})())){\nreturn \x22\\\\\\\\\x22;\n} else {\nreturn [\x22\\\\\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c)].join(\x27\x27);\n}\n}\n}\n}\n}\n}\n}\n}\n})());\n});\ncljs.pprint.pr \x3d (function cljs$pprint$pr(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31336 \x3d arguments.length;\nvar i__5750__auto___31337 \x3d (0);\nwhile(true){\nif((i__5750__auto___31337 \x3c len__5749__auto___31336)){\nargs__5755__auto__.push((arguments[i__5750__auto___31337]));\n\nvar G__31338 \x3d (i__5750__auto___31337 + (1));\ni__5750__auto___31337 \x3d G__31338;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,more));\n}));\n\n(cljs.pprint.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.pr.cljs$lang$applyTo \x3d (function (seq29014){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29014));\n}));\n\ncljs.pprint.prn \x3d (function cljs$pprint$prn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31339 \x3d arguments.length;\nvar i__5750__auto___31340 \x3d (0);\nwhile(true){\nif((i__5750__auto___31340 \x3c len__5749__auto___31339)){\nargs__5755__auto__.push((arguments[i__5750__auto___31340]));\n\nvar G__31341 \x3d (i__5750__auto___31340 + (1));\ni__5750__auto___31340 \x3d G__31341;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.pprint.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (more){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pr,more);\n\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n}));\n\n(cljs.pprint.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.pprint.prn.cljs$lang$applyTo \x3d (function (seq29023){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29023));\n}));\n\n/**\n * Returns true if n is an float.\n */\ncljs.pprint.float_QMARK_ \x3d (function cljs$pprint$float_QMARK_(n){\nreturn ((typeof n \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((!(isNaN(n)))) \x26\x26 ((((!((n \x3d\x3d\x3d Infinity)))) \x26\x26 ((!((parseFloat(n) \x3d\x3d\x3d parseInt(n,(10)))))))))));\n});\n/**\n * Convert char to int\n */\ncljs.pprint.char_code \x3d (function cljs$pprint$char_code(c){\nif(typeof c \x3d\x3d\x3d \x27number\x27){\nreturn c;\n} else {\nif(((typeof c \x3d\x3d\x3d \x27string\x27) \x26\x26 ((c.length \x3d\x3d\x3d (1))))){\nreturn c.charCodeAt((0));\n} else {\nthrow (new Error(\x22Argument to char must be a character or number\x22));\n\n}\n}\n});\ncljs.pprint.map_passing_context \x3d (function cljs$pprint$map_passing_context(func,initial_context,lis){\nvar context \x3d initial_context;\nvar lis__$1 \x3d lis;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(lis__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar this$ \x3d cljs.core.first(lis__$1);\nvar remainder \x3d cljs.core.next(lis__$1);\nvar vec__29055 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29055,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29055,(1),null);\nvar G__31345 \x3d new_context;\nvar G__31346 \x3d remainder;\nvar G__31347 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__31345;\nlis__$1 \x3d G__31346;\nacc \x3d G__31347;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume \x3d (function cljs$pprint$consume(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__29067 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29067,(0),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29067,(1),null);\nif(cljs.core.not(result)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,new_context], null);\n} else {\nvar G__31349 \x3d new_context;\nvar G__31350 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__31349;\nacc \x3d G__31350;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.consume_while \x3d (function cljs$pprint$consume_while(func,initial_context){\nvar context \x3d initial_context;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar vec__29089 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(func,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [context], null));\nvar result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29089,(0),null);\nvar continue$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29089,(1),null);\nvar new_context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29089,(2),null);\nif(cljs.core.not(continue$)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,context], null);\n} else {\nvar G__31351 \x3d new_context;\nvar G__31352 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result);\ncontext \x3d G__31351;\nacc \x3d G__31352;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.unzip_map \x3d (function cljs$pprint$unzip_map(m){\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__29109(s__29110){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29110__$1 \x3d s__29110;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__29110__$1);\nif(temp__5823__auto__){\nvar s__29110__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__29110__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__29110__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__29117 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__29116 \x3d (0);\nwhile(true){\nif((i__29116 \x3c size__5502__auto__)){\nvar vec__29128 \x3d cljs.core._nth(c__5501__auto__,i__29116);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29128,(0),null);\nvar vec__29131 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29128,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29131,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29131,(1),null);\ncljs.core.chunk_append(b__29117,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null));\n\nvar G__31353 \x3d (i__29116 + (1));\ni__29116 \x3d G__31353;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29117),cljs$pprint$unzip_map_$_iter__29109(cljs.core.chunk_rest(s__29110__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29117),null);\n}\n} else {\nvar vec__29140 \x3d cljs.core.first(s__29110__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29140,(0),null);\nvar vec__29143 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29140,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29143,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29143,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v1], null),cljs$pprint$unzip_map_$_iter__29109(cljs.core.rest(s__29110__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(m);\n})()),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$unzip_map_$_iter__29149(s__29150){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29150__$1 \x3d s__29150;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__29150__$1);\nif(temp__5823__auto__){\nvar s__29150__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__29150__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__29150__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__29152 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__29151 \x3d (0);\nwhile(true){\nif((i__29151 \x3c size__5502__auto__)){\nvar vec__29160 \x3d cljs.core._nth(c__5501__auto__,i__29151);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29160,(0),null);\nvar vec__29163 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29160,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29163,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29163,(1),null);\ncljs.core.chunk_append(b__29152,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null));\n\nvar G__31354 \x3d (i__29151 + (1));\ni__29151 \x3d G__31354;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29152),cljs$pprint$unzip_map_$_iter__29149(cljs.core.chunk_rest(s__29150__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29152),null);\n}\n} else {\nvar vec__29169 \x3d cljs.core.first(s__29150__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29169,(0),null);\nvar vec__29172 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29169,(1),null);\nvar v1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29172,(0),null);\nvar v2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29172,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v2], null),cljs$pprint$unzip_map_$_iter__29149(cljs.core.rest(s__29150__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(m);\n})())], null);\n});\ncljs.pprint.tuple_map \x3d (function cljs$pprint$tuple_map(m,v1){\n\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$tuple_map_$_iter__29186(s__29187){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__29187__$1 \x3d s__29187;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__29187__$1);\nif(temp__5823__auto__){\nvar s__29187__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__29187__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__29187__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__29189 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__29188 \x3d (0);\nwhile(true){\nif((i__29188 \x3c size__5502__auto__)){\nvar vec__29197 \x3d cljs.core._nth(c__5501__auto__,i__29188);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29197,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29197,(1),null);\ncljs.core.chunk_append(b__29189,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null));\n\nvar G__31356 \x3d (i__29188 + (1));\ni__29188 \x3d G__31356;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29189),cljs$pprint$tuple_map_$_iter__29186(cljs.core.chunk_rest(s__29187__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__29189),null);\n}\n} else {\nvar vec__29204 \x3d cljs.core.first(s__29187__$2);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29204,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29204,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,v1], null)], null),cljs$pprint$tuple_map_$_iter__29186(cljs.core.rest(s__29187__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(m);\n})());\n});\ncljs.pprint.rtrim \x3d (function cljs$pprint$rtrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1))),c)))){\nvar n \x3d (len - (1));\nwhile(true){\nif((n \x3c (0))){\nreturn \x22\x22;\n} else {\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(n + (1)));\n} else {\nvar G__31357 \x3d (n - (1));\nn \x3d G__31357;\ncontinue;\n\n}\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.ltrim \x3d (function cljs$pprint$ltrim(s,c){\n\nvar len \x3d cljs.core.count(s);\nif((((len \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(0)),c)))){\nvar n \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(n,len)) || ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,n),c)))))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,n);\n} else {\nvar G__31358 \x3d (n + (1));\nn \x3d G__31358;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn s;\n}\n});\ncljs.pprint.prefix_count \x3d (function cljs$pprint$prefix_count(aseq,val){\n\nvar test \x3d ((cljs.core.coll_QMARK_(val))?cljs.core.set(val):cljs.core.PersistentHashSet.createAsIfByAssoc([val]));\nvar pos \x3d (0);\nwhile(true){\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pos,cljs.core.count(aseq))) || (cljs.core.not((function (){var G__29243 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(aseq,pos);\nreturn (test.cljs$core$IFn$_invoke$arity$1 ? test.cljs$core$IFn$_invoke$arity$1(G__29243) : test.call(null,G__29243));\n})())))){\nreturn pos;\n} else {\nvar G__31359 \x3d (pos + (1));\npos \x3d G__31359;\ncontinue;\n}\nbreak;\n}\n});\n\n/**\n * @interface\n */\ncljs.pprint.IPrettyFlush \x3d function(){};\n\nvar cljs$pprint$IPrettyFlush$_ppflush$dyn_31360 \x3d (function (pp){\nvar x__5373__auto__ \x3d (((pp \x3d\x3d null))?null:pp);\nvar m__5374__auto__ \x3d (cljs.pprint._ppflush[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5374__auto__.call(null,pp));\n} else {\nvar m__5372__auto__ \x3d (cljs.pprint._ppflush[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(pp) : m__5372__auto__.call(null,pp));\n} else {\nthrow cljs.core.missing_protocol(\x22IPrettyFlush.-ppflush\x22,pp);\n}\n}\n});\ncljs.pprint._ppflush \x3d (function cljs$pprint$_ppflush(pp){\nif((((!((pp \x3d\x3d null)))) \x26\x26 ((!((pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d\x3d null)))))){\nreturn pp.cljs$pprint$IPrettyFlush$_ppflush$arity$1(pp);\n} else {\nreturn cljs$pprint$IPrettyFlush$_ppflush$dyn_31360(pp);\n}\n});\n\ncljs.pprint._STAR_default_page_width_STAR_ \x3d (72);\ncljs.pprint.get_field \x3d (function cljs$pprint$get_field(this$,sym){\nvar G__29268 \x3d cljs.core.deref(cljs.core.deref(this$));\nreturn (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(G__29268) : sym.call(null,G__29268));\n});\ncljs.pprint.set_field \x3d (function cljs$pprint$set_field(this$,sym,new_val){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,sym,new_val);\n});\ncljs.pprint.get_column \x3d (function cljs$pprint$get_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599));\n});\ncljs.pprint.get_line \x3d (function cljs$pprint$get_line(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\n});\ncljs.pprint.get_max_column \x3d (function cljs$pprint$get_max_column(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548));\n});\ncljs.pprint.set_max_column \x3d (function cljs$pprint$set_max_column(this$,new_max){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),new_max);\n\nreturn null;\n});\ncljs.pprint.get_writer \x3d (function cljs$pprint$get_writer(this$){\nreturn cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322));\n});\ncljs.pprint.c_write_char \x3d (function cljs$pprint$c_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0));\n\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + (1)));\n} else {\ncljs.pprint.set_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + (1)));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),c);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint29349 \x3d (function (writer,max_columns,fields,meta29350){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.fields \x3d fields;\nthis.meta29350 \x3d meta29350;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint29349.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_29351,meta29350__$1){\nvar self__ \x3d this;\nvar _29351__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint29349(self__.writer,self__.max_columns,self__.fields,meta29350__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint29349.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_29351){\nvar self__ \x3d this;\nvar _29351__$1 \x3d this;\nreturn self__.meta29350;\n}));\n\n(cljs.pprint.t_cljs$pprint29349.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint29349.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint29349.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__29373 \x3d cljs.core._EQ_;\nvar expr__29374 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__29373.cljs$core$IFn$_invoke$arity$2 ? pred__29373.cljs$core$IFn$_invoke$arity$2(String,expr__29374) : pred__29373.call(null,String,expr__29374)))){\nvar s \x3d x;\nvar nl \x3d s.lastIndexOf(\x22\\n\x22);\nif((nl \x3c (0))){\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599)) + cljs.core.count(s)));\n} else {\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),((cljs.core.count(s) - nl) - (1)));\n\ncljs.pprint.set_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235)) + cljs.core.count(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__29332_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p1__29332_SHARP_,\x22\\n\x22);\n}),s))));\n}\n\nreturn cljs.core._write(cljs.pprint.get_field(this$__$1,new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322)),s);\n} else {\nif(cljs.core.truth_((pred__29373.cljs$core$IFn$_invoke$arity$2 ? pred__29373.cljs$core$IFn$_invoke$arity$2(Number,expr__29374) : pred__29373.call(null,Number,expr__29374)))){\nreturn cljs.pprint.c_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29374)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint29349.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta29350\x22,\x22meta29350\x22,-675354350,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint29349.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint29349.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint29349\x22);\n\n(cljs.pprint.t_cljs$pprint29349.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint29349\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint29349.\n */\ncljs.pprint.__GT_t_cljs$pprint29349 \x3d (function cljs$pprint$__GT_t_cljs$pprint29349(writer,max_columns,fields,meta29350){\nreturn (new cljs.pprint.t_cljs$pprint29349(writer,max_columns,fields,meta29350));\n});\n\n\ncljs.pprint.column_writer \x3d (function cljs$pprint$column_writer(var_args){\nvar G__29338 \x3d arguments.length;\nswitch (G__29338) {\ncase 1:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (writer){\nreturn cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,cljs.pprint._STAR_default_page_width_STAR_);\n}));\n\n(cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (writer,max_columns){\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),max_columns,new cljs.core.Keyword(null,\x22cur\x22,\x22cur\x22,1153190599),(0),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(0),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),writer], null));\nreturn (new cljs.pprint.t_cljs$pprint29349(writer,max_columns,fields,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.pprint.column_writer.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.logical_block \x3d (function (parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,__meta,__extmap,__hash){\nthis.parent \x3d parent;\nthis.section \x3d section;\nthis.start_col \x3d start_col;\nthis.indent \x3d indent;\nthis.done_nl \x3d done_nl;\nthis.intra_block_nl \x3d intra_block_nl;\nthis.prefix \x3d prefix;\nthis.per_line_prefix \x3d per_line_prefix;\nthis.suffix \x3d suffix;\nthis.logical_block_callback \x3d logical_block_callback;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29440,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29476 \x3d k29440;\nvar G__29476__$1 \x3d (((G__29476 instanceof cljs.core.Keyword))?G__29476.fqn:null);\nswitch (G__29476__$1) {\ncase \x22parent\x22:\nreturn self__.parent;\n\nbreak;\ncase \x22section\x22:\nreturn self__.section;\n\nbreak;\ncase \x22start-col\x22:\nreturn self__.start_col;\n\nbreak;\ncase \x22indent\x22:\nreturn self__.indent;\n\nbreak;\ncase \x22done-nl\x22:\nreturn self__.done_nl;\n\nbreak;\ncase \x22intra-block-nl\x22:\nreturn self__.intra_block_nl;\n\nbreak;\ncase \x22prefix\x22:\nreturn self__.prefix;\n\nbreak;\ncase \x22per-line-prefix\x22:\nreturn self__.per_line_prefix;\n\nbreak;\ncase \x22suffix\x22:\nreturn self__.suffix;\n\nbreak;\ncase \x22logical-block-callback\x22:\nreturn self__.logical_block_callback;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29440,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29484){\nvar vec__29486 \x3d p__29484;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29486,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29486,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.logical-block{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29439){\nvar self__ \x3d this;\nvar G__29439__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29439__$1,10,new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (10 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1977012399 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29443,other29444){\nvar self__ \x3d this;\nvar this29443__$1 \x3d this;\nreturn (((!((other29444 \x3d\x3d null)))) \x26\x26 ((((this29443__$1.constructor \x3d\x3d\x3d other29444.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.parent,other29444.parent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.section,other29444.section)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.start_col,other29444.start_col)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.indent,other29444.indent)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.done_nl,other29444.done_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.intra_block_nl,other29444.intra_block_nl)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.prefix,other29444.prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.per_line_prefix,other29444.per_line_prefix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.suffix,other29444.suffix)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.logical_block_callback,other29444.logical_block_callback)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29443__$1.__extmap,other29444.__extmap)))))))))))))))))))))))));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 10, [new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29440){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29556 \x3d k29440;\nvar G__29556__$1 \x3d (((G__29556 instanceof cljs.core.Keyword))?G__29556.fqn:null);\nswitch (G__29556__$1) {\ncase \x22parent\x22:\ncase \x22section\x22:\ncase \x22start-col\x22:\ncase \x22indent\x22:\ncase \x22done-nl\x22:\ncase \x22intra-block-nl\x22:\ncase \x22prefix\x22:\ncase \x22per-line-prefix\x22:\ncase \x22suffix\x22:\ncase \x22logical-block-callback\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29440);\n\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29439){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29560 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29561 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),expr__29561)))){\nreturn (new cljs.pprint.logical_block(G__29439,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,G__29439,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,G__29439,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,G__29439,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,G__29439,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,G__29439,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,G__29439,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,G__29439,self__.suffix,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,G__29439,self__.logical_block_callback,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29560.cljs$core$IFn$_invoke$arity$2 ? pred__29560.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__29561) : pred__29560.call(null,new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),expr__29561)))){\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,G__29439,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29439),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),self__.parent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),self__.section,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),self__.start_col,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),self__.indent,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),self__.done_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),self__.intra_block_nl,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),self__.prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),self__.per_line_prefix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),self__.suffix,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194),self__.logical_block_callback,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29439){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.logical_block(self__.parent,self__.section,self__.start_col,self__.indent,self__.done_nl,self__.intra_block_nl,self__.prefix,self__.per_line_prefix,self__.suffix,self__.logical_block_callback,G__29439,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.logical_block.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.logical_block.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22parent\x22,\x22parent\x22,761652748,null),new cljs.core.Symbol(null,\x22section\x22,\x22section\x22,1340390001,null),new cljs.core.Symbol(null,\x22start-col\x22,\x22start-col\x22,-1986355626,null),new cljs.core.Symbol(null,\x22indent\x22,\x22indent\x22,1492331402,null),new cljs.core.Symbol(null,\x22done-nl\x22,\x22done-nl\x22,1259507187,null),new cljs.core.Symbol(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,-845608894,null),new cljs.core.Symbol(null,\x22prefix\x22,\x22prefix\x22,1374623062,null),new cljs.core.Symbol(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,-1807493956,null),new cljs.core.Symbol(null,\x22suffix\x22,\x22suffix\x22,2007904584,null),new cljs.core.Symbol(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,-1041744575,null)], null);\n}));\n\n(cljs.pprint.logical_block.cljs$lang$type \x3d true);\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/logical-block\x22,null,(1),null));\n}));\n\n(cljs.pprint.logical_block.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/logical-block\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/logical-block.\n */\ncljs.pprint.__GT_logical_block \x3d (function cljs$pprint$__GT_logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback){\nreturn (new cljs.pprint.logical_block(parent,section,start_col,indent,done_nl,intra_block_nl,prefix,per_line_prefix,suffix,logical_block_callback,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/logical-block, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_logical_block \x3d (function cljs$pprint$map__GT_logical_block(G__29463){\nvar extmap__5365__auto__ \x3d (function (){var G__29588 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29463,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194)], 0));\nif(cljs.core.record_QMARK_(G__29463)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29588);\n} else {\nreturn G__29588;\n}\n})();\nreturn (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(G__29463),new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(G__29463),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\ncljs.pprint.ancestor_QMARK_ \x3d (function cljs$pprint$ancestor_QMARK_(parent,child){\nvar child__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child);\nwhile(true){\nif((child__$1 \x3d\x3d null)){\nreturn false;\n} else {\nif((parent \x3d\x3d\x3d child__$1)){\nreturn true;\n} else {\nvar G__31422 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(child__$1);\nchild__$1 \x3d G__31422;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.buffer_length \x3d (function cljs$pprint$buffer_length(l){\nvar l__$1 \x3d cljs.core.seq(l);\nif(l__$1){\nreturn (new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(cljs.core.last(l__$1)) - new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(cljs.core.first(l__$1)));\n} else {\nreturn (0);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.buffer_blob \x3d (function (type_tag,data,trailing_white_space,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.data \x3d data;\nthis.trailing_white_space \x3d trailing_white_space;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29638,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29656 \x3d k29638;\nvar G__29656__$1 \x3d (((G__29656 instanceof cljs.core.Keyword))?G__29656.fqn:null);\nswitch (G__29656__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22data\x22:\nreturn self__.data;\n\nbreak;\ncase \x22trailing-white-space\x22:\nreturn self__.trailing_white_space;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29638,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29670){\nvar vec__29672 \x3d p__29670;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29672,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29672,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.buffer-blob{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29637){\nvar self__ \x3d this;\nvar G__29637__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29637__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1809113693 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29639,other29640){\nvar self__ \x3d this;\nvar this29639__$1 \x3d this;\nreturn (((!((other29640 \x3d\x3d null)))) \x26\x26 ((((this29639__$1.constructor \x3d\x3d\x3d other29640.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29639__$1.type_tag,other29640.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29639__$1.data,other29640.data)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29639__$1.trailing_white_space,other29640.trailing_white_space)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29639__$1.start_pos,other29640.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29639__$1.end_pos,other29640.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29639__$1.__extmap,other29640.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29638){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29699 \x3d k29638;\nvar G__29699__$1 \x3d (((G__29699 instanceof cljs.core.Keyword))?G__29699.fqn:null);\nswitch (G__29699__$1) {\ncase \x22type-tag\x22:\ncase \x22data\x22:\ncase \x22trailing-white-space\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29638);\n\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29637){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29701 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29702 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29701.cljs$core$IFn$_invoke$arity$2 ? pred__29701.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29702) : pred__29701.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29702)))){\nreturn (new cljs.pprint.buffer_blob(G__29637,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29701.cljs$core$IFn$_invoke$arity$2 ? pred__29701.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__29702) : pred__29701.call(null,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),expr__29702)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,G__29637,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29701.cljs$core$IFn$_invoke$arity$2 ? pred__29701.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__29702) : pred__29701.call(null,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),expr__29702)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,G__29637,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29701.cljs$core$IFn$_invoke$arity$2 ? pred__29701.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29702) : pred__29701.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29702)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,G__29637,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29701.cljs$core$IFn$_invoke$arity$2 ? pred__29701.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29702) : pred__29701.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29702)))){\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,G__29637,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29637),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),self__.data,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),self__.trailing_white_space,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29637){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.buffer_blob(self__.type_tag,self__.data,self__.trailing_white_space,self__.start_pos,self__.end_pos,G__29637,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.buffer_blob.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.buffer_blob.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.Symbol(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,-1158428773,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$type \x3d true);\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/buffer-blob\x22,null,(1),null));\n}));\n\n(cljs.pprint.buffer_blob.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/buffer-blob\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/buffer-blob.\n */\ncljs.pprint.__GT_buffer_blob \x3d (function cljs$pprint$__GT_buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(type_tag,data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/buffer-blob, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_buffer_blob \x3d (function cljs$pprint$map__GT_buffer_blob(G__29643){\nvar extmap__5365__auto__ \x3d (function (){var G__29711 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29643,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29643)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29711);\n} else {\nreturn G__29711;\n}\n})();\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29643),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(G__29643),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(G__29643),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29643),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29643),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_buffer_blob \x3d (function cljs$pprint$make_buffer_blob(data,trailing_white_space,start_pos,end_pos){\nreturn (new cljs.pprint.buffer_blob(new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),data,trailing_white_space,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.buffer_blob_QMARK_ \x3d (function cljs$pprint$buffer_blob_QMARK_(x__28760__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28760__auto__),new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.nl_t \x3d (function (type_tag,type,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.type \x3d type;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29716,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29733 \x3d k29716;\nvar G__29733__$1 \x3d (((G__29733 instanceof cljs.core.Keyword))?G__29733.fqn:null);\nswitch (G__29733__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22type\x22:\nreturn self__.type;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29716,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29743){\nvar vec__29746 \x3d p__29743;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29746,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29746,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.nl-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29715){\nvar self__ \x3d this;\nvar G__29715__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29715__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1640656800 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29717,other29718){\nvar self__ \x3d this;\nvar this29717__$1 \x3d this;\nreturn (((!((other29718 \x3d\x3d null)))) \x26\x26 ((((this29717__$1.constructor \x3d\x3d\x3d other29718.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29717__$1.type_tag,other29718.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29717__$1.type,other29718.type)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29717__$1.logical_block,other29718.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29717__$1.start_pos,other29718.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29717__$1.end_pos,other29718.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29717__$1.__extmap,other29718.__extmap)))))))))))))));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29716){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29765 \x3d k29716;\nvar G__29765__$1 \x3d (((G__29765 instanceof cljs.core.Keyword))?G__29765.fqn:null);\nswitch (G__29765__$1) {\ncase \x22type-tag\x22:\ncase \x22type\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29716);\n\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29715){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29767 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29768 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29767.cljs$core$IFn$_invoke$arity$2 ? pred__29767.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29768) : pred__29767.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29768)))){\nreturn (new cljs.pprint.nl_t(G__29715,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29767.cljs$core$IFn$_invoke$arity$2 ? pred__29767.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__29768) : pred__29767.call(null,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),expr__29768)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,G__29715,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29767.cljs$core$IFn$_invoke$arity$2 ? pred__29767.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29768) : pred__29767.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29768)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,G__29715,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29767.cljs$core$IFn$_invoke$arity$2 ? pred__29767.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29768) : pred__29767.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29768)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,G__29715,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29767.cljs$core$IFn$_invoke$arity$2 ? pred__29767.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29768) : pred__29767.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29768)))){\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,G__29715,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29715),null));\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),self__.type,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29715){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.nl_t(self__.type_tag,self__.type,self__.logical_block,self__.start_pos,self__.end_pos,G__29715,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.nl_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.nl_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.nl_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/nl-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.nl_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/nl-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/nl-t.\n */\ncljs.pprint.__GT_nl_t \x3d (function cljs$pprint$__GT_nl_t(type_tag,type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(type_tag,type,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/nl-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_nl_t \x3d (function cljs$pprint$map__GT_nl_t(G__29726){\nvar extmap__5365__auto__ \x3d (function (){var G__29783 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29726,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29726)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29783);\n} else {\nreturn G__29783;\n}\n})();\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29726),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__29726),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29726),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29726),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29726),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_nl_t \x3d (function cljs$pprint$make_nl_t(type,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.nl_t(new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),type,logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.nl_t_QMARK_ \x3d (function cljs$pprint$nl_t_QMARK_(x__28760__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28760__auto__),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.start_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29785,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29789 \x3d k29785;\nvar G__29789__$1 \x3d (((G__29789 instanceof cljs.core.Keyword))?G__29789.fqn:null);\nswitch (G__29789__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29785,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29790){\nvar vec__29791 \x3d p__29790;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29791,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29791,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.start-block-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29784){\nvar self__ \x3d this;\nvar G__29784__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29784__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-414877272 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29786,other29787){\nvar self__ \x3d this;\nvar this29786__$1 \x3d this;\nreturn (((!((other29787 \x3d\x3d null)))) \x26\x26 ((((this29786__$1.constructor \x3d\x3d\x3d other29787.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29786__$1.type_tag,other29787.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29786__$1.logical_block,other29787.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29786__$1.start_pos,other29787.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29786__$1.end_pos,other29787.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29786__$1.__extmap,other29787.__extmap)))))))))))));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29785){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29809 \x3d k29785;\nvar G__29809__$1 \x3d (((G__29809 instanceof cljs.core.Keyword))?G__29809.fqn:null);\nswitch (G__29809__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29785);\n\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29784){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29810 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29811 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29810.cljs$core$IFn$_invoke$arity$2 ? pred__29810.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29811) : pred__29810.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29811)))){\nreturn (new cljs.pprint.start_block_t(G__29784,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29810.cljs$core$IFn$_invoke$arity$2 ? pred__29810.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29811) : pred__29810.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29811)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,G__29784,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29810.cljs$core$IFn$_invoke$arity$2 ? pred__29810.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29811) : pred__29810.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29811)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,G__29784,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29810.cljs$core$IFn$_invoke$arity$2 ? pred__29810.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29811) : pred__29810.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29811)))){\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__29784,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29784),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29784){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.start_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__29784,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.start_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.start_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/start-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.start_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/start-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/start-block-t.\n */\ncljs.pprint.__GT_start_block_t \x3d (function cljs$pprint$__GT_start_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/start-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_start_block_t \x3d (function cljs$pprint$map__GT_start_block_t(G__29788){\nvar extmap__5365__auto__ \x3d (function (){var G__29818 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29788,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29788)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29818);\n} else {\nreturn G__29818;\n}\n})();\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29788),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29788),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29788),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29788),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_start_block_t \x3d (function cljs$pprint$make_start_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.start_block_t(new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.start_block_t_QMARK_ \x3d (function cljs$pprint$start_block_t_QMARK_(x__28760__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28760__auto__),new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.end_block_t \x3d (function (type_tag,logical_block,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29834,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29849 \x3d k29834;\nvar G__29849__$1 \x3d (((G__29849 instanceof cljs.core.Keyword))?G__29849.fqn:null);\nswitch (G__29849__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29834,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29850){\nvar vec__29851 \x3d p__29850;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29851,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29851,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.end-block-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29833){\nvar self__ \x3d this;\nvar G__29833__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29833__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1365867980 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29835,other29836){\nvar self__ \x3d this;\nvar this29835__$1 \x3d this;\nreturn (((!((other29836 \x3d\x3d null)))) \x26\x26 ((((this29835__$1.constructor \x3d\x3d\x3d other29836.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29835__$1.type_tag,other29836.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29835__$1.logical_block,other29836.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29835__$1.start_pos,other29836.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29835__$1.end_pos,other29836.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29835__$1.__extmap,other29836.__extmap)))))))))))));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29834){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29872 \x3d k29834;\nvar G__29872__$1 \x3d (((G__29872 instanceof cljs.core.Keyword))?G__29872.fqn:null);\nswitch (G__29872__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29834);\n\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29833){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29876 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29877 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29876.cljs$core$IFn$_invoke$arity$2 ? pred__29876.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29877) : pred__29876.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29877)))){\nreturn (new cljs.pprint.end_block_t(G__29833,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29876.cljs$core$IFn$_invoke$arity$2 ? pred__29876.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29877) : pred__29876.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29877)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,G__29833,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29876.cljs$core$IFn$_invoke$arity$2 ? pred__29876.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29877) : pred__29876.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29877)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,G__29833,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29876.cljs$core$IFn$_invoke$arity$2 ? pred__29876.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29877) : pred__29876.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29877)))){\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,G__29833,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29833),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29833){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.end_block_t(self__.type_tag,self__.logical_block,self__.start_pos,self__.end_pos,G__29833,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.end_block_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.end_block_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/end-block-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.end_block_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/end-block-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/end-block-t.\n */\ncljs.pprint.__GT_end_block_t \x3d (function cljs$pprint$__GT_end_block_t(type_tag,logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(type_tag,logical_block,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/end-block-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_end_block_t \x3d (function cljs$pprint$map__GT_end_block_t(G__29843){\nvar extmap__5365__auto__ \x3d (function (){var G__29891 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29843,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29843)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29891);\n} else {\nreturn G__29891;\n}\n})();\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29843),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29843),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29843),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29843),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_end_block_t \x3d (function cljs$pprint$make_end_block_t(logical_block,start_pos,end_pos){\nreturn (new cljs.pprint.end_block_t(new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),logical_block,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.end_block_t_QMARK_ \x3d (function cljs$pprint$end_block_t_QMARK_(x__28760__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28760__auto__),new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.indent_t \x3d (function (type_tag,logical_block,relative_to,offset,start_pos,end_pos,__meta,__extmap,__hash){\nthis.type_tag \x3d type_tag;\nthis.logical_block \x3d logical_block;\nthis.relative_to \x3d relative_to;\nthis.offset \x3d offset;\nthis.start_pos \x3d start_pos;\nthis.end_pos \x3d end_pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k29896,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__29905 \x3d k29896;\nvar G__29905__$1 \x3d (((G__29905 instanceof cljs.core.Keyword))?G__29905.fqn:null);\nswitch (G__29905__$1) {\ncase \x22type-tag\x22:\nreturn self__.type_tag;\n\nbreak;\ncase \x22logical-block\x22:\nreturn self__.logical_block;\n\nbreak;\ncase \x22relative-to\x22:\nreturn self__.relative_to;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ncase \x22start-pos\x22:\nreturn self__.start_pos;\n\nbreak;\ncase \x22end-pos\x22:\nreturn self__.end_pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k29896,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__29907){\nvar vec__29908 \x3d p__29907;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29908,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29908,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.indent-t{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__29895){\nvar self__ \x3d this;\nvar G__29895__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__29895__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1602780238 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this29897,other29898){\nvar self__ \x3d this;\nvar this29897__$1 \x3d this;\nreturn (((!((other29898 \x3d\x3d null)))) \x26\x26 ((((this29897__$1.constructor \x3d\x3d\x3d other29898.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.type_tag,other29898.type_tag)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.logical_block,other29898.logical_block)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.relative_to,other29898.relative_to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.offset,other29898.offset)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.start_pos,other29898.start_pos)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.end_pos,other29898.end_pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this29897__$1.__extmap,other29898.__extmap)))))))))))))))));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k29896){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__29914 \x3d k29896;\nvar G__29914__$1 \x3d (((G__29914 instanceof cljs.core.Keyword))?G__29914.fqn:null);\nswitch (G__29914__$1) {\ncase \x22type-tag\x22:\ncase \x22logical-block\x22:\ncase \x22relative-to\x22:\ncase \x22offset\x22:\ncase \x22start-pos\x22:\ncase \x22end-pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k29896);\n\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__29895){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__29915 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__29916 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__29915.cljs$core$IFn$_invoke$arity$2 ? pred__29915.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29916) : pred__29915.call(null,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),expr__29916)))){\nreturn (new cljs.pprint.indent_t(G__29895,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29915.cljs$core$IFn$_invoke$arity$2 ? pred__29915.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29916) : pred__29915.call(null,new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),expr__29916)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,G__29895,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29915.cljs$core$IFn$_invoke$arity$2 ? pred__29915.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__29916) : pred__29915.call(null,new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),expr__29916)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,G__29895,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29915.cljs$core$IFn$_invoke$arity$2 ? pred__29915.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__29916) : pred__29915.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__29916)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,G__29895,self__.start_pos,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29915.cljs$core$IFn$_invoke$arity$2 ? pred__29915.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29916) : pred__29915.call(null,new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),expr__29916)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,G__29895,self__.end_pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__29915.cljs$core$IFn$_invoke$arity$2 ? pred__29915.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29916) : pred__29915.call(null,new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),expr__29916)))){\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,G__29895,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__29895),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),self__.type_tag,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),self__.logical_block,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),self__.relative_to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),self__.start_pos,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926),self__.end_pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__29895){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.indent_t(self__.type_tag,self__.logical_block,self__.relative_to,self__.offset,self__.start_pos,self__.end_pos,G__29895,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.indent_t.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.indent_t.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-tag\x22,\x22type-tag\x22,-233331740,null),new cljs.core.Symbol(null,\x22logical-block\x22,\x22logical-block\x22,1059508963,null),new cljs.core.Symbol(null,\x22relative-to\x22,\x22relative-to\x22,1170431476,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null),new cljs.core.Symbol(null,\x22start-pos\x22,\x22start-pos\x22,-1985646683,null),new cljs.core.Symbol(null,\x22end-pos\x22,\x22end-pos\x22,-3352399,null)], null);\n}));\n\n(cljs.pprint.indent_t.cljs$lang$type \x3d true);\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/indent-t\x22,null,(1),null));\n}));\n\n(cljs.pprint.indent_t.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/indent-t\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/indent-t.\n */\ncljs.pprint.__GT_indent_t \x3d (function cljs$pprint$__GT_indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(type_tag,logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/indent-t, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_indent_t \x3d (function cljs$pprint$map__GT_indent_t(G__29900){\nvar extmap__5365__auto__ \x3d (function (){var G__29925 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__29900,new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926)], 0));\nif(cljs.core.record_QMARK_(G__29900)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__29925);\n} else {\nreturn G__29925;\n}\n})();\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(G__29900),new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(G__29900),new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(G__29900),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__29900),new cljs.core.Keyword(null,\x22start-pos\x22,\x22start-pos\x22,668789086).cljs$core$IFn$_invoke$arity$1(G__29900),new cljs.core.Keyword(null,\x22end-pos\x22,\x22end-pos\x22,-1643883926).cljs$core$IFn$_invoke$arity$1(G__29900),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\ncljs.pprint.make_indent_t \x3d (function cljs$pprint$make_indent_t(logical_block,relative_to,offset,start_pos,end_pos){\nreturn (new cljs.pprint.indent_t(new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),logical_block,relative_to,offset,start_pos,end_pos,null,null,null));\n});\n\ncljs.pprint.indent_t_QMARK_ \x3d (function cljs$pprint$indent_t_QMARK_(x__28760__auto__){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(x__28760__auto__),new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969));\n});\ncljs.pprint.pp_newline \x3d (function cljs$pprint$pp_newline(){\nreturn \x22\\n\x22;\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.write_token !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.write_token \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__29940 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__29940.cljs$core$IFn$_invoke$arity$0 ? fexpr__29940.cljs$core$IFn$_invoke$arity$0() : fexpr__29940.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22write-token\x22),(function (p1__29936_SHARP_,p2__29935_SHARP_){\nreturn new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(p2__29935_SHARP_);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22start-block-t\x22,\x22start-block-t\x22,-373430594),(function (this$,token){\nvar temp__5823__auto___31517 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5823__auto___31517)){\nvar cb_31518 \x3d temp__5823__auto___31517;\n(cb_31518.cljs$core$IFn$_invoke$arity$1 ? cb_31518.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_31518.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nvar temp__5823__auto___31520 \x3d new cljs.core.Keyword(null,\x22prefix\x22,\x22prefix\x22,-265908465).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(temp__5823__auto___31520)){\nvar prefix_31522 \x3d temp__5823__auto___31520;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix_31522);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb),col);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),col);\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22end-block-t\x22,\x22end-block-t\x22,1544648735),(function (this$,token){\nvar temp__5823__auto___31523 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5823__auto___31523)){\nvar cb_31524 \x3d temp__5823__auto___31523;\n(cb_31524.cljs$core$IFn$_invoke$arity$1 ? cb_31524.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_31524.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n\nvar temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar suffix \x3d temp__5823__auto__;\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\nreturn null;\n}\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22indent-t\x22,\x22indent-t\x22,528318969),(function (this$,token){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token);\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(token) + (function (){var pred__29956 \x3d cljs.core._EQ_;\nvar expr__29957 \x3d new cljs.core.Keyword(null,\x22relative-to\x22,\x22relative-to\x22,-470100051).cljs$core$IFn$_invoke$arity$1(token);\nif(cljs.core.truth_((pred__29956.cljs$core$IFn$_invoke$arity$2 ? pred__29956.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__29957) : pred__29956.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__29957)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__29956.cljs$core$IFn$_invoke$arity$2 ? pred__29956.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__29957) : pred__29956.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__29957)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__29957)].join(\x27\x27)));\n}\n}\n})()));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22buffer-blob\x22,\x22buffer-blob\x22,-1830112173),(function (this$,token){\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(token));\n}));\ncljs.pprint.write_token.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114),(function (this$,token){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889))));\nif(and__5023__auto__){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(token)));\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\n(cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.emit_nl.cljs$core$IFn$_invoke$arity$2(this$,token) : cljs.pprint.emit_nl.call(null,this$,token));\n} else {\nvar temp__5821__auto___31539 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5821__auto___31539)){\nvar tws_31545 \x3d temp__5821__auto___31539;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31545);\n} else {\n}\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n}));\ncljs.pprint.write_tokens \x3d (function cljs$pprint$write_tokens(this$,tokens,force_trailing_whitespace){\nvar seq__29963 \x3d cljs.core.seq(tokens);\nvar chunk__29964 \x3d null;\nvar count__29965 \x3d (0);\nvar i__29966 \x3d (0);\nwhile(true){\nif((i__29966 \x3c count__29965)){\nvar token \x3d chunk__29964.cljs$core$IIndexed$_nth$arity$2(null,i__29966);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5821__auto___31548 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5821__auto___31548)){\nvar tws_31550 \x3d temp__5821__auto___31548;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31550);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_31554 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn tws_31554;\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31554);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__31556 \x3d seq__29963;\nvar G__31557 \x3d chunk__29964;\nvar G__31558 \x3d count__29965;\nvar G__31559 \x3d (i__29966 + (1));\nseq__29963 \x3d G__31556;\nchunk__29964 \x3d G__31557;\ncount__29965 \x3d G__31558;\ni__29966 \x3d G__31559;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__29963);\nif(temp__5823__auto__){\nvar seq__29963__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__29963__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__29963__$1);\nvar G__31560 \x3d cljs.core.chunk_rest(seq__29963__$1);\nvar G__31561 \x3d c__5548__auto__;\nvar G__31562 \x3d cljs.core.count(c__5548__auto__);\nvar G__31563 \x3d (0);\nseq__29963 \x3d G__31560;\nchunk__29964 \x3d G__31561;\ncount__29965 \x3d G__31562;\ni__29966 \x3d G__31563;\ncontinue;\n} else {\nvar token \x3d cljs.core.first(seq__29963__$1);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-tag\x22,\x22type-tag\x22,-1873863267).cljs$core$IFn$_invoke$arity$1(token),new cljs.core.Keyword(null,\x22nl-t\x22,\x22nl-t\x22,-1608382114))))){\nvar temp__5821__auto___31566 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5821__auto___31566)){\nvar tws_31568 \x3d temp__5821__auto___31566;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31568);\n} else {\n}\n} else {\n}\n\ncljs.pprint.write_token.cljs$core$IFn$_invoke$arity$2(this$,token);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(token));\n\nvar tws_31570 \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d force_trailing_whitespace;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn tws_31570;\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws_31570);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\n}\n\n\nvar G__31571 \x3d cljs.core.next(seq__29963__$1);\nvar G__31572 \x3d null;\nvar G__31573 \x3d (0);\nvar G__31574 \x3d (0);\nseq__29963 \x3d G__31571;\nchunk__29964 \x3d G__31572;\ncount__29965 \x3d G__31573;\ni__29966 \x3d G__31574;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ncljs.pprint.tokens_fit_QMARK_ \x3d (function cljs$pprint$tokens_fit_QMARK_(this$,tokens){\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nreturn (((maxcol \x3d\x3d null)) || (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))) + cljs.pprint.buffer_length(tokens)) \x3c maxcol)));\n});\ncljs.pprint.linear_nl_QMARK_ \x3d (function cljs$pprint$linear_nl_QMARK_(this$,lb,section){\nvar or__5025__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (!(cljs.pprint.tokens_fit_QMARK_(this$,section)));\n}\n});\ncljs.pprint.miser_nl_QMARK_ \x3d (function cljs$pprint$miser_nl_QMARK_(this$,lb,section){\nvar miser_width \x3d cljs.pprint.get_miser_width(this$);\nvar maxcol \x3d cljs.pprint.get_max_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\nvar and__5023__auto__ \x3d miser_width;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d maxcol;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d (cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb)) \x3e\x3d (maxcol - miser_width));\nif(and__5023__auto____$2){\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.emit_nl_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.pprint.emit_nl_QMARK_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__29989 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__29989.cljs$core$IFn$_invoke$arity$0 ? fexpr__29989.cljs$core$IFn$_invoke$arity$0() : fexpr__29989.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22emit-nl?\x22),(function (t,_,___$1,___$2){\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(t);\n}),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.linear_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),(function (newl,this$,section,_){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),(function (newl,this$,section,subsection){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(newl);\nvar or__5025__auto__ \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,subsection)));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.pprint.miser_nl_QMARK_(this$,lb,section);\n}\n}\n}));\ncljs.pprint.emit_nl_QMARK_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),(function (_,___$1,___$2,___$3){\nreturn true;\n}));\ncljs.pprint.get_section \x3d (function cljs$pprint$get_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29990_SHARP_){\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__29990_SHARP_)) \x26\x26 (cljs.pprint.ancestor_QMARK_(new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__29990_SHARP_),lb)))));\n}),cljs.core.next(buffer)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [section,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((cljs.core.count(section) + (1)),buffer))], null);\n});\ncljs.pprint.get_sub_section \x3d (function cljs$pprint$get_sub_section(buffer){\nvar nl \x3d cljs.core.first(buffer);\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar section \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29991_SHARP_){\nvar nl_lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(p1__29991_SHARP_);\nreturn (!(((cljs.pprint.nl_t_QMARK_(p1__29991_SHARP_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(nl_lb,lb)) || (cljs.pprint.ancestor_QMARK_(nl_lb,lb)))))));\n}),cljs.core.next(buffer)));\nreturn section;\n});\ncljs.pprint.update_nl_state \x3d (function cljs$pprint$update_nl_state(lb){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb),true);\n\nvar lb__$1 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb);\nwhile(true){\nif(cljs.core.truth_(lb__$1)){\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22done-nl\x22,\x22done-nl\x22,-381024340).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\ncljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22intra-block-nl\x22,\x22intra-block-nl\x22,1808826875).cljs$core$IFn$_invoke$arity$1(lb__$1),true);\n\nvar G__31582 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb__$1);\nlb__$1 \x3d G__31582;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.emit_nl \x3d (function cljs$pprint$emit_nl(this$,nl){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-block\x22,\x22logical-block\x22,-581022564).cljs$core$IFn$_invoke$arity$1(nl);\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar istr_31589 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((cljs.core.deref(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb)) - cljs.core.count(prefix)),\x22 \x22));\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),istr_31589);\n\nreturn cljs.pprint.update_nl_state(lb);\n});\ncljs.pprint.split_at_newline \x3d (function cljs$pprint$split_at_newline(tokens){\nvar pre \x3d cljs.core.seq(cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((function (p1__29992_SHARP_){\nreturn (!(cljs.pprint.nl_t_QMARK_(p1__29992_SHARP_)));\n}),tokens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [pre,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(pre),tokens))], null);\n});\ncljs.pprint.write_token_string \x3d (function cljs$pprint$write_token_string(this$,tokens){\nvar vec__29997 \x3d cljs.pprint.split_at_newline(tokens);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29997,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29997,(1),null);\nif(cljs.core.truth_(a)){\ncljs.pprint.write_tokens(this$,a,false);\n} else {\n}\n\nif(cljs.core.truth_(b)){\nvar vec__30000 \x3d cljs.pprint.get_section(b);\nvar section \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30000,(0),null);\nvar remainder \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30000,(1),null);\nvar newl \x3d cljs.core.first(b);\nvar do_nl \x3d cljs.pprint.emit_nl_QMARK_.cljs$core$IFn$_invoke$arity$4(newl,this$,section,cljs.pprint.get_sub_section(b));\nvar result \x3d (cljs.core.truth_(do_nl)?(function (){\ncljs.pprint.emit_nl(this$,newl);\n\nreturn cljs.core.next(b);\n})()\n:b);\nvar long_section \x3d (!(cljs.pprint.tokens_fit_QMARK_(this$,result)));\nvar result__$1 \x3d ((long_section)?(function (){var rem2 \x3d (cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.write_token_string.cljs$core$IFn$_invoke$arity$2(this$,section) : cljs.pprint.write_token_string.call(null,this$,section));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(rem2,section)){\ncljs.pprint.write_tokens(this$,section,false);\n\nreturn remainder;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(rem2,remainder));\n}\n})():result);\nreturn result__$1;\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_line \x3d (function cljs$pprint$write_line(this$){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nwhile(true){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,buffer));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,buffer)))){\nvar new_buffer \x3d cljs.pprint.write_token_string(this$,buffer);\nif((!((buffer \x3d\x3d\x3d new_buffer)))){\nvar G__31599 \x3d new_buffer;\nbuffer \x3d G__31599;\ncontinue;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ncljs.pprint.add_to_buffer \x3d (function cljs$pprint$add_to_buffer(this$,token){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),token));\n\nif((!(cljs.pprint.tokens_fit_QMARK_(this$,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))))){\nreturn cljs.pprint.write_line(this$);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_buffered_output \x3d (function cljs$pprint$write_buffered_output(this$){\ncljs.pprint.write_line(this$);\n\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar buf \x3d temp__5821__auto__;\ncljs.pprint.write_tokens(this$,buf,true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_white_space \x3d (function cljs$pprint$write_white_space(this$){\nvar temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar tws \x3d temp__5823__auto__;\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),tws);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),null);\n} else {\nreturn null;\n}\n});\ncljs.pprint.write_initial_lines \x3d (function cljs$pprint$write_initial_lines(this$,s){\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$3(s,\x22\\n\x22,(-1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(lines),(1))){\nreturn s;\n} else {\nvar prefix \x3d new cljs.core.Keyword(null,\x22per-line-prefix\x22,\x22per-line-prefix\x22,846941813).cljs$core$IFn$_invoke$arity$1(cljs.core.first(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)))));\nvar l \x3d cljs.core.first(lines);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))))){\nvar oldpos_31604 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_31605 \x3d (oldpos_31604 + cljs.core.count(l));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_31605);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(l,null,oldpos_31604,newpos_31605));\n\ncljs.pprint.write_buffered_output(this$);\n} else {\ncljs.pprint.write_white_space(this$);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l);\n}\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),\x22\\n\x22);\n\nvar seq__30016_31606 \x3d cljs.core.seq(cljs.core.next(cljs.core.butlast(lines)));\nvar chunk__30017_31607 \x3d null;\nvar count__30018_31608 \x3d (0);\nvar i__30019_31609 \x3d (0);\nwhile(true){\nif((i__30019_31609 \x3c count__30018_31608)){\nvar l_31610__$1 \x3d chunk__30017_31607.cljs$core$IIndexed$_nth$arity$2(null,i__30019_31609);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_31610__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__31611 \x3d seq__30016_31606;\nvar G__31612 \x3d chunk__30017_31607;\nvar G__31613 \x3d count__30018_31608;\nvar G__31614 \x3d (i__30019_31609 + (1));\nseq__30016_31606 \x3d G__31611;\nchunk__30017_31607 \x3d G__31612;\ncount__30018_31608 \x3d G__31613;\ni__30019_31609 \x3d G__31614;\ncontinue;\n} else {\nvar temp__5823__auto___31615 \x3d cljs.core.seq(seq__30016_31606);\nif(temp__5823__auto___31615){\nvar seq__30016_31616__$1 \x3d temp__5823__auto___31615;\nif(cljs.core.chunked_seq_QMARK_(seq__30016_31616__$1)){\nvar c__5548__auto___31617 \x3d cljs.core.chunk_first(seq__30016_31616__$1);\nvar G__31618 \x3d cljs.core.chunk_rest(seq__30016_31616__$1);\nvar G__31619 \x3d c__5548__auto___31617;\nvar G__31620 \x3d cljs.core.count(c__5548__auto___31617);\nvar G__31621 \x3d (0);\nseq__30016_31606 \x3d G__31618;\nchunk__30017_31607 \x3d G__31619;\ncount__30018_31608 \x3d G__31620;\ni__30019_31609 \x3d G__31621;\ncontinue;\n} else {\nvar l_31622__$1 \x3d cljs.core.first(seq__30016_31616__$1);\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),l_31622__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),cljs.pprint.pp_newline());\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\n\nvar G__31626 \x3d cljs.core.next(seq__30016_31616__$1);\nvar G__31627 \x3d null;\nvar G__31628 \x3d (0);\nvar G__31629 \x3d (0);\nseq__30016_31606 \x3d G__31626;\nchunk__30017_31607 \x3d G__31627;\ncount__30018_31608 \x3d G__31628;\ni__30019_31609 \x3d G__31629;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108));\n\nreturn cljs.core.last(lines);\n}\n});\ncljs.pprint.p_write_char \x3d (function cljs$pprint$p_write_char(this$,c){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),c);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(c,\x22\\n\x22)){\nreturn cljs.pprint.write_initial_lines(this$,\x22\\n\x22);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_buffer_blob(cljs.core.char$(c),null,oldpos,newpos));\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.pprint.IPrettyFlush}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30031 \x3d (function (writer,max_columns,miser_width,lb,fields,meta30032){\nthis.writer \x3d writer;\nthis.max_columns \x3d max_columns;\nthis.miser_width \x3d miser_width;\nthis.lb \x3d lb;\nthis.fields \x3d fields;\nthis.meta30032 \x3d meta30032;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074167808;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30033,meta30032__$1){\nvar self__ \x3d this;\nvar _30033__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30031(self__.writer,self__.max_columns,self__.miser_width,self__.lb,self__.fields,meta30032__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30033){\nvar self__ \x3d this;\nvar _30033__$1 \x3d this;\nreturn self__.meta30032;\n}));\n\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.fields;\n}));\n\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30036 \x3d cljs.core._EQ_;\nvar expr__30037 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30036.cljs$core$IFn$_invoke$arity$2 ? pred__30036.cljs$core$IFn$_invoke$arity$2(String,expr__30037) : pred__30036.call(null,String,expr__30037)))){\nvar s0 \x3d cljs.pprint.write_initial_lines(this$__$1,x);\nvar s \x3d clojure.string.replace_first(s0,/\\s+$/,\x22\x22);\nvar white_space \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s0,((s).length));\nvar mode \x3d new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$__$1);\n\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),s);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),white_space);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1)));\nvar newpos \x3d (oldpos + cljs.core.count(s0));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$__$1,cljs.pprint.make_buffer_blob(s,white_space,oldpos,newpos));\n}\n} else {\nif(cljs.core.truth_((pred__30036.cljs$core$IFn$_invoke$arity$2 ? pred__30036.cljs$core$IFn$_invoke$arity$2(Number,expr__30037) : pred__30036.call(null,Number,expr__30037)))){\nreturn cljs.pprint.p_write_char(this$__$1,x);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30037)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthis$__$1.cljs$pprint$IPrettyFlush$_ppflush$arity$1(null);\n\nreturn cljs.core._flush(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))));\n}));\n\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$pprint$IPrettyFlush$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.pprint.t_cljs$pprint30031.prototype.cljs$pprint$IPrettyFlush$_ppflush$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613))){\ncljs.pprint.write_tokens(this$__$1,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$__$1))),true);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$__$1),cljs.core.assoc,new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),cljs.core.PersistentVector.EMPTY);\n} else {\nreturn cljs.pprint.write_white_space(this$__$1);\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30031.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22max-columns\x22,\x22max-columns\x22,-912112507,null),new cljs.core.Symbol(null,\x22miser-width\x22,\x22miser-width\x22,330482090,null),new cljs.core.Symbol(null,\x22lb\x22,\x22lb\x22,950310490,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22meta30032\x22,\x22meta30032\x22,-471530115,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30031.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30031.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30031\x22);\n\n(cljs.pprint.t_cljs$pprint30031.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30031\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30031.\n */\ncljs.pprint.__GT_t_cljs$pprint30031 \x3d (function cljs$pprint$__GT_t_cljs$pprint30031(writer,max_columns,miser_width,lb,fields,meta30032){\nreturn (new cljs.pprint.t_cljs$pprint30031(writer,max_columns,miser_width,lb,fields,meta30032));\n});\n\n\ncljs.pprint.pretty_writer \x3d (function cljs$pprint$pretty_writer(writer,max_columns,miser_width){\nvar lb \x3d (new cljs.pprint.logical_block(null,null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),null,null,null,null,null,null,null));\nvar fields \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437),new cljs.core.Keyword(null,\x22buffer-block\x22,\x22buffer-block\x22,-10937307),new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267),new cljs.core.Keyword(null,\x22sections\x22,\x22sections\x22,-886710106),new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),new cljs.core.Keyword(null,\x22trailing-white-space\x22,\x22trailing-white-space\x22,1496006996),new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.Keyword(null,\x22buffer-level\x22,\x22buffer-level\x22,928864731),new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198)],[lb,miser_width,lb,true,null,new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108),(0),null,cljs.pprint.column_writer.cljs$core$IFn$_invoke$arity$2(writer,max_columns),(1),cljs.core.PersistentVector.EMPTY]));\nreturn (new cljs.pprint.t_cljs$pprint30031(writer,max_columns,miser_width,lb,fields,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.start_block \x3d (function cljs$pprint$start_block(this$,prefix,per_line_prefix,suffix){\nvar lb \x3d (new cljs.pprint.logical_block(new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),null,cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0)),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false),prefix,per_line_prefix,suffix,null,null,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),lb);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nvar temp__5823__auto___31638 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5823__auto___31638)){\nvar cb_31639 \x3d temp__5823__auto___31638;\n(cb_31639.cljs$core$IFn$_invoke$arity$1 ? cb_31639.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)) : cb_31639.call(null,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981)));\n} else {\n}\n\nif(cljs.core.truth_(prefix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),prefix);\n} else {\n}\n\nvar col \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\ncljs.core.reset_BANG_(lb.start_col,col);\n\nreturn cljs.core.reset_BANG_(lb.indent,col);\n} else {\nvar oldpos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos \x3d (oldpos + (cljs.core.truth_(prefix)?cljs.core.count(prefix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos);\n\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_start_block_t(lb,oldpos,newpos));\n}\n});\ncljs.pprint.end_block \x3d (function cljs$pprint$end_block(this$){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar suffix \x3d new cljs.core.Keyword(null,\x22suffix\x22,\x22suffix\x22,367373057).cljs$core$IFn$_invoke$arity$1(lb);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nif(cljs.core.truth_(suffix)){\ncljs.core._write(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),suffix);\n} else {\n}\n\nvar temp__5823__auto___31642 \x3d new cljs.core.Keyword(null,\x22logical-block-callback\x22,\x22logical-block-callback\x22,1612691194).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core.truth_(temp__5823__auto___31642)){\nvar cb_31643 \x3d temp__5823__auto___31642;\n(cb_31643.cljs$core$IFn$_invoke$arity$1 ? cb_31643.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)) : cb_31643.call(null,new cljs.core.Keyword(null,\x22end\x22,\x22end\x22,-268185958)));\n} else {\n}\n} else {\nvar oldpos_31644 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nvar newpos_31645 \x3d (oldpos_31644 + (cljs.core.truth_(suffix)?cljs.core.count(suffix):(0)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),newpos_31645);\n\ncljs.pprint.add_to_buffer(this$,cljs.pprint.make_end_block_t(lb,oldpos_31644,newpos_31645));\n}\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(lb));\n});\ncljs.pprint.nl \x3d (function cljs$pprint$nl(this$,type){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.deref(this$),cljs.core.assoc,new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691),new cljs.core.Keyword(null,\x22buffering\x22,\x22buffering\x22,-876713613));\n\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_nl_t(type,new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),pos,pos));\n});\ncljs.pprint.indent \x3d (function cljs$pprint$indent(this$,relative_to,offset){\nvar lb \x3d new cljs.core.Keyword(null,\x22logical-blocks\x22,\x22logical-blocks\x22,-1466339776).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22mode\x22,\x22mode\x22,654403691).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))),new cljs.core.Keyword(null,\x22writing\x22,\x22writing\x22,-1486865108))){\ncljs.pprint.write_white_space(this$);\n\nreturn cljs.core.reset_BANG_(new cljs.core.Keyword(null,\x22indent\x22,\x22indent\x22,-148200125).cljs$core$IFn$_invoke$arity$1(lb),(offset + (function (){var pred__30061 \x3d cljs.core._EQ_;\nvar expr__30062 \x3d relative_to;\nif(cljs.core.truth_((pred__30061.cljs$core$IFn$_invoke$arity$2 ? pred__30061.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__30062) : pred__30061.call(null,new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),expr__30062)))){\nreturn cljs.core.deref(new cljs.core.Keyword(null,\x22start-col\x22,\x22start-col\x22,668080143).cljs$core$IFn$_invoke$arity$1(lb));\n} else {\nif(cljs.core.truth_((pred__30061.cljs$core$IFn$_invoke$arity$2 ? pred__30061.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__30062) : pred__30061.call(null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),expr__30062)))){\nreturn cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$))));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30062)].join(\x27\x27)));\n}\n}\n})()));\n} else {\nvar pos \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\nreturn cljs.pprint.add_to_buffer(this$,cljs.pprint.make_indent_t(lb,relative_to,offset,pos,pos));\n}\n});\ncljs.pprint.get_miser_width \x3d (function cljs$pprint$get_miser_width(this$){\nreturn new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(this$)));\n});\n/**\n * Bind to true if you want write to use pretty printing\n */\ncljs.pprint._STAR_print_pretty_STAR_ \x3d true;\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint._STAR_print_pprint_dispatch_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function. Use with-pprint-dispatch or\n * set-pprint-dispatch to modify.\n */\ncljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d null;\n}\n/**\n * Pretty printing will try to avoid anything going beyond this column.\n * Set it to nil to have pprint let the line be arbitrarily long. This will ignore all\n * non-mandatory newlines.\n */\ncljs.pprint._STAR_print_right_margin_STAR_ \x3d (72);\n/**\n * The column at which to enter miser style. Depending on the dispatch table,\n * miser style add newlines in more places to try to keep lines short allowing for further\n * levels of nesting.\n */\ncljs.pprint._STAR_print_miser_width_STAR_ \x3d (40);\n/**\n * Maximum number of lines to print in a pretty print instance (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_lines_STAR_ \x3d null;\n/**\n * Mark circular structures (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_circle_STAR_ \x3d null;\n/**\n * Mark repeated structures rather than repeat them (N.B. This is not yet used)\n */\ncljs.pprint._STAR_print_shared_STAR_ \x3d null;\n/**\n * Don\x27t print namespaces with symbols. This is particularly useful when\n * pretty printing the results of macro expansions\n */\ncljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d null;\n/**\n * Print a radix specifier in front of integers and rationals. If *print-base* is 2, 8,\n * or 16, then the radix specifier used is #b, #o, or #x, respectively. Otherwise the\n * radix specifier is in the form #XXr where XX is the decimal value of *print-base* \n */\ncljs.pprint._STAR_print_radix_STAR_ \x3d null;\n/**\n * The base to use for printing integers and rationals.\n */\ncljs.pprint._STAR_print_base_STAR_ \x3d (10);\ncljs.pprint._STAR_current_level_STAR_ \x3d (0);\ncljs.pprint._STAR_current_length_STAR_ \x3d null;\ncljs.pprint.table_ize \x3d (function cljs$pprint$table_ize(t,m){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__30079_SHARP_){\nvar temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(t,cljs.core.key(p1__30079_SHARP_));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,cljs.core.val(p1__30079_SHARP_)], null);\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m], 0)));\n});\n/**\n * Return true iff x is a PrettyWriter\n */\ncljs.pprint.pretty_writer_QMARK_ \x3d (function cljs$pprint$pretty_writer_QMARK_(x){\nvar and__5023__auto__ \x3d (((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$))))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,x));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22pretty-writer\x22,\x22pretty-writer\x22,-1222834267).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(x)));\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Wrap base-writer in a PrettyWriter with the specified right-margin and miser-width\n */\ncljs.pprint.make_pretty_writer \x3d (function cljs$pprint$make_pretty_writer(base_writer,right_margin,miser_width){\nreturn cljs.pprint.pretty_writer(base_writer,right_margin,miser_width);\n});\n/**\n * Write an object to *out* subject to the current bindings of the printer control\n * variables. Use the kw-args argument to override individual variables for this call (and\n * any recursive calls).\n * \n * *out* must be a PrettyWriter if pretty printing is enabled. This is the responsibility\n * of the caller.\n * \n * This method is primarily intended for use by pretty print dispatch functions that\n * already know that the pretty printer will have set up their environment appropriately.\n * Normal library clients should use the standard \x22write\x22 interface. \n */\ncljs.pprint.write_out \x3d (function cljs$pprint$write_out(object){\nvar length_reached \x3d (function (){var and__5023__auto__ \x3d cljs.pprint._STAR_current_length_STAR_;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d cljs.core._STAR_print_length_STAR_;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (cljs.pprint._STAR_current_length_STAR_ \x3e\x3d cljs.core._STAR_print_length_STAR_);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.not(cljs.pprint._STAR_print_pretty_STAR_)){\ncljs.pprint.pr.call(null,object);\n} else {\nif(cljs.core.truth_(length_reached)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_current_length_STAR_)){\n(cljs.pprint._STAR_current_length_STAR_ \x3d (cljs.pprint._STAR_current_length_STAR_ + (1)));\n} else {\n}\n\ncljs.pprint._STAR_print_pprint_dispatch_STAR_.call(null,object);\n}\n}\n\nreturn length_reached;\n});\n/**\n * Write an object subject to the current bindings of the printer control variables.\n * Use the kw-args argument to override individual variables for this call (and any\n * recursive calls). Returns the string result if :stream is nil or nil otherwise.\n * \n * The following keyword arguments can be passed with values:\n * Keyword Meaning Default value\n * :stream Writer for output or nil true (indicates *out*)\n * :base Base to use for writing rationals Current value of *print-base*\n * :circle* If true, mark circular structures Current value of *print-circle*\n * :length Maximum elements to show in sublists Current value of *print-length*\n * :level Maximum depth Current value of *print-level*\n * :lines* Maximum lines of output Current value of *print-lines*\n * :miser-width Width to enter miser mode Current value of *print-miser-width*\n * :dispatch The pretty print dispatch function Current value of *print-pprint-dispatch*\n * :pretty If true, do pretty printing Current value of *print-pretty*\n * :radix If true, prepend a radix specifier Current value of *print-radix*\n * :readably* If true, print readably Current value of *print-readably*\n * :right-margin The column for the right margin Current value of *print-right-margin*\n * :suppress-namespaces If true, no namespaces in symbols Current value of *print-suppress-namespaces*\n * \n * * \x3d not yet supported\n */\ncljs.pprint.write \x3d (function cljs$pprint$write(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31651 \x3d arguments.length;\nvar i__5750__auto___31652 \x3d (0);\nwhile(true){\nif((i__5750__auto___31652 \x3c len__5749__auto___31651)){\nargs__5755__auto__.push((arguments[i__5750__auto___31652]));\n\nvar G__31653 \x3d (i__5750__auto___31652 + (1));\ni__5750__auto___31652 \x3d G__31653;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.pprint.write.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,kw_args){\nvar options \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),true], null),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,kw_args)], 0));\nvar _STAR_print_base_STAR__orig_val__30112 \x3d cljs.pprint._STAR_print_base_STAR_;\nvar _STAR_print_circle_STAR__orig_val__30113 \x3d cljs.pprint._STAR_print_circle_STAR_;\nvar _STAR_print_length_STAR__orig_val__30114 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__30115 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_lines_STAR__orig_val__30116 \x3d cljs.pprint._STAR_print_lines_STAR_;\nvar _STAR_print_miser_width_STAR__orig_val__30117 \x3d cljs.pprint._STAR_print_miser_width_STAR_;\nvar _STAR_print_pprint_dispatch_STAR__orig_val__30118 \x3d cljs.pprint._STAR_print_pprint_dispatch_STAR_;\nvar _STAR_print_pretty_STAR__orig_val__30119 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_radix_STAR__orig_val__30120 \x3d cljs.pprint._STAR_print_radix_STAR_;\nvar _STAR_print_readably_STAR__orig_val__30121 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_right_margin_STAR__orig_val__30122 \x3d cljs.pprint._STAR_print_right_margin_STAR_;\nvar _STAR_print_suppress_namespaces_STAR__orig_val__30123 \x3d cljs.pprint._STAR_print_suppress_namespaces_STAR_;\nvar _STAR_print_base_STAR__temp_val__30124 \x3d new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_base_STAR_);\nvar _STAR_print_circle_STAR__temp_val__30125 \x3d new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_circle_STAR_);\nvar _STAR_print_length_STAR__temp_val__30126 \x3d new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_length_STAR_);\nvar _STAR_print_level_STAR__temp_val__30127 \x3d new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_level_STAR_);\nvar _STAR_print_lines_STAR__temp_val__30128 \x3d new cljs.core.Keyword(null,\x22lines\x22,\x22lines\x22,-700165781).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_lines_STAR_);\nvar _STAR_print_miser_width_STAR__temp_val__30129 \x3d new cljs.core.Keyword(null,\x22miser-width\x22,\x22miser-width\x22,-1310049437).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_miser_width_STAR_);\nvar _STAR_print_pprint_dispatch_STAR__temp_val__30130 \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pprint_dispatch_STAR_);\nvar _STAR_print_pretty_STAR__temp_val__30131 \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_pretty_STAR_);\nvar _STAR_print_radix_STAR__temp_val__30132 \x3d new cljs.core.Keyword(null,\x22radix\x22,\x22radix\x22,857016463).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_radix_STAR_);\nvar _STAR_print_readably_STAR__temp_val__30133 \x3d new cljs.core.Keyword(null,\x22readably\x22,\x22readably\x22,1129599760).cljs$core$IFn$_invoke$arity$2(options,cljs.core._STAR_print_readably_STAR_);\nvar _STAR_print_right_margin_STAR__temp_val__30134 \x3d new cljs.core.Keyword(null,\x22right-margin\x22,\x22right-margin\x22,-810413306).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_right_margin_STAR_);\nvar _STAR_print_suppress_namespaces_STAR__temp_val__30135 \x3d new cljs.core.Keyword(null,\x22suppress-namespaces\x22,\x22suppress-namespaces\x22,2130686956).cljs$core$IFn$_invoke$arity$2(options,cljs.pprint._STAR_print_suppress_namespaces_STAR_);\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__temp_val__30124);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__temp_val__30125);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__30126);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__30127);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__temp_val__30128);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__temp_val__30129);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__temp_val__30130);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__30131);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__temp_val__30132);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__30133);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__temp_val__30134);\n\n(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__temp_val__30135);\n\ntry{try{var sb \x3d (new goog.string.StringBuffer());\nvar optval \x3d ((cljs.core.contains_QMARK_(options,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648)))?new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648).cljs$core$IFn$_invoke$arity$1(options):true);\nvar base_writer \x3d ((((optval \x3d\x3d\x3d true) || ((optval \x3d\x3d null))))?(new cljs.core.StringBufferWriter(sb)):optval);\nif(cljs.core.truth_(cljs.pprint._STAR_print_pretty_STAR_)){\nvar base_writer__28704__auto___31655 \x3d base_writer;\nvar new_writer__28705__auto___31656 \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__28704__auto___31655));\nvar _STAR_out_STAR__orig_val__30144_31657 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30145_31658 \x3d ((new_writer__28705__auto___31656)?cljs.pprint.make_pretty_writer(base_writer__28704__auto___31655,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__28704__auto___31655);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30145_31658);\n\ntry{cljs.pprint.write_out(object);\n\ncljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30144_31657);\n}} else {\nvar _STAR_out_STAR__orig_val__30147_31659 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30148_31660 \x3d base_writer;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30148_31660);\n\ntry{cljs.pprint.pr.call(null,object);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30147_31659);\n}}\n\nif(optval \x3d\x3d\x3d true){\ncljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\n}\n\nif((optval \x3d\x3d null)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nreturn null;\n}\n}finally {}}finally {(cljs.pprint._STAR_print_suppress_namespaces_STAR_ \x3d _STAR_print_suppress_namespaces_STAR__orig_val__30123);\n\n(cljs.pprint._STAR_print_right_margin_STAR_ \x3d _STAR_print_right_margin_STAR__orig_val__30122);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__30121);\n\n(cljs.pprint._STAR_print_radix_STAR_ \x3d _STAR_print_radix_STAR__orig_val__30120);\n\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__30119);\n\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d _STAR_print_pprint_dispatch_STAR__orig_val__30118);\n\n(cljs.pprint._STAR_print_miser_width_STAR_ \x3d _STAR_print_miser_width_STAR__orig_val__30117);\n\n(cljs.pprint._STAR_print_lines_STAR_ \x3d _STAR_print_lines_STAR__orig_val__30116);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__30115);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__30114);\n\n(cljs.pprint._STAR_print_circle_STAR_ \x3d _STAR_print_circle_STAR__orig_val__30113);\n\n(cljs.pprint._STAR_print_base_STAR_ \x3d _STAR_print_base_STAR__orig_val__30112);\n}}));\n\n(cljs.pprint.write.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.pprint.write.cljs$lang$applyTo \x3d (function (seq30106){\nvar G__30107 \x3d cljs.core.first(seq30106);\nvar seq30106__$1 \x3d cljs.core.next(seq30106);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__30107,seq30106__$1);\n}));\n\ncljs.pprint.pprint \x3d (function cljs$pprint$pprint(var_args){\nvar G__30157 \x3d arguments.length;\nswitch (G__30157) {\ncase 1:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nvar sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__30162 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30163 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30163);\n\ntry{cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(object,cljs.core._STAR_out_STAR_);\n\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30162);\n}}));\n\n(cljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,writer){\nvar base_writer__28704__auto__ \x3d writer;\nvar new_writer__28705__auto__ \x3d cljs.core.not(cljs.pprint.pretty_writer_QMARK_(base_writer__28704__auto__));\nvar _STAR_out_STAR__orig_val__30167 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30168 \x3d ((new_writer__28705__auto__)?cljs.pprint.make_pretty_writer(base_writer__28704__auto__,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_):base_writer__28704__auto__);\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30168);\n\ntry{var _STAR_print_pretty_STAR__orig_val__30170_31665 \x3d cljs.pprint._STAR_print_pretty_STAR_;\nvar _STAR_print_pretty_STAR__temp_val__30171_31666 \x3d true;\n(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__temp_val__30171_31666);\n\ntry{cljs.pprint.write_out(object);\n}finally {(cljs.pprint._STAR_print_pretty_STAR_ \x3d _STAR_print_pretty_STAR__orig_val__30170_31665);\n}\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(cljs.core._STAR_out_STAR_))))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22\\n\x22);\n} else {\n}\n\nreturn cljs.pprint._ppflush(cljs.core._STAR_out_STAR_);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30167);\n}}));\n\n(cljs.pprint.pprint.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.pprint.set_pprint_dispatch \x3d (function cljs$pprint$set_pprint_dispatch(function$){\n(cljs.pprint._STAR_print_pprint_dispatch_STAR_ \x3d function$);\n\nreturn null;\n});\ncljs.pprint.check_enumerated_arg \x3d (function cljs$pprint$check_enumerated_arg(arg,choices){\nif(cljs.core.not((choices.cljs$core$IFn$_invoke$arity$1 ? choices.cljs$core$IFn$_invoke$arity$1(arg) : choices.call(null,arg)))){\nthrow (new Error([\x22Bad argument: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg),\x22. It must be one of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(choices)].join(\x27\x27)));\n} else {\nreturn null;\n}\n});\ncljs.pprint.level_exceeded \x3d (function cljs$pprint$level_exceeded(){\nvar and__5023__auto__ \x3d cljs.core._STAR_print_level_STAR_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.pprint._STAR_current_level_STAR_ \x3e\x3d cljs.core._STAR_print_level_STAR_);\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Print a conditional newline to a pretty printing stream. kind specifies if the\n * newline is :linear, :miser, :fill, or :mandatory.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_newline \x3d (function cljs$pprint$pprint_newline(kind){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336),null,new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186),null,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),null,new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697),null], null), null));\n\nreturn cljs.pprint.nl(cljs.core._STAR_out_STAR_,kind);\n});\n/**\n * Create an indent at this point in the pretty printing stream. This defines how\n * following lines are indented. relative-to can be either :block or :current depending\n * whether the indent should be computed relative to the start of the logical block or\n * the current column position. n is an offset.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n */\ncljs.pprint.pprint_indent \x3d (function cljs$pprint$pprint_indent(relative_to,n){\ncljs.pprint.check_enumerated_arg(relative_to,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),null,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),null], null), null));\n\nreturn cljs.pprint.indent(cljs.core._STAR_out_STAR_,relative_to,n);\n});\n/**\n * Tab at this point in the pretty printing stream. kind specifies whether the tab\n * is :line, :section, :line-relative, or :section-relative.\n * \n * Colnum and colinc specify the target column and the increment to move the target\n * forward if the output is already past the original target.\n * \n * This function is intended for use when writing custom dispatch functions.\n * \n * Output is sent to *out* which must be a pretty printing writer.\n * \n * THIS FUNCTION IS NOT YET IMPLEMENTED.\n */\ncljs.pprint.pprint_tab \x3d (function cljs$pprint$pprint_tab(kind,colnum,colinc){\ncljs.pprint.check_enumerated_arg(kind,new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22section\x22,\x22section\x22,-300141526),null,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),null,new cljs.core.Keyword(null,\x22line-relative\x22,\x22line-relative\x22,1149548219),null,new cljs.core.Keyword(null,\x22section-relative\x22,\x22section-relative\x22,-658298724),null], null), null));\n\nthrow (new Error(\x22pprint-tab is not yet implemented\x22));\n});\n/**\n * An implementation of a Common Lisp compatible format function. cl-format formats its\n * arguments to an output stream or string based on the format control string given. It\n * supports sophisticated formatting of structured data.\n * \n * Writer satisfies IWriter, true to output via *print-fn* or nil to output\n * to a string, format-in is the format control string and the remaining arguments\n * are the data to be formatted.\n * \n * The format control string is a string to be output with embedded \x27format directives\x27\n * describing how to format the various arguments passed in.\n * \n * If writer is nil, cl-format returns the formatted result string. Otherwise, cl-format\n * returns nil.\n * \n * For example:\n * (let [results [46 38 22]]\n * (cl-format true \x22There ~[are~;is~:;are~]~:* ~d result~:p: ~{~d~^, ~}~%\x22\n * (count results) results))\n * \n * Prints via *print-fn*:\n * There are 3 results: 46, 38, 22\n * \n * Detailed documentation on format control strings is available in the \x22Common Lisp the\n * Language, 2nd edition\x22, Chapter 22 (available online at:\n * http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/html/cltl/clm/node200.html#SECTION002633000000000000000)\n * and in the Common Lisp HyperSpec at\n * http://www.lispworks.com/documentation/HyperSpec/Body/22_c.htm\n */\ncljs.pprint.cl_format \x3d (function cljs$pprint$cl_format(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31672 \x3d arguments.length;\nvar i__5750__auto___31673 \x3d (0);\nwhile(true){\nif((i__5750__auto___31673 \x3c len__5749__auto___31672)){\nargs__5755__auto__.push((arguments[i__5750__auto___31673]));\n\nvar G__31674 \x3d (i__5750__auto___31673 + (1));\ni__5750__auto___31673 \x3d G__31674;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic \x3d (function (writer,format_in,args){\nvar compiled_format \x3d ((typeof format_in \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(format_in):format_in);\nvar navigator__$1 \x3d cljs.pprint.init_navigator(args);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3(writer,compiled_format,navigator__$1);\n}));\n\n(cljs.pprint.cl_format.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.pprint.cl_format.cljs$lang$applyTo \x3d (function (seq30188){\nvar G__30189 \x3d cljs.core.first(seq30188);\nvar seq30188__$1 \x3d cljs.core.next(seq30188);\nvar G__30190 \x3d cljs.core.first(seq30188__$1);\nvar seq30188__$2 \x3d cljs.core.next(seq30188__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__30189,G__30190,seq30188__$2);\n}));\n\ncljs.pprint._STAR_format_str_STAR_ \x3d null;\ncljs.pprint.format_error \x3d (function cljs$pprint$format_error(message,offset){\nvar full_message \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(message),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_format_str_STAR_),\x22\\n\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(offset,\x22 \x22))),\x22^\x22,\x22\\n\x22].join(\x27\x27);\nthrow Error(full_message);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.arg_navigator \x3d (function (seq,rest,pos,__meta,__extmap,__hash){\nthis.seq \x3d seq;\nthis.rest \x3d rest;\nthis.pos \x3d pos;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k30201,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__30211 \x3d k30201;\nvar G__30211__$1 \x3d (((G__30211 instanceof cljs.core.Keyword))?G__30211.fqn:null);\nswitch (G__30211__$1) {\ncase \x22seq\x22:\nreturn self__.seq;\n\nbreak;\ncase \x22rest\x22:\nreturn self__.rest;\n\nbreak;\ncase \x22pos\x22:\nreturn self__.pos;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k30201,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__30213){\nvar vec__30216 \x3d p__30213;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30216,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30216,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.arg-navigator{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__30200){\nvar self__ \x3d this;\nvar G__30200__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__30200__$1,3,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (3 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-402038447 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this30202,other30203){\nvar self__ \x3d this;\nvar this30202__$1 \x3d this;\nreturn (((!((other30203 \x3d\x3d null)))) \x26\x26 ((((this30202__$1.constructor \x3d\x3d\x3d other30203.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30202__$1.seq,other30203.seq)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30202__$1.rest,other30203.rest)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30202__$1.pos,other30203.pos)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30202__$1.__extmap,other30203.__extmap)))))))))));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k30201){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__30254 \x3d k30201;\nvar G__30254__$1 \x3d (((G__30254 instanceof cljs.core.Keyword))?G__30254.fqn:null);\nswitch (G__30254__$1) {\ncase \x22seq\x22:\ncase \x22rest\x22:\ncase \x22pos\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k30201);\n\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__30200){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__30257 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__30258 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__30257.cljs$core$IFn$_invoke$arity$2 ? pred__30257.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__30258) : pred__30257.call(null,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),expr__30258)))){\nreturn (new cljs.pprint.arg_navigator(G__30200,self__.rest,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30257.cljs$core$IFn$_invoke$arity$2 ? pred__30257.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__30258) : pred__30257.call(null,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),expr__30258)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,G__30200,self__.pos,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30257.cljs$core$IFn$_invoke$arity$2 ? pred__30257.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__30258) : pred__30257.call(null,new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),expr__30258)))){\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,G__30200,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__30200),null));\n}\n}\n}\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),self__.seq,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),self__.rest,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220),self__.pos,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__30200){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.arg_navigator(self__.seq,self__.rest,self__.pos,G__30200,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.arg_navigator.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.arg_navigator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22pos\x22,\x22pos\x22,775924307,null)], null);\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$type \x3d true);\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/arg-navigator\x22,null,(1),null));\n}));\n\n(cljs.pprint.arg_navigator.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/arg-navigator\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/arg-navigator.\n */\ncljs.pprint.__GT_arg_navigator \x3d (function cljs$pprint$__GT_arg_navigator(seq,rest,pos){\nreturn (new cljs.pprint.arg_navigator(seq,rest,pos,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/arg-navigator, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_arg_navigator \x3d (function cljs$pprint$map__GT_arg_navigator(G__30205){\nvar extmap__5365__auto__ \x3d (function (){var G__30266 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__30205,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220)], 0));\nif(cljs.core.record_QMARK_(G__30205)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__30266);\n} else {\nreturn G__30266;\n}\n})();\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(G__30205),new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(G__30205),new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(G__30205),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n/**\n * Create a new arg-navigator from the sequence with the position set to 0\n */\ncljs.pprint.init_navigator \x3d (function cljs$pprint$init_navigator(s){\nvar s__$1 \x3d cljs.core.seq(s);\nreturn (new cljs.pprint.arg_navigator(s__$1,s__$1,(0),null,null,null));\n});\ncljs.pprint.next_arg \x3d (function cljs$pprint$next_arg(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nthrow Error(\x22Not enough arguments for format definition\x22);\n}\n});\ncljs.pprint.next_arg_or_nil \x3d (function cljs$pprint$next_arg_or_nil(navigator){\nvar rst \x3d new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator);\nif(cljs.core.truth_(rst)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(rst),(new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.next(rst),(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + (1)),null,null,null))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,navigator], null);\n}\n});\ncljs.pprint.get_format_arg \x3d (function cljs$pprint$get_format_arg(navigator){\nvar vec__30269 \x3d cljs.pprint.next_arg(navigator);\nvar raw_format \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30269,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30269,(1),null);\nvar compiled_format \x3d ((typeof raw_format \x3d\x3d\x3d \x27string\x27)?cljs.pprint.compile_format(raw_format):raw_format);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [compiled_format,navigator__$1], null);\n});\ncljs.pprint.absolute_reposition \x3d (function cljs$pprint$absolute_reposition(navigator,position){\nif((position \x3e\x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator))){\nvar G__30273 \x3d navigator;\nvar G__30274 \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) - position);\nreturn (cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2 ? cljs.pprint.relative_reposition.cljs$core$IFn$_invoke$arity$2(G__30273,G__30274) : cljs.pprint.relative_reposition.call(null,G__30273,G__30274));\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator)),position,null,null,null));\n}\n});\ncljs.pprint.relative_reposition \x3d (function cljs$pprint$relative_reposition(navigator,position){\nvar newpos \x3d (new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator) + position);\nif((position \x3c (0))){\nreturn cljs.pprint.absolute_reposition(navigator,newpos);\n} else {\nreturn (new cljs.pprint.arg_navigator(new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783).cljs$core$IFn$_invoke$arity$1(navigator),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(position,new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),newpos,null,null,null));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.pprint.compiled_directive \x3d (function (func,def,params,offset,__meta,__extmap,__hash){\nthis.func \x3d func;\nthis.def \x3d def;\nthis.params \x3d params;\nthis.offset \x3d offset;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k30276,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__30281 \x3d k30276;\nvar G__30281__$1 \x3d (((G__30281 instanceof cljs.core.Keyword))?G__30281.fqn:null);\nswitch (G__30281__$1) {\ncase \x22func\x22:\nreturn self__.func;\n\nbreak;\ncase \x22def\x22:\nreturn self__.def;\n\nbreak;\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22offset\x22:\nreturn self__.offset;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k30276,else__5326__auto__);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__30284){\nvar vec__30285 \x3d p__30284;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30285,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30285,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.pprint.compiled-directive{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset],null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__30275){\nvar self__ \x3d this;\nvar G__30275__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__30275__$1,4,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (4 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-829256337 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this30277,other30278){\nvar self__ \x3d this;\nvar this30277__$1 \x3d this;\nreturn (((!((other30278 \x3d\x3d null)))) \x26\x26 ((((this30277__$1.constructor \x3d\x3d\x3d other30278.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30277__$1.func,other30278.func)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30277__$1.def,other30278.def)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30277__$1.params,other30278.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30277__$1.offset,other30278.offset)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this30277__$1.__extmap,other30278.__extmap)))))))))))));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k30276){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__30292 \x3d k30276;\nvar G__30292__$1 \x3d (((G__30292 instanceof cljs.core.Keyword))?G__30292.fqn:null);\nswitch (G__30292__$1) {\ncase \x22func\x22:\ncase \x22def\x22:\ncase \x22params\x22:\ncase \x22offset\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k30276);\n\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__30275){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__30293 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__30294 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__30293.cljs$core$IFn$_invoke$arity$2 ? pred__30293.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__30294) : pred__30293.call(null,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),expr__30294)))){\nreturn (new cljs.pprint.compiled_directive(G__30275,self__.def,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30293.cljs$core$IFn$_invoke$arity$2 ? pred__30293.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__30294) : pred__30293.call(null,new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),expr__30294)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,G__30275,self__.params,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30293.cljs$core$IFn$_invoke$arity$2 ? pred__30293.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__30294) : pred__30293.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__30294)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,G__30275,self__.offset,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__30293.cljs$core$IFn$_invoke$arity$2 ? pred__30293.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__30294) : pred__30293.call(null,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),expr__30294)))){\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,G__30275,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__30275),null));\n}\n}\n}\n}\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),self__.func,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),self__.def,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),self__.offset,null))], null),self__.__extmap));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__30275){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.pprint.compiled_directive(self__.func,self__.def,self__.params,self__.offset,G__30275,self__.__extmap,self__.__hash));\n}));\n\n(cljs.pprint.compiled_directive.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.pprint.compiled_directive.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22func\x22,\x22func\x22,1401825487,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22offset\x22,\x22offset\x22,1937029838,null)], null);\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$type \x3d true);\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.pprint/compiled-directive\x22,null,(1),null));\n}));\n\n(cljs.pprint.compiled_directive.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.pprint/compiled-directive\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/compiled-directive.\n */\ncljs.pprint.__GT_compiled_directive \x3d (function cljs$pprint$__GT_compiled_directive(func,def,params,offset){\nreturn (new cljs.pprint.compiled_directive(func,def,params,offset,null,null,null));\n});\n\n/**\n * Factory function for cljs.pprint/compiled-directive, taking a map of keywords to field values.\n */\ncljs.pprint.map__GT_compiled_directive \x3d (function cljs$pprint$map__GT_compiled_directive(G__30279){\nvar extmap__5365__auto__ \x3d (function (){var G__30307 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__30279,new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], 0));\nif(cljs.core.record_QMARK_(G__30279)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__30307);\n} else {\nreturn G__30307;\n}\n})();\nreturn (new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(G__30279),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(G__30279),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__30279),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(G__30279),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\ncljs.pprint.realize_parameter \x3d (function cljs$pprint$realize_parameter(p__30315,navigator){\nvar vec__30320 \x3d p__30315;\nvar param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30320,(0),null);\nvar vec__30323 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30320,(1),null);\nvar raw_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30323,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30323,(1),null);\nvar vec__30327 \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),param))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196)))?cljs.pprint.next_arg(navigator):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(raw_val,new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.count(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)),navigator], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [raw_val,navigator], null)\n)));\nvar real_param \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30327,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30327,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [real_param,offset], null)], null),new_navigator], null);\n});\ncljs.pprint.realize_parameter_list \x3d (function cljs$pprint$realize_parameter_list(parameter_map,navigator){\nvar vec__30335 \x3d cljs.pprint.map_passing_context(cljs.pprint.realize_parameter,navigator,parameter_map);\nvar pairs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30335,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30335,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,pairs),new_navigator], null);\n});\ncljs.pprint.special_radix_markers \x3d new cljs.core.PersistentArrayMap(null, 3, [(2),\x22#b\x22,(8),\x22#o\x22,(16),\x22#x\x22], null);\ncljs.pprint.format_simple_number \x3d (function cljs$pprint$format_simple_number(n){\nif(cljs.core.integer_QMARK_(n)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.pprint._STAR_print_base_STAR_,(10))){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),(cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?\x22.\x22:null)].join(\x27\x27);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(cljs.pprint._STAR_print_radix_STAR_)?(function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_radix_markers,cljs.pprint._STAR_print_base_STAR_);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_print_base_STAR_),\x22r\x22].join(\x27\x27);\n}\n})():null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.opt_base_str(cljs.pprint._STAR_print_base_STAR_,n))].join(\x27\x27);\n}\n} else {\nreturn null;\n\n}\n});\ncljs.pprint.format_ascii \x3d (function cljs$pprint$format_ascii(print_func,params,arg_navigator,offsets){\nvar vec__30345 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30345,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30345,(1),null);\nvar base_output \x3d (function (){var or__5025__auto__ \x3d cljs.pprint.format_simple_number(arg);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (print_func.cljs$core$IFn$_invoke$arity$1 ? print_func.cljs$core$IFn$_invoke$arity$1(arg) : print_func.call(null,arg));\n}\n})();\nvar base_width \x3d base_output.length;\nvar min_width \x3d (base_width + new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params));\nvar width \x3d (((min_width \x3e\x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?min_width:(min_width + ((cljs.core.quot(((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - min_width) - (1)),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params)) + (1)) * new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params))));\nvar chars \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((width - base_width),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars),cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output)].join(\x27\x27)], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(base_output),cljs.core.str.cljs$core$IFn$_invoke$arity$1(chars)].join(\x27\x27)], 0));\n}\n\nreturn arg_navigator__$1;\n});\n/**\n * returns true if a number is actually an integer (that is, has no fractional part)\n */\ncljs.pprint.integral_QMARK_ \x3d (function cljs$pprint$integral_QMARK_(x){\nif(cljs.core.integer_QMARK_(x)){\nreturn true;\n} else {\nif(cljs.pprint.float_QMARK_(x)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,Math.floor(x));\n} else {\nreturn false;\n\n}\n}\n});\n/**\n * Return the list of remainders (essentially the \x27digits\x27) of val in the given base\n */\ncljs.pprint.remainders \x3d (function cljs$pprint$remainders(base,val){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (p1__30352_SHARP_){\nif((p1__30352_SHARP_ \x3e (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.rem(p1__30352_SHARP_,base),cljs.core.quot(p1__30352_SHARP_,base)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n}\n}),val)));\n});\n/**\n * Return val as a string in the given base\n */\ncljs.pprint.base_str \x3d (function cljs$pprint$base_str(base,val){\nif((val \x3d\x3d\x3d (0))){\nreturn \x220\x22;\n} else {\nvar xlated_val \x3d val\n;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30354_SHARP_){\nif((p1__30354_SHARP_ \x3c (10))){\nreturn cljs.core.char$((cljs.pprint.char_code(\x220\x22) + p1__30354_SHARP_));\n} else {\nreturn cljs.core.char$((cljs.pprint.char_code(\x22a\x22) + (p1__30354_SHARP_ - (10))));\n}\n}),cljs.pprint.remainders(base,val)));\n}\n});\ncljs.pprint.javascript_base_formats \x3d new cljs.core.PersistentArrayMap(null, 3, [(8),\x22%o\x22,(10),\x22%d\x22,(16),\x22%x\x22], null);\n/**\n * Return val as a string in the given base. No cljs format, so no improved performance.\n */\ncljs.pprint.opt_base_str \x3d (function cljs$pprint$opt_base_str(base,val){\nreturn cljs.pprint.base_str(base,val);\n});\ncljs.pprint.group_by_STAR_ \x3d (function cljs$pprint$group_by_STAR_(unit,lis){\nreturn cljs.core.reverse(cljs.core.first(cljs.pprint.consume((function (x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.reverse(cljs.core.take.cljs$core$IFn$_invoke$arity$2(unit,x))),cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(unit,x))], null);\n}),cljs.core.reverse(lis))));\n});\ncljs.pprint.format_integer \x3d (function cljs$pprint$format_integer(base,params,arg_navigator,offsets){\nvar vec__30370 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30370,(0),null);\nvar arg_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30370,(1),null);\nif(cljs.pprint.integral_QMARK_(arg)){\nvar neg_31753 \x3d (arg \x3c (0));\nvar pos_arg_31754 \x3d ((neg_31753)?(- arg):arg);\nvar raw_str_31755 \x3d cljs.pprint.opt_base_str(base,pos_arg_31754);\nvar group_str_31756 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(function (){var groups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__30365_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,p1__30365_SHARP_);\n}),cljs.pprint.group_by_STAR_(new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083).cljs$core$IFn$_invoke$arity$1(params),raw_str_31755));\nvar commas \x3d cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(cljs.core.count(groups),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327).cljs$core$IFn$_invoke$arity$1(params));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.next(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(commas,groups)));\n})():raw_str_31755);\nvar signed_str_31757 \x3d ((neg_31753)?[\x22-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_31756)].join(\x27\x27):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?[\x22+\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(group_str_31756)].join(\x27\x27):group_str_31756\n));\nvar padded_str_31758 \x3d (((signed_str_31757.length \x3c new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params) - signed_str_31757.length),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(signed_str_31757)].join(\x27\x27):signed_str_31757);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([padded_str_31758], 0));\n} else {\ncljs.pprint.format_ascii(cljs.core.print_str,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),(1),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),null);\n}\n\nreturn arg_navigator__$1;\n});\ncljs.pprint.english_cardinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zero\x22,\x22one\x22,\x22two\x22,\x22three\x22,\x22four\x22,\x22five\x22,\x22six\x22,\x22seven\x22,\x22eight\x22,\x22nine\x22,\x22ten\x22,\x22eleven\x22,\x22twelve\x22,\x22thirteen\x22,\x22fourteen\x22,\x22fifteen\x22,\x22sixteen\x22,\x22seventeen\x22,\x22eighteen\x22,\x22nineteen\x22], null);\ncljs.pprint.english_ordinal_units \x3d new cljs.core.PersistentVector(null, 20, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22zeroth\x22,\x22first\x22,\x22second\x22,\x22third\x22,\x22fourth\x22,\x22fifth\x22,\x22sixth\x22,\x22seventh\x22,\x22eighth\x22,\x22ninth\x22,\x22tenth\x22,\x22eleventh\x22,\x22twelfth\x22,\x22thirteenth\x22,\x22fourteenth\x22,\x22fifteenth\x22,\x22sixteenth\x22,\x22seventeenth\x22,\x22eighteenth\x22,\x22nineteenth\x22], null);\ncljs.pprint.english_cardinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twenty\x22,\x22thirty\x22,\x22forty\x22,\x22fifty\x22,\x22sixty\x22,\x22seventy\x22,\x22eighty\x22,\x22ninety\x22], null);\ncljs.pprint.english_ordinal_tens \x3d new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22,\x22twentieth\x22,\x22thirtieth\x22,\x22fortieth\x22,\x22fiftieth\x22,\x22sixtieth\x22,\x22seventieth\x22,\x22eightieth\x22,\x22ninetieth\x22], null);\ncljs.pprint.english_scale_numbers \x3d new cljs.core.PersistentVector(null, 22, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22thousand\x22,\x22million\x22,\x22billion\x22,\x22trillion\x22,\x22quadrillion\x22,\x22quintillion\x22,\x22sextillion\x22,\x22septillion\x22,\x22octillion\x22,\x22nonillion\x22,\x22decillion\x22,\x22undecillion\x22,\x22duodecillion\x22,\x22tredecillion\x22,\x22quattuordecillion\x22,\x22quindecillion\x22,\x22sexdecillion\x22,\x22septendecillion\x22,\x22octodecillion\x22,\x22novemdecillion\x22,\x22vigintillion\x22], null);\n/**\n * Convert a number less than 1000 to a cardinal english string\n */\ncljs.pprint.format_simple_cardinal \x3d (function cljs$pprint$format_simple_cardinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,unit_digit):null))].join(\x27\x27);\n})()):null))].join(\x27\x27);\n});\n/**\n * Take a sequence of parts, add scale numbers (e.g., million) and combine into a string\n * offset is a factor of 10^3 to multiply by\n */\ncljs.pprint.add_english_scales \x3d (function cljs$pprint$add_english_scales(parts,offset){\nvar cnt \x3d cljs.core.count(parts);\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar pos \x3d (cnt - (1));\nvar this$ \x3d cljs.core.first(parts);\nvar remainder \x3d cljs.core.next(parts);\nwhile(true){\nif((remainder \x3d\x3d null)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,acc))),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 ((!(cljs.core.empty_QMARK_(acc))))))?\x22, \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),(((((!(cljs.core.empty_QMARK_(this$)))) \x26\x26 (((pos + offset) \x3e (0)))))?[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27):null)].join(\x27\x27);\n} else {\nvar G__31767 \x3d ((cljs.core.empty_QMARK_(this$))?acc:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_scale_numbers,(pos + offset)))].join(\x27\x27)));\nvar G__31768 \x3d (pos - (1));\nvar G__31769 \x3d cljs.core.first(remainder);\nvar G__31770 \x3d cljs.core.next(remainder);\nacc \x3d G__31767;\npos \x3d G__31768;\nthis$ \x3d G__31769;\nremainder \x3d G__31770;\ncontinue;\n}\nbreak;\n}\n});\ncljs.pprint.format_cardinal_english \x3d (function cljs$pprint$format_cardinal_english(params,navigator,offsets){\nvar vec__30388 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30388,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30388,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zero\x22], 0));\n} else {\nvar abs_arg_31771 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_31772 \x3d cljs.pprint.remainders((1000),abs_arg_31771);\nif((cljs.core.count(parts_31772) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_31773 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,parts_31772);\nvar full_str_31774 \x3d cljs.pprint.add_english_scales(parts_strs_31773,(0));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),full_str_31774].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n}\n\nreturn navigator__$1;\n});\n/**\n * Convert a number less than 1000 to a ordinal english string\n * Note this should only be used for the last one in the sequence\n */\ncljs.pprint.format_simple_ordinal \x3d (function cljs$pprint$format_simple_ordinal(num){\nvar hundreds \x3d cljs.core.quot(num,(100));\nvar tens \x3d cljs.core.rem(num,(100));\nreturn [(((hundreds \x3e (0)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_units,hundreds)),\x22 hundred\x22].join(\x27\x27):null),(((((hundreds \x3e (0))) \x26\x26 ((tens \x3e (0)))))?\x22 \x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((tens \x3e (0)))?(((tens \x3c (20)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,tens):(function (){var ten_digit \x3d cljs.core.quot(tens,(10));\nvar unit_digit \x3d cljs.core.rem(tens,(10));\nif((((ten_digit \x3e (0))) \x26\x26 ((!((unit_digit \x3e (0))))))){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_tens,ten_digit);\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((((ten_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_cardinal_tens,ten_digit):null)),(((((ten_digit \x3e (0))) \x26\x26 ((unit_digit \x3e (0)))))?\x22-\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((unit_digit \x3e (0)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.pprint.english_ordinal_units,unit_digit):null))].join(\x27\x27);\n}\n})()):(((hundreds \x3e (0)))?\x22th\x22:null)))].join(\x27\x27);\n});\ncljs.pprint.format_ordinal_english \x3d (function cljs$pprint$format_ordinal_english(params,navigator,offsets){\nvar vec__30397 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30397,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30397,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),arg)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22zeroth\x22], 0));\n} else {\nvar abs_arg_31786 \x3d (((arg \x3c (0)))?(- arg):arg);\nvar parts_31787 \x3d cljs.pprint.remainders((1000),abs_arg_31786);\nif((cljs.core.count(parts_31787) \x3c\x3d cljs.core.count(cljs.pprint.english_scale_numbers))){\nvar parts_strs_31788 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.format_simple_cardinal,cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1(parts_31787));\nvar head_str_31789 \x3d cljs.pprint.add_english_scales(parts_strs_31788,(1));\nvar tail_str_31790 \x3d cljs.pprint.format_simple_ordinal(cljs.core.last(parts_31787));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(((arg \x3c (0)))?\x22minus \x22:null),(((((!(cljs.core.empty_QMARK_(head_str_31789)))) \x26\x26 ((!(cljs.core.empty_QMARK_(tail_str_31790))))))?[head_str_31789,\x22, \x22,tail_str_31790].join(\x27\x27):(((!(cljs.core.empty_QMARK_(head_str_31789))))?[head_str_31789,\x22th\x22].join(\x27\x27):tail_str_31790\n))].join(\x27\x27)], 0));\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n\nvar low_two_digits_31800 \x3d cljs.core.rem(arg,(100));\nvar not_teens_31801 \x3d ((((11) \x3c low_two_digits_31800)) || (((19) \x3e low_two_digits_31800)));\nvar low_digit_31802 \x3d cljs.core.rem(low_two_digits_31800,(10));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(((((low_digit_31802 \x3d\x3d\x3d (1))) \x26\x26 (not_teens_31801)))?\x22st\x22:(((((low_digit_31802 \x3d\x3d\x3d (2))) \x26\x26 (not_teens_31801)))?\x22nd\x22:(((((low_digit_31802 \x3d\x3d\x3d (3))) \x26\x26 (not_teens_31801)))?\x22rd\x22:\x22th\x22\n)))], 0));\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.old_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IIII\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22VIIII\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XXXX\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22LXXXX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CCCC\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22DCCCC\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\ncljs.pprint.new_roman_table \x3d new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22I\x22,\x22II\x22,\x22III\x22,\x22IV\x22,\x22V\x22,\x22VI\x22,\x22VII\x22,\x22VIII\x22,\x22IX\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22X\x22,\x22XX\x22,\x22XXX\x22,\x22XL\x22,\x22L\x22,\x22LX\x22,\x22LXX\x22,\x22LXXX\x22,\x22XC\x22], null),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22C\x22,\x22CC\x22,\x22CCC\x22,\x22CD\x22,\x22D\x22,\x22DC\x22,\x22DCC\x22,\x22DCCC\x22,\x22CM\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22M\x22,\x22MM\x22,\x22MMM\x22], null)], null);\n/**\n * Format a roman numeral using the specified look-up table\n */\ncljs.pprint.format_roman \x3d (function cljs$pprint$format_roman(table,params,navigator,offsets){\nvar vec__30404 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30404,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30404,(1),null);\nif(((typeof arg \x3d\x3d\x3d \x27number\x27) \x26\x26 ((((arg \x3e (0))) \x26\x26 ((arg \x3c (4000))))))){\nvar digits_31814 \x3d cljs.pprint.remainders((10),arg);\nvar acc_31815 \x3d cljs.core.PersistentVector.EMPTY;\nvar pos_31816 \x3d (cljs.core.count(digits_31814) - (1));\nvar digits_31817__$1 \x3d digits_31814;\nwhile(true){\nif(cljs.core.empty_QMARK_(digits_31817__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,acc_31815)], 0));\n} else {\nvar digit_31818 \x3d cljs.core.first(digits_31817__$1);\nvar G__31819 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),digit_31818))?acc_31815:cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc_31815,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(table,pos_31816),(digit_31818 - (1)))));\nvar G__31820 \x3d (pos_31816 - (1));\nvar G__31821 \x3d cljs.core.next(digits_31817__$1);\nacc_31815 \x3d G__31819;\npos_31816 \x3d G__31820;\ndigits_31817__$1 \x3d G__31821;\ncontinue;\n}\nbreak;\n}\n} else {\ncljs.pprint.format_integer((10),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),\x22 \x22,new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),\x22,\x22,new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(3),new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),true], null),cljs.pprint.init_navigator(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg], null)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),(0),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),(0),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),(0),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),(0)], null));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.format_old_roman \x3d (function cljs$pprint$format_old_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.old_roman_table,params,navigator,offsets);\n});\ncljs.pprint.format_new_roman \x3d (function cljs$pprint$format_new_roman(params,navigator,offsets){\nreturn cljs.pprint.format_roman(cljs.pprint.new_roman_table,params,navigator,offsets);\n});\ncljs.pprint.special_chars \x3d new cljs.core.PersistentArrayMap(null, 5, [(8),\x22Backspace\x22,(9),\x22Tab\x22,(10),\x22Newline\x22,(13),\x22Return\x22,(32),\x22Space\x22], null);\ncljs.pprint.pretty_character \x3d (function cljs$pprint$pretty_character(params,navigator,offsets){\nvar vec__30411 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30411,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30411,(1),null);\nvar as_int \x3d cljs.pprint.char_code(c);\nvar base_char \x3d (as_int \x26 (127));\nvar meta \x3d (as_int \x26 (128));\nvar special \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.special_chars,base_char);\nif((meta \x3e (0))){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Meta-\x22], 0));\n} else {\n}\n\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(special)?special:(((base_char \x3c (32)))?[\x22Control-\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.char$((base_char + (64))))].join(\x27\x27):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(base_char,(127)))?\x22Control-?\x22:cljs.core.char$(base_char)\n)))], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.readable_character \x3d (function cljs$pprint$readable_character(params,navigator,offsets){\nvar vec__30414 \x3d cljs.pprint.next_arg(navigator);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30414,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30414,(1),null);\nvar pred__30417_31829 \x3d cljs.core._EQ_;\nvar expr__30418_31830 \x3d new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_((function (){var G__30420 \x3d \x22o\x22;\nvar G__30421 \x3d expr__30418_31830;\nreturn (pred__30417_31829.cljs$core$IFn$_invoke$arity$2 ? pred__30417_31829.cljs$core$IFn$_invoke$arity$2(G__30420,G__30421) : pred__30417_31829.call(null,G__30420,G__30421));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\o~3,\x270o\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((function (){var G__30422 \x3d \x22u\x22;\nvar G__30423 \x3d expr__30418_31830;\nreturn (pred__30417_31829.cljs$core$IFn$_invoke$arity$2 ? pred__30417_31829.cljs$core$IFn$_invoke$arity$2(G__30422,G__30423) : pred__30417_31829.call(null,G__30422,G__30423));\n})())){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\\u~4,\x270x\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.pprint.char_code(c)], 0));\n} else {\nif(cljs.core.truth_((pred__30417_31829.cljs$core$IFn$_invoke$arity$2 ? pred__30417_31829.cljs$core$IFn$_invoke$arity$2(null,expr__30418_31830) : pred__30417_31829.call(null,null,expr__30418_31830)))){\ncljs.pprint.print_char(c);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30418_31830)].join(\x27\x27)));\n}\n}\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.plain_character \x3d (function cljs$pprint$plain_character(params,navigator,offsets){\nvar vec__30424 \x3d cljs.pprint.next_arg(navigator);\nvar char$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30424,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30424,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([char$], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.abort_QMARK_ \x3d (function cljs$pprint$abort_QMARK_(context){\nvar token \x3d cljs.core.first(context);\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),token)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),token)));\n});\ncljs.pprint.execute_sub_format \x3d (function cljs$pprint$execute_sub_format(format,args,base_args){\nreturn cljs.core.second(cljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__30427 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30427,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30427,(1),null);\nvar vec__30430 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30430,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30430,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),base_args);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format));\n});\n/**\n * Produce string parts for the mantissa (normalize 1-9) and exponent\n */\ncljs.pprint.float_parts_base \x3d (function cljs$pprint$float_parts_base(f){\nvar s \x3d clojure.string.lower_case(cljs.core.str.cljs$core$IFn$_invoke$arity$1(f));\nvar exploc \x3d s.indexOf(\x22e\x22);\nvar dotloc \x3d s.indexOf(\x22.\x22);\nif((exploc \x3c (0))){\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,cljs.core.str.cljs$core$IFn$_invoke$arity$1((((s).length) - (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),dotloc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(dotloc + (1)))].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1((dotloc - (1)))], null);\n}\n} else {\nif((dotloc \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),exploc),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),(1)),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(2),exploc)].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(exploc + (1)))], null);\n}\n}\n});\n/**\n * Take care of leading and trailing zeros in decomposed floats\n */\ncljs.pprint.float_parts \x3d (function cljs$pprint$float_parts(f){\nvar vec__30438 \x3d cljs.pprint.float_parts_base(f);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30438,(0),null);\nvar e \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30438,(1),null);\nvar m1 \x3d cljs.pprint.rtrim(m,\x220\x22);\nvar m2 \x3d cljs.pprint.ltrim(m1,\x220\x22);\nvar delta \x3d (cljs.core.count(m1) - cljs.core.count(m2));\nvar e__$1 \x3d (((((cljs.core.count(e) \x3e (0))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(e,(0)),\x22+\x22))))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(e,(1)):e);\nif(cljs.core.empty_QMARK_(m2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m2,(parseInt(e__$1,(10)) - delta)], null);\n}\n});\n/**\n * Assumption: The input string consists of one or more decimal digits,\n * and no other characters. Return a string containing one or more\n * decimal digits containing a decimal number one larger than the input\n * string. The output string will always be the same length as the input\n * string, or one character longer.\n */\ncljs.pprint.inc_s \x3d (function cljs$pprint$inc_s(s){\nvar len_1 \x3d (cljs.core.count(s) - (1));\nvar i \x3d (len_1 | (0));\nwhile(true){\nif((i \x3c (0))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x221\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 + (1)),\x220\x22));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x229\x22,s.charAt(i))){\nvar G__31839 \x3d (i - (1));\ni \x3d G__31839;\ncontinue;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i),cljs.core.char$((cljs.pprint.char_code(s.charAt(i)) + (1))),cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((len_1 - i),\x220\x22));\n\n}\n}\nbreak;\n}\n});\ncljs.pprint.round_str \x3d (function cljs$pprint$round_str(m,e,d,w){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d d;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn w;\n}\n})())){\nvar len \x3d cljs.core.count(m);\nvar w__$1 \x3d (cljs.core.truth_(w)?(function (){var x__5110__auto__ \x3d (2);\nvar y__5111__auto__ \x3d w;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})():(0));\nvar round_pos \x3d (cljs.core.truth_(d)?((e + d) + (1)):(((e \x3e\x3d (0)))?(function (){var x__5110__auto__ \x3d (e + (1));\nvar y__5111__auto__ \x3d (w__$1 - (1));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})():(w__$1 + e)\n));\nvar vec__30446 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(round_pos,(0)))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x220\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(e + (1)),(1),(len + (1))], null):new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,round_pos,len], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30446,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30446,(1),null);\nvar round_pos__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30446,(2),null);\nvar len__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30446,(3),null);\nif(cljs.core.truth_(round_pos__$1)){\nif((round_pos__$1 \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x220\x22,(0),false], null);\n} else {\nif((len__$1 \x3e round_pos__$1)){\nvar round_char \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(m1,round_pos__$1);\nvar result \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m1,(0),round_pos__$1);\nif((cljs.pprint.char_code(round_char) \x3e\x3d cljs.pprint.char_code(\x225\x22))){\nvar round_up_result \x3d cljs.pprint.inc_s(result);\nvar expanded \x3d (cljs.core.count(round_up_result) \x3e ((result).length));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [((expanded)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(round_up_result,(0),(cljs.core.count(round_up_result) - (1))):round_up_result),e1,expanded], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [result,e1,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e,false], null);\n}\n});\ncljs.pprint.expand_fixed \x3d (function cljs$pprint$expand_fixed(m,e,d){\nvar vec__30457 \x3d (((e \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((- e) - (1)),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27),(-1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,e], null));\nvar m1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30457,(0),null);\nvar e1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30457,(1),null);\nvar len \x3d cljs.core.count(m1);\nvar target_len \x3d (cljs.core.truth_(d)?((e1 + d) + (1)):(e1 + (1)));\nif((len \x3c target_len)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(m1),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((target_len - len),\x220\x22)))].join(\x27\x27);\n} else {\nreturn m1;\n}\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_decimal \x3d (function cljs$pprint$insert_decimal(m,e){\nif((e \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nvar loc \x3d (e + (1));\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),loc),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,loc)].join(\x27\x27);\n}\n});\ncljs.pprint.get_fixed \x3d (function cljs$pprint$get_fixed(m,e,d){\nreturn cljs.pprint.insert_decimal(cljs.pprint.expand_fixed(m,e,d),e);\n});\n/**\n * Insert the decimal point at the right spot in the number to match an exponent\n */\ncljs.pprint.insert_scaled_decimal \x3d (function cljs$pprint$insert_scaled_decimal(m,k){\nif((k \x3c (0))){\nreturn [\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m)].join(\x27\x27);\n} else {\nreturn [cljs.core.subs.cljs$core$IFn$_invoke$arity$3(m,(0),k),\x22.\x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(m,k)].join(\x27\x27);\n}\n});\ncljs.pprint.convert_ratio \x3d (function cljs$pprint$convert_ratio(x){\nreturn x;\n});\ncljs.pprint.fixed_float \x3d (function cljs$pprint$fixed_float(params,navigator,offsets){\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__30477 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30477,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30477,(1),null);\nvar vec__30480 \x3d (((arg \x3c (0)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22-\x22,(- arg)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22+\x22,arg], null));\nvar sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30480,(0),null);\nvar abs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30480,(1),null);\nvar abs__$1 \x3d cljs.pprint.convert_ratio(abs);\nvar vec__30483 \x3d cljs.pprint.float_parts(abs__$1);\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30483,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30483,(1),null);\nvar scaled_exp \x3d (exp + new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params));\nvar add_sign \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar append_zero \x3d ((cljs.core.not(d)) \x26\x26 (((cljs.core.count(mantissa) - (1)) \x3c\x3d scaled_exp)));\nvar vec__30486 \x3d cljs.pprint.round_str(mantissa,scaled_exp,d,(cljs.core.truth_(w)?(w - (cljs.core.truth_(add_sign)?(1):(0))):null));\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30486,(0),null);\nvar scaled_exp__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30486,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30486,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp__$1 + (1)):scaled_exp__$1),d);\nvar fixed_repr__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d w;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d d;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (((d \x3e\x3d (1))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((0)),\x220\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fixed_repr.charAt((1)),\x22.\x22)) \x26\x26 ((((fixed_repr).length) \x3e (w - (cljs.core.truth_(add_sign)?(1):(0))))))))));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(fixed_repr,(1)):fixed_repr);\nvar prepend_zero \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fixed_repr__$1),\x22.\x22);\nif(cljs.core.truth_(w)){\nvar len_31944 \x3d ((fixed_repr__$1).length);\nvar signed_len_31945 \x3d (cljs.core.truth_(add_sign)?(len_31944 + (1)):len_31944);\nvar prepend_zero_31946__$1 \x3d ((prepend_zero) \x26\x26 ((!((signed_len_31945 \x3e\x3d w)))));\nvar append_zero_31947__$1 \x3d ((append_zero) \x26\x26 ((!((signed_len_31945 \x3e\x3d w)))));\nvar full_len_31948 \x3d ((((prepend_zero_31946__$1) || (append_zero_31947__$1)))?(signed_len_31945 + (1)):signed_len_31945);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (full_len_31948 \x3e w);\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len_31948),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero_31946__$1)?\x220\x22:null),fixed_repr__$1,((append_zero_31947__$1)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(add_sign)?sign:null)),((prepend_zero)?\x220\x22:null),fixed_repr__$1,((append_zero)?\x220\x22:null)].join(\x27\x27)], 0));\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.exponential_float \x3d (function cljs$pprint$exponential_float(params,navigator,offset){\nvar vec__30523 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30523,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30523,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar G__30529_31955 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar vec__30531_31956 \x3d G__30529_31955;\nvar mantissa_31957 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30531_31956,(0),null);\nvar exp_31958 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30531_31956,(1),null);\nvar G__30529_31961__$1 \x3d G__30529_31955;\nwhile(true){\nvar vec__30535_31962 \x3d G__30529_31961__$1;\nvar mantissa_31963__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30535_31962,(0),null);\nvar exp_31964__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30535_31962,(1),null);\nvar w_31965 \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d_31966 \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e_31967 \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar k_31968 \x3d new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393).cljs$core$IFn$_invoke$arity$1(params);\nvar expchar_31969 \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22E\x22;\n}\n})();\nvar add_sign_31970 \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (arg__$1 \x3c (0));\n}\n})();\nvar prepend_zero_31971 \x3d (k_31968 \x3c\x3d (0));\nvar scaled_exp_31972 \x3d (exp_31964__$1 - (k_31968 - (1)));\nvar scaled_exp_str_31973 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(Math.abs(scaled_exp_31972));\nvar scaled_exp_str_31974__$1 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(expchar_31969),(((scaled_exp_31972 \x3c (0)))?\x22-\x22:\x22+\x22),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(e_31967)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((e_31967 - ((scaled_exp_str_31973).length)),\x220\x22)):null)),scaled_exp_str_31973].join(\x27\x27);\nvar exp_width_31975 \x3d ((scaled_exp_str_31974__$1).length);\nvar base_mantissa_width_31976 \x3d cljs.core.count(mantissa_31963__$1);\nvar scaled_mantissa_31977 \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((- k_31968),\x220\x22))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(mantissa_31963__$1),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(d_31966)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((d_31966 - (base_mantissa_width_31976 - (1))) - (((k_31968 \x3c (0)))?(- k_31968):(0))),\x220\x22)):null))].join(\x27\x27);\nvar w_mantissa_31978 \x3d (cljs.core.truth_(w_31965)?(w_31965 - exp_width_31975):null);\nvar vec__30539_31979 \x3d cljs.pprint.round_str(scaled_mantissa_31977,(0),((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_31968,(0)))?(d_31966 - (1)):(((k_31968 \x3e (0)))?d_31966:(((k_31968 \x3c (0)))?(d_31966 - (1)):null))),(cljs.core.truth_(w_mantissa_31978)?(w_mantissa_31978 - (cljs.core.truth_(add_sign_31970)?(1):(0))):null));\nvar rounded_mantissa_31980 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30539_31979,(0),null);\nvar __31981 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30539_31979,(1),null);\nvar incr_exp_31982 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30539_31979,(2),null);\nvar full_mantissa_31983 \x3d cljs.pprint.insert_scaled_decimal(rounded_mantissa_31980,k_31968);\nvar append_zero_31984 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k_31968,cljs.core.count(rounded_mantissa_31980))) \x26\x26 ((d_31966 \x3d\x3d null)));\nif(cljs.core.not(incr_exp_31982)){\nif(cljs.core.truth_(w_31965)){\nvar len_32003 \x3d (((full_mantissa_31983).length) + exp_width_31975);\nvar signed_len_32004 \x3d (cljs.core.truth_(add_sign_31970)?(len_32003 + (1)):len_32003);\nvar prepend_zero_32005__$1 \x3d ((prepend_zero_31971) \x26\x26 ((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(signed_len_32004,w_31965)))));\nvar full_len_32006 \x3d ((prepend_zero_32005__$1)?(signed_len_32004 + (1)):signed_len_32004);\nvar append_zero_32007__$1 \x3d ((append_zero_31984) \x26\x26 ((full_len_32006 \x3c w_31965)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (function (){var or__5025__auto__ \x3d (full_len_32006 \x3e w_31965);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d e_31967;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((exp_width_31975 - (2)) \x3e e_31967);\n} else {\nreturn and__5023__auto__;\n}\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(w_31965,new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params)))], 0));\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((w_31965 - full_len_32006) - ((append_zero_32007__$1)?(1):(0))),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_(add_sign_31970)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_32005__$1)?\x220\x22:null),full_mantissa_31983,((append_zero_32007__$1)?\x220\x22:null),scaled_exp_str_31974__$1].join(\x27\x27)], 0));\n}\n} else {\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_(add_sign_31970)?(((arg__$1 \x3c (0)))?\x22-\x22:\x22+\x22):null),((prepend_zero_31971)?\x220\x22:null),full_mantissa_31983,((append_zero_31984)?\x220\x22:null),scaled_exp_str_31974__$1].join(\x27\x27)], 0));\n}\n} else {\nvar G__32018 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rounded_mantissa_31980,(exp_31964__$1 + (1))], null);\nG__30529_31961__$1 \x3d G__32018;\ncontinue;\n}\nbreak;\n}\n\nreturn navigator__$1;\n});\ncljs.pprint.general_float \x3d (function cljs$pprint$general_float(params,navigator,offsets){\nvar vec__30564 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30564,(0),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30564,(1),null);\nvar arg__$1 \x3d cljs.pprint.convert_ratio(arg);\nvar vec__30567 \x3d cljs.pprint.float_parts((((arg__$1 \x3c (0)))?(- arg__$1):arg__$1));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30567,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30567,(1),null);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar e \x3d new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg__$1,0.0))?(0):(exp + (1)));\nvar ee \x3d (cljs.core.truth_(e)?(e + (2)):(4));\nvar ww \x3d (cljs.core.truth_(w)?(w - ee):null);\nvar d__$1 \x3d (cljs.core.truth_(d)?d:(function (){var x__5110__auto__ \x3d cljs.core.count(mantissa);\nvar y__5111__auto__ \x3d (function (){var x__5113__auto__ \x3d n;\nvar y__5114__auto__ \x3d (7);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})());\nvar dd \x3d (d__$1 - n);\nif(((((0) \x3c\x3d dd)) \x26\x26 ((dd \x3c\x3d d__$1)))){\nvar navigator__$1 \x3d cljs.pprint.fixed_float(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),ww,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),dd,new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),(0),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params)], null),navigator,offsets);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(ee,\x22 \x22))], 0));\n\nreturn navigator__$1;\n} else {\nreturn cljs.pprint.exponential_float(params,navigator,offsets);\n}\n});\ncljs.pprint.dollar_float \x3d (function cljs$pprint$dollar_float(params,navigator,offsets){\nvar vec__30583 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30583,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30583,(1),null);\nvar vec__30586 \x3d cljs.pprint.float_parts(Math.abs(arg));\nvar mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30586,(0),null);\nvar exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30586,(1),null);\nvar d \x3d new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424).cljs$core$IFn$_invoke$arity$1(params);\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params);\nvar w \x3d new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(params);\nvar add_sign \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (arg \x3c (0));\n}\n})();\nvar vec__30589 \x3d cljs.pprint.round_str(mantissa,exp,d,null);\nvar rounded_mantissa \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30589,(0),null);\nvar scaled_exp \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30589,(1),null);\nvar expanded \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30589,(2),null);\nvar fixed_repr \x3d cljs.pprint.get_fixed(rounded_mantissa,(cljs.core.truth_(expanded)?(scaled_exp + (1)):scaled_exp),d);\nvar full_repr \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((n - fixed_repr.indexOf(\x22.\x22)),\x220\x22))),fixed_repr].join(\x27\x27);\nvar full_len \x3d (((full_repr).length) + (cljs.core.truth_(add_sign)?(1):(0)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn add_sign;\n} else {\nreturn and__5023__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((w - full_len),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)))),(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params));\nif(and__5023__auto__){\nreturn add_sign;\n} else {\nreturn and__5023__auto__;\n}\n})())?(((arg \x3c (0)))?\x22-\x22:\x22+\x22):null),full_repr].join(\x27\x27)], 0));\n\nreturn navigator__$1;\n});\ncljs.pprint.choice_conditional \x3d (function cljs$pprint$choice_conditional(params,arg_navigator,offsets){\nvar arg \x3d new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__30604 \x3d (cljs.core.truth_(arg)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arg,arg_navigator], null):cljs.pprint.next_arg(arg_navigator));\nvar arg__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30604,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30604,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (((((arg__$1 \x3c (0))) || ((arg__$1 \x3e\x3d cljs.core.count(clauses)))))?cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params)):cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,arg__$1));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.boolean_conditional \x3d (function cljs$pprint$boolean_conditional(params,arg_navigator,offsets){\nvar vec__30607 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30607,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30607,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.second(clauses):cljs.core.first(clauses));\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.check_arg_conditional \x3d (function cljs$pprint$check_arg_conditional(params,arg_navigator,offsets){\nvar vec__30614 \x3d cljs.pprint.next_arg(arg_navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30614,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30614,(1),null);\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause \x3d (cljs.core.truth_(arg)?cljs.core.first(clauses):null);\nif(cljs.core.truth_(arg)){\nif(cljs.core.truth_(clause)){\nreturn cljs.pprint.execute_sub_format(clause,arg_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn arg_navigator;\n}\n} else {\nreturn navigator__$1;\n}\n});\ncljs.pprint.iterate_sublist \x3d (function cljs$pprint$iterate_sublist(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30617 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30617,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30617,(1),null);\nvar vec__30620 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30620,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30620,(1),null);\nvar args \x3d cljs.pprint.init_navigator(arg_list);\nvar count \x3d (0);\nvar args__$1 \x3d args;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(args__$1))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,args__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__32053 \x3d (count + (1));\nvar G__32054 \x3d iter_result;\nvar G__32055 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(args__$1);\ncount \x3d G__32053;\nargs__$1 \x3d G__32054;\nlast_pos \x3d G__32055;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_list_of_sublists \x3d (function cljs$pprint$iterate_list_of_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30633 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30633,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30633,(1),null);\nvar vec__30636 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg_list \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30636,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30636,(1),null);\nvar count \x3d (0);\nvar arg_list__$1 \x3d arg_list;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(arg_list__$1)) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(cljs.core.first(arg_list__$1)),cljs.pprint.init_navigator(cljs.core.next(arg_list__$1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$2;\n} else {\nvar G__32060 \x3d (count + (1));\nvar G__32061 \x3d cljs.core.next(arg_list__$1);\ncount \x3d G__32060;\narg_list__$1 \x3d G__32061;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_list \x3d (function cljs$pprint$iterate_main_list(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30649 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30649,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30649,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nvar last_pos \x3d ((-1) | (0));\nwhile(true){\nif(((cljs.core.not(max_count)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2),last_pos)) \x26\x26 ((count \x3e (1))))))){\nthrow Error(\x22%@{ construct not consuming any arguments: Infinite loop!\x22);\n} else {\n}\n\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn cljs.core.second(iter_result);\n} else {\nvar G__32062 \x3d (count + (1));\nvar G__32063 \x3d iter_result;\nvar G__32064 \x3d new cljs.core.Keyword(null,\x22pos\x22,\x22pos\x22,-864607220).cljs$core$IFn$_invoke$arity$1(navigator__$2);\ncount \x3d G__32062;\nnavigator__$2 \x3d G__32063;\nlast_pos \x3d G__32064;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.iterate_main_sublists \x3d (function cljs$pprint$iterate_main_sublists(params,navigator,offsets){\nvar max_count \x3d new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563).cljs$core$IFn$_invoke$arity$1(params);\nvar param_clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar vec__30666 \x3d ((cljs.core.empty_QMARK_(param_clause))?cljs.pprint.get_format_arg(navigator):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [param_clause,navigator], null));\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30666,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30666,(1),null);\nvar count \x3d (0);\nvar navigator__$2 \x3d navigator__$1;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ((cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator__$2))) \x26\x26 (((cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))) || ((count \x3e (0))))));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d max_count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (count \x3e\x3d max_count);\n} else {\nreturn and__5023__auto__;\n}\n}\n})())){\nreturn navigator__$2;\n} else {\nvar vec__30677 \x3d cljs.pprint.next_arg_or_nil(navigator__$2);\nvar sublist \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30677,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30677,(1),null);\nvar iter_result \x3d cljs.pprint.execute_sub_format(clause,cljs.pprint.init_navigator(sublist),navigator__$3);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007),cljs.core.first(iter_result))){\nreturn navigator__$3;\n} else {\nvar G__32077 \x3d (count + (1));\nvar G__32078 \x3d navigator__$3;\ncount \x3d G__32077;\nnavigator__$2 \x3d G__32078;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.logical_block_or_justify \x3d (function cljs$pprint$logical_block_or_justify(params,navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn cljs.pprint.format_logical_block(params,navigator,offsets);\n} else {\nreturn cljs.pprint.justify_clauses(params,navigator,offsets);\n}\n});\ncljs.pprint.render_clauses \x3d (function cljs$pprint$render_clauses(clauses,navigator,base_navigator){\nvar clauses__$1 \x3d clauses;\nvar acc \x3d cljs.core.PersistentVector.EMPTY;\nvar navigator__$1 \x3d navigator;\nwhile(true){\nif(cljs.core.empty_QMARK_(clauses__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,navigator__$1], null);\n} else {\nvar clause \x3d cljs.core.first(clauses__$1);\nvar vec__30692 \x3d (function (){var sb \x3d (new goog.string.StringBuffer());\nvar _STAR_out_STAR__orig_val__30696 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30697 \x3d (new cljs.core.StringBufferWriter(sb));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30697);\n\ntry{return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.execute_sub_format(clause,navigator__$1,base_navigator),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)], null);\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30696);\n}})();\nvar iter_result \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30692,(0),null);\nvar result_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30692,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),cljs.core.first(iter_result))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [acc,cljs.core.second(iter_result)], null);\n} else {\nvar G__32085 \x3d cljs.core.next(clauses__$1);\nvar G__32086 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,result_str);\nvar G__32087 \x3d iter_result;\nclauses__$1 \x3d G__32085;\nacc \x3d G__32086;\nnavigator__$1 \x3d G__32087;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.pprint.justify_clauses \x3d (function cljs$pprint$justify_clauses(params,navigator,offsets){\nvar vec__30705 \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar else$ \x3d temp__5823__auto__;\nreturn cljs.pprint.render_clauses(else$,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n} else {\nreturn null;\n}\n})();\nvar vec__30708 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30705,(0),null);\nvar eol_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30708,(0),null);\nvar new_navigator \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30705,(1),null);\nvar navigator__$1 \x3d (function (){var or__5025__auto__ \x3d new_navigator;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn navigator;\n}\n})();\nvar vec__30711 \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar p \x3d temp__5823__auto__;\nreturn cljs.pprint.realize_parameter_list(p,navigator__$1);\n} else {\nreturn null;\n}\n})();\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30711,(0),null);\nvar new_navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30711,(1),null);\nvar navigator__$2 \x3d (function (){var or__5025__auto__ \x3d new_navigator__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn navigator__$1;\n}\n})();\nvar min_remaining \x3d (function (){var or__5025__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar max_columns \x3d (function (){var or__5025__auto__ \x3d cljs.core.first(new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262).cljs$core$IFn$_invoke$arity$1(else_params));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.pprint.get_max_column(cljs.core._STAR_out_STAR_);\n}\n})();\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar vec__30714 \x3d cljs.pprint.render_clauses(clauses,navigator__$2,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\nvar strs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30714,(0),null);\nvar navigator__$3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30714,(1),null);\nvar slots \x3d (function (){var x__5110__auto__ \x3d (1);\nvar y__5111__auto__ \x3d (((cljs.core.count(strs) - (1)) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(1):(0))) + (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?(1):(0)));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar chars \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(cljs.core._PLUS_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.count,strs));\nvar mincol \x3d new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445).cljs$core$IFn$_invoke$arity$1(params);\nvar minpad \x3d new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar minout \x3d (chars + (slots * minpad));\nvar result_columns \x3d (((minout \x3c\x3d mincol))?mincol:(mincol + (colinc * ((1) + cljs.core.quot(((minout - mincol) - (1)),colinc)))));\nvar total_pad \x3d (result_columns - chars);\nvar pad \x3d (function (){var x__5110__auto__ \x3d minpad;\nvar y__5111__auto__ \x3d cljs.core.quot(total_pad,slots);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar extra_pad \x3d (total_pad - (pad * slots));\nvar pad_str \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(pad,new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d eol_str;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))) + min_remaining) + result_columns) \x3e max_columns);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([eol_str], 0));\n} else {\n}\n\nvar slots_32127__$1 \x3d slots;\nvar extra_pad_32128__$1 \x3d extra_pad;\nvar strs_32129__$1 \x3d strs;\nvar pad_only_32130 \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(strs_32129__$1),(1))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))));\n}\n})();\nwhile(true){\nif(cljs.core.seq(strs_32129__$1)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(((cljs.core.not(pad_only_32130))?cljs.core.first(strs_32129__$1):null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_((function (){var or__5025__auto__ \x3d pad_only_32130;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.next(strs_32129__$1);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\n}\n}\n})())?pad_str:null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((extra_pad_32128__$1 \x3e (0)))?new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530).cljs$core$IFn$_invoke$arity$1(params):null))].join(\x27\x27)], 0));\n\nvar G__32136 \x3d (slots_32127__$1 - (1));\nvar G__32137 \x3d (extra_pad_32128__$1 - (1));\nvar G__32138 \x3d (cljs.core.truth_(pad_only_32130)?strs_32129__$1:cljs.core.next(strs_32129__$1));\nvar G__32139 \x3d false;\nslots_32127__$1 \x3d G__32136;\nextra_pad_32128__$1 \x3d G__32137;\nstrs_32129__$1 \x3d G__32138;\npad_only_32130 \x3d G__32139;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn navigator__$3;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30733 \x3d (function (writer,meta30734){\nthis.writer \x3d writer;\nthis.meta30734 \x3d meta30734;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30733.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30735,meta30734__$1){\nvar self__ \x3d this;\nvar _30735__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30733(self__.writer,meta30734__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30733.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30735){\nvar self__ \x3d this;\nvar _30735__$1 \x3d this;\nreturn self__.meta30734;\n}));\n\n(cljs.pprint.t_cljs$pprint30733.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30733.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30737 \x3d cljs.core._EQ_;\nvar expr__30738 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30737.cljs$core$IFn$_invoke$arity$2 ? pred__30737.cljs$core$IFn$_invoke$arity$2(String,expr__30738) : pred__30737.call(null,String,expr__30738)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n} else {\nif(cljs.core.truth_((pred__30737.cljs$core$IFn$_invoke$arity$2 ? pred__30737.cljs$core$IFn$_invoke$arity$2(Number,expr__30738) : pred__30737.call(null,Number,expr__30738)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30738)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30733.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta30734\x22,\x22meta30734\x22,-1474046434,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30733.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30733.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30733\x22);\n\n(cljs.pprint.t_cljs$pprint30733.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30733\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30733.\n */\ncljs.pprint.__GT_t_cljs$pprint30733 \x3d (function cljs$pprint$__GT_t_cljs$pprint30733(writer,meta30734){\nreturn (new cljs.pprint.t_cljs$pprint30733(writer,meta30734));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to lower case\n */\ncljs.pprint.downcase_writer \x3d (function cljs$pprint$downcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint30733(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30747 \x3d (function (writer,meta30748){\nthis.writer \x3d writer;\nthis.meta30748 \x3d meta30748;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30747.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30749,meta30748__$1){\nvar self__ \x3d this;\nvar _30749__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30747(self__.writer,meta30748__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30747.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30749){\nvar self__ \x3d this;\nvar _30749__$1 \x3d this;\nreturn self__.meta30748;\n}));\n\n(cljs.pprint.t_cljs$pprint30747.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30747.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30756 \x3d cljs.core._EQ_;\nvar expr__30757 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30756.cljs$core$IFn$_invoke$arity$2 ? pred__30756.cljs$core$IFn$_invoke$arity$2(String,expr__30757) : pred__30756.call(null,String,expr__30757)))){\nvar s \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(s));\n} else {\nif(cljs.core.truth_((pred__30756.cljs$core$IFn$_invoke$arity$2 ? pred__30756.cljs$core$IFn$_invoke$arity$2(Number,expr__30757) : pred__30756.call(null,Number,expr__30757)))){\nvar c \x3d x;\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(cljs.core.char$(c)));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30757)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30747.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22meta30748\x22,\x22meta30748\x22,-149790009,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30747.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30747.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30747\x22);\n\n(cljs.pprint.t_cljs$pprint30747.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30747\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30747.\n */\ncljs.pprint.__GT_t_cljs$pprint30747 \x3d (function cljs$pprint$__GT_t_cljs$pprint30747(writer,meta30748){\nreturn (new cljs.pprint.t_cljs$pprint30747(writer,meta30748));\n});\n\n\n/**\n * Returns a proxy that wraps writer, converting all characters to upper case\n */\ncljs.pprint.upcase_writer \x3d (function cljs$pprint$upcase_writer(writer){\nreturn (new cljs.pprint.t_cljs$pprint30747(writer,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Capitalizes the words in a string. If first? is false, don\x27t capitalize the\n * first character of the string even if it\x27s a letter.\n */\ncljs.pprint.capitalize_string \x3d (function cljs$pprint$capitalize_string(s,first_QMARK_){\nvar f \x3d cljs.core.first(s);\nvar s__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d first_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d f;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn goog.string.isUnicodeChar(f);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?[clojure.string.upper_case(f),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1))].join(\x27\x27):s);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.first(cljs.pprint.consume((function (s__$2){\nif(cljs.core.empty_QMARK_(s__$2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null);\n} else {\nvar m \x3d RegExp(\x22\\\\W\\\\w\x22,\x22g\x22).exec(s__$2);\nvar offset \x3d (function (){var and__5023__auto__ \x3d m;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (m.index + (1));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s__$2,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s__$2,offset))].join(\x27\x27),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$2,(offset + (1)))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$2,null], null);\n}\n}\n}),s__$1)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30766 \x3d (function (writer,last_was_whitespace_QMARK_,meta30767){\nthis.writer \x3d writer;\nthis.last_was_whitespace_QMARK_ \x3d last_was_whitespace_QMARK_;\nthis.meta30767 \x3d meta30767;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30766.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30768,meta30767__$1){\nvar self__ \x3d this;\nvar _30768__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30766(self__.writer,self__.last_was_whitespace_QMARK_,meta30767__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30766.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30768){\nvar self__ \x3d this;\nvar _30768__$1 \x3d this;\nreturn self__.meta30767;\n}));\n\n(cljs.pprint.t_cljs$pprint30766.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30766.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30772 \x3d cljs.core._EQ_;\nvar expr__30773 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30772.cljs$core$IFn$_invoke$arity$2 ? pred__30772.cljs$core$IFn$_invoke$arity$2(String,expr__30773) : pred__30772.call(null,String,expr__30773)))){\nvar s \x3d x;\ncljs.core._write(self__.writer,cljs.pprint.capitalize_string(s.toLowerCase(),cljs.core.deref(self__.last_was_whitespace_QMARK_)));\n\nif((s.length \x3e (0))){\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.count(s) - (1)))));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.truth_((pred__30772.cljs$core$IFn$_invoke$arity$2 ? pred__30772.cljs$core$IFn$_invoke$arity$2(Number,expr__30773) : pred__30772.call(null,Number,expr__30773)))){\nvar c \x3d cljs.core.char$(x);\nvar mod_c \x3d (cljs.core.truth_(cljs.core.deref(self__.last_was_whitespace_QMARK_))?clojure.string.upper_case(c):c);\ncljs.core._write(self__.writer,mod_c);\n\nreturn cljs.core.reset_BANG_(self__.last_was_whitespace_QMARK_,goog.string.isEmptyOrWhitespace(c));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30773)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30766.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22last-was-whitespace?\x22,\x22last-was-whitespace?\x22,-1073928093,null),new cljs.core.Symbol(null,\x22meta30767\x22,\x22meta30767\x22,182436861,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30766.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30766.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30766\x22);\n\n(cljs.pprint.t_cljs$pprint30766.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30766\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30766.\n */\ncljs.pprint.__GT_t_cljs$pprint30766 \x3d (function cljs$pprint$__GT_t_cljs$pprint30766(writer,last_was_whitespace_QMARK_,meta30767){\nreturn (new cljs.pprint.t_cljs$pprint30766(writer,last_was_whitespace_QMARK_,meta30767));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing all words\n */\ncljs.pprint.capitalize_word_writer \x3d (function cljs$pprint$capitalize_word_writer(writer){\nvar last_was_whitespace_QMARK_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.pprint.t_cljs$pprint30766(writer,last_was_whitespace_QMARK_,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.pprint.t_cljs$pprint30781 \x3d (function (writer,capped,meta30782){\nthis.writer \x3d writer;\nthis.capped \x3d capped;\nthis.meta30782 \x3d meta30782;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1074135040;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.pprint.t_cljs$pprint30781.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_30783,meta30782__$1){\nvar self__ \x3d this;\nvar _30783__$1 \x3d this;\nreturn (new cljs.pprint.t_cljs$pprint30781(self__.writer,self__.capped,meta30782__$1));\n}));\n\n(cljs.pprint.t_cljs$pprint30781.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_30783){\nvar self__ \x3d this;\nvar _30783__$1 \x3d this;\nreturn self__.meta30782;\n}));\n\n(cljs.pprint.t_cljs$pprint30781.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._flush(self__.writer);\n}));\n\n(cljs.pprint.t_cljs$pprint30781.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (this$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar pred__30787 \x3d cljs.core._EQ_;\nvar expr__30788 \x3d cljs.core.type(x);\nif(cljs.core.truth_((pred__30787.cljs$core$IFn$_invoke$arity$2 ? pred__30787.cljs$core$IFn$_invoke$arity$2(String,expr__30788) : pred__30787.call(null,String,expr__30788)))){\nvar s \x3d clojure.string.lower_case(x);\nif(cljs.core.not(cljs.core.deref(self__.capped))){\nvar m \x3d RegExp(\x22\\\\S\x22,\x22g\x22).exec(s);\nvar offset \x3d (function (){var and__5023__auto__ \x3d m;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn m.index;\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(offset)){\ncljs.core._write(self__.writer,[cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),offset),clojure.string.upper_case(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(s,offset)),clojure.string.lower_case(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(offset + (1))))].join(\x27\x27));\n\nreturn cljs.core.reset_BANG_(self__.capped,true);\n} else {\nreturn cljs.core._write(self__.writer,s);\n}\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(s));\n}\n} else {\nif(cljs.core.truth_((pred__30787.cljs$core$IFn$_invoke$arity$2 ? pred__30787.cljs$core$IFn$_invoke$arity$2(Number,expr__30788) : pred__30787.call(null,Number,expr__30788)))){\nvar c \x3d cljs.core.char$(x);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(cljs.core.deref(self__.capped));\nif(and__5023__auto__){\nreturn goog.string.isUnicodeChar(c);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core.reset_BANG_(self__.capped,true);\n\nreturn cljs.core._write(self__.writer,clojure.string.upper_case(c));\n} else {\nreturn cljs.core._write(self__.writer,clojure.string.lower_case(c));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__30788)].join(\x27\x27)));\n}\n}\n}));\n\n(cljs.pprint.t_cljs$pprint30781.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22writer\x22,\x22writer\x22,1362963291,null),new cljs.core.Symbol(null,\x22capped\x22,\x22capped\x22,-1650988402,null),new cljs.core.Symbol(null,\x22meta30782\x22,\x22meta30782\x22,934442248,null)], null);\n}));\n\n(cljs.pprint.t_cljs$pprint30781.cljs$lang$type \x3d true);\n\n(cljs.pprint.t_cljs$pprint30781.cljs$lang$ctorStr \x3d \x22cljs.pprint/t_cljs$pprint30781\x22);\n\n(cljs.pprint.t_cljs$pprint30781.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.pprint/t_cljs$pprint30781\x22);\n}));\n\n/**\n * Positional factory function for cljs.pprint/t_cljs$pprint30781.\n */\ncljs.pprint.__GT_t_cljs$pprint30781 \x3d (function cljs$pprint$__GT_t_cljs$pprint30781(writer,capped,meta30782){\nreturn (new cljs.pprint.t_cljs$pprint30781(writer,capped,meta30782));\n});\n\n\n/**\n * Returns a proxy that wraps writer, capitalizing the first word\n */\ncljs.pprint.init_cap_writer \x3d (function cljs$pprint$init_cap_writer(writer){\nvar capped \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\nreturn (new cljs.pprint.t_cljs$pprint30781(writer,capped,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.pprint.modify_case \x3d (function cljs$pprint$modify_case(make_writer,params,navigator,offsets){\nvar clause \x3d cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params));\nvar _STAR_out_STAR__orig_val__30797 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__30798 \x3d (make_writer.cljs$core$IFn$_invoke$arity$1 ? make_writer.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_out_STAR_) : make_writer.call(null,cljs.core._STAR_out_STAR_));\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__30798);\n\ntry{return cljs.pprint.execute_sub_format(clause,navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__30797);\n}});\n/**\n * Returns the IWriter passed in wrapped in a pretty writer proxy, unless it\x27s\n * already a pretty writer. Generally, it is unnecessary to call this function, since pprint,\n * write, and cl-format all call it if they need to. However if you want the state to be\n * preserved across calls, you will want to wrap them with this.\n * \n * For example, when you want to generate column-aware output with multiple calls to cl-format,\n * do it like in this example:\n * \n * (defn print-table [aseq column-width]\n * (binding [*out* (get-pretty-writer *out*)]\n * (doseq [row aseq]\n * (doseq [col row]\n * (cl-format true \x22~4D~7,vT\x22 col column-width))\n * (prn))))\n * \n * Now when you run:\n * \n * user\x3e (print-table (map #(vector % (* % %) (* % % %)) (range 1 11)) 8)\n * \n * It prints a table of squares and cubes for the numbers from 1 to 10:\n * \n * 1 1 1\n * 2 4 8\n * 3 9 27\n * 4 16 64\n * 5 25 125\n * 6 36 216\n * 7 49 343\n * 8 64 512\n * 9 81 729\n * 10 100 1000\n */\ncljs.pprint.get_pretty_writer \x3d (function cljs$pprint$get_pretty_writer(writer){\nif(cljs.core.truth_(cljs.pprint.pretty_writer_QMARK_(writer))){\nreturn writer;\n} else {\nreturn cljs.pprint.pretty_writer(writer,cljs.pprint._STAR_print_right_margin_STAR_,cljs.pprint._STAR_print_miser_width_STAR_);\n}\n});\n/**\n * Make a newline if *out* is not already at the beginning of the line. If *out* is\n * not a pretty writer (which keeps track of columns), this function always outputs a newline.\n */\ncljs.pprint.fresh_line \x3d (function cljs$pprint$fresh_line(){\nif((((!((cljs.core._STAR_out_STAR_ \x3d\x3d null))))?(((((cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d cljs.core._STAR_out_STAR_.cljs$core$IDeref$))))?true:(((!cljs.core._STAR_out_STAR_.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,cljs.core._STAR_out_STAR_))){\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))))))){\nreturn cljs.pprint.prn();\n} else {\nreturn null;\n}\n} else {\nreturn cljs.pprint.prn();\n}\n});\ncljs.pprint.absolute_tabulation \x3d (function cljs$pprint$absolute_tabulation(params,navigator,offsets){\nvar colnum_32173 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_32174 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar current_32175 \x3d cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_))));\nvar space_count_32176 \x3d (((current_32175 \x3c colnum_32173))?(colnum_32173 - current_32175):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(colinc_32174,(0)))?(0):(colinc_32174 - cljs.core.rem((current_32175 - colnum_32173),colinc_32174))\n));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_32176,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.relative_tabulation \x3d (function cljs$pprint$relative_tabulation(params,navigator,offsets){\nvar colrel_32177 \x3d new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854).cljs$core$IFn$_invoke$arity$1(params);\nvar colinc_32178 \x3d new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385).cljs$core$IFn$_invoke$arity$1(params);\nvar start_col_32179 \x3d (colrel_32177 + cljs.pprint.get_column(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(cljs.core.deref(cljs.core._STAR_out_STAR_)))));\nvar offset_32180 \x3d (((colinc_32178 \x3e (0)))?cljs.core.rem(start_col_32179,colinc_32178):(0));\nvar space_count_32181 \x3d (colrel_32177 + ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),offset_32180))?(0):(colinc_32178 - offset_32180)));\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(space_count_32181,\x22 \x22))], 0));\n\nreturn navigator;\n});\ncljs.pprint.format_logical_block \x3d (function cljs$pprint$format_logical_block(params,navigator,offsets){\nvar clauses \x3d new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(params);\nvar clause_count \x3d cljs.core.count(clauses);\nvar prefix \x3d (((clause_count \x3e (1)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.first(clauses)))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22(\x22:null));\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(((clause_count \x3e (1)))?(1):(0)));\nvar suffix \x3d (((clause_count \x3e (2)))?new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(clauses,(2))))):(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?\x22)\x22:null));\nvar vec__30811 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30811,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30811,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__30815_32188 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__30816_32189 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__30817_32190 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__30818_32191 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__30817_32190);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__30818_32191);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,suffix);\n\ncljs.pprint.execute_sub_format(body,cljs.pprint.init_navigator(arg),new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__30816_32189);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__30815_32188);\n}}\n\n\nreturn navigator__$1;\n});\ncljs.pprint.set_indent \x3d (function cljs$pprint$set_indent(params,navigator,offsets){\nvar relative_to \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210));\ncljs.pprint.pprint_indent(relative_to,new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params));\n\nreturn navigator;\n});\ncljs.pprint.conditional_newline \x3d (function cljs$pprint$conditional_newline(params,navigator,offsets){\nvar kind \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22mandatory\x22,\x22mandatory\x22,542802336):new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889)):(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186):new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697)));\ncljs.pprint.pprint_newline(kind);\n\nreturn navigator;\n});\ncljs.pprint.directive_table \x3d cljs.core.PersistentHashMap.fromArrays([\x22A\x22,\x22S\x22,\x22D\x22,\x22B\x22,\x22O\x22,\x22X\x22,\x22R\x22,\x22P\x22,\x22C\x22,\x22F\x22,\x22E\x22,\x22G\x22,\x22$\x22,\x22%\x22,\x22\x26\x22,\x22|\x22,\x22~\x22,\x22\\n\x22,\x22T\x22,\x22*\x22,\x22?\x22,\x22(\x22,\x22)\x22,\x22[\x22,\x22;\x22,\x22]\x22,\x22{\x22,\x22}\x22,\x22\x3c\x22,\x22\x3e\x22,\x22^\x22,\x22W\x22,\x22_\x22,\x22I\x22],[new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22A\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30820_SHARP_,p2__30821_SHARP_,p3__30822_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.print_str,p1__30820_SHARP_,p2__30821_SHARP_,p3__30822_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22S\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30823_SHARP_,p2__30824_SHARP_,p3__30825_SHARP_){\nreturn cljs.pprint.format_ascii(cljs.core.pr_str,p1__30823_SHARP_,p2__30824_SHARP_,p3__30825_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22D\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30826_SHARP_,p2__30827_SHARP_,p3__30828_SHARP_){\nreturn cljs.pprint.format_integer((10),p1__30826_SHARP_,p2__30827_SHARP_,p3__30828_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22B\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30829_SHARP_,p2__30830_SHARP_,p3__30831_SHARP_){\nreturn cljs.pprint.format_integer((2),p1__30829_SHARP_,p2__30830_SHARP_,p3__30831_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22O\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30832_SHARP_,p2__30833_SHARP_,p3__30834_SHARP_){\nreturn cljs.pprint.format_integer((8),p1__30832_SHARP_,p2__30833_SHARP_,p3__30834_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22X\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (p1__30835_SHARP_,p2__30836_SHARP_,p3__30837_SHARP_){\nreturn cljs.pprint.format_integer((16),p1__30835_SHARP_,p2__30836_SHARP_,p3__30837_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22R\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22commachar\x22,\x22commachar\x22,652859327),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22,\x22,String], null),new cljs.core.Keyword(null,\x22commainterval\x22,\x22commainterval\x22,-1980061083),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(3),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(cljs.core.first(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(params)))){\nreturn (function (p1__30838_SHARP_,p2__30839_SHARP_,p3__30840_SHARP_){\nreturn cljs.pprint.format_integer(new cljs.core.Keyword(null,\x22base\x22,\x22base\x22,185279322).cljs$core$IFn$_invoke$arity$1(p1__30838_SHARP_),p1__30838_SHARP_,p2__30839_SHARP_,p3__30840_SHARP_);\n});\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (function (p1__30841_SHARP_,p2__30842_SHARP_,p3__30843_SHARP_){\nreturn cljs.pprint.format_old_roman(p1__30841_SHARP_,p2__30842_SHARP_,p3__30843_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__30844_SHARP_,p2__30845_SHARP_,p3__30846_SHARP_){\nreturn cljs.pprint.format_new_roman(p1__30844_SHARP_,p2__30845_SHARP_,p3__30846_SHARP_);\n});\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__30847_SHARP_,p2__30848_SHARP_,p3__30849_SHARP_){\nreturn cljs.pprint.format_ordinal_english(p1__30847_SHARP_,p2__30848_SHARP_,p3__30849_SHARP_);\n});\n} else {\nreturn (function (p1__30850_SHARP_,p2__30851_SHARP_,p3__30852_SHARP_){\nreturn cljs.pprint.format_cardinal_english(p1__30850_SHARP_,p2__30851_SHARP_,p3__30852_SHARP_);\n});\n\n}\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22P\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar navigator__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.pprint.relative_reposition(navigator,(-1)):navigator);\nvar strs \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22y\x22,\x22ies\x22], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22s\x22], null));\nvar vec__30876 \x3d cljs.pprint.next_arg(navigator__$1);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30876,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30876,(1),null);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg,(1)))?cljs.core.first(strs):cljs.core.second(strs))], 0));\n\nreturn navigator__$2;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22C\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22char-format\x22,\x22char-format\x22,-1016499218),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.pretty_character;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.readable_character;\n} else {\nreturn cljs.pprint.plain_character;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22F\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(5),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.fixed_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22E\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.exponential_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22G\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(7),[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22k\x22,\x22k\x22,-2146297393),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22overflowchar\x22,\x22overflowchar\x22,-1620088106),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null),new cljs.core.Keyword(null,\x22exponentchar\x22,\x22exponentchar\x22,1986664222),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.general_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22$\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(2),Number], null),new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.dollar_float;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22%\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5616__auto___32266 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_32267 \x3d (0);\nwhile(true){\nif((i_32267 \x3c n__5616__auto___32266)){\ncljs.pprint.prn();\n\nvar G__32268 \x3d (i_32267 + (1));\ni_32267 \x3d G__32268;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x26\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar cnt_32269 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nif((cnt_32269 \x3e (0))){\ncljs.pprint.fresh_line();\n} else {\n}\n\nvar n__5616__auto___32270 \x3d (cnt_32269 - (1));\nvar i_32271 \x3d (0);\nwhile(true){\nif((i_32271 \x3c n__5616__auto___32270)){\ncljs.pprint.prn();\n\nvar G__32272 \x3d (i_32271 + (1));\ni_32271 \x3d G__32272;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22|\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n__5616__auto___32273 \x3d new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar i_32274 \x3d (0);\nwhile(true){\nif((i_32274 \x3c n__5616__auto___32273)){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\f\x22], 0));\n\nvar G__32276 \x3d (i_32274 + (1));\ni_32274 \x3d G__32276;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22~\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n,\x22~\x22))], 0));\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\\n\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,arg_navigator,offsets){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\ncljs.pprint.prn();\n} else {\n}\n\nreturn arg_navigator;\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22T\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22colnum\x22,\x22colnum\x22,2023796854),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (p1__30854_SHARP_,p2__30855_SHARP_,p3__30856_SHARP_){\nreturn cljs.pprint.relative_tabulation(p1__30854_SHARP_,p2__30855_SHARP_,p3__30856_SHARP_);\n});\n} else {\nreturn (function (p1__30857_SHARP_,p2__30858_SHARP_,p3__30859_SHARP_){\nreturn cljs.pprint.absolute_tabulation(p1__30857_SHARP_,p2__30858_SHARP_,p3__30859_SHARP_);\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22*\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar n \x3d new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025).cljs$core$IFn$_invoke$arity$1(params__$1);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params__$1))){\nreturn cljs.pprint.absolute_reposition(navigator,n);\n} else {\nreturn cljs.pprint.relative_reposition(navigator,(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?(- n):n));\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22?\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn (function (params__$1,navigator,offsets){\nvar vec__30885 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30885,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30885,(1),null);\nreturn cljs.pprint.execute_sub_format(subformat,navigator__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__30888 \x3d cljs.pprint.get_format_arg(navigator);\nvar subformat \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30888,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30888,(1),null);\nvar vec__30891 \x3d cljs.pprint.next_arg(navigator__$1);\nvar subargs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30891,(0),null);\nvar navigator__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30891,(1),null);\nvar sub_navigator \x3d cljs.pprint.init_navigator(subargs);\ncljs.pprint.execute_sub_format(subformat,sub_navigator,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1));\n\nreturn navigator__$2;\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22(\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22)\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),null,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nvar mod_case_writer \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.pprint.upcase_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.capitalize_word_writer:(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?cljs.pprint.init_cap_writer:cljs.pprint.downcase_writer\n)));\nreturn (function (p1__30862_SHARP_,p2__30863_SHARP_,p3__30864_SHARP_){\nreturn cljs.pprint.modify_case(mod_case_writer,p1__30862_SHARP_,p2__30863_SHARP_,p3__30864_SHARP_);\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22)\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22[\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22]\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22last\x22,\x22last\x22,1105735132)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.boolean_conditional;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.check_arg_conditional;\n} else {\nreturn cljs.pprint.choice_conditional;\n\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22;\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(2),[new cljs.core.Keyword(null,\x22min-remaining\x22,\x22min-remaining\x22,962687677),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22max-columns\x22,\x22max-columns\x22,1742323262),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),true], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22]\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22{\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22max-iterations\x22,\x22max-iterations\x22,2021275563),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22}\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),false], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.pprint.iterate_main_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_list_of_sublists;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))){\nreturn cljs.pprint.iterate_main_list;\n} else {\nreturn cljs.pprint.iterate_sublist;\n\n}\n}\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22}\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3c\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(4),[new cljs.core.Keyword(null,\x22mincol\x22,\x22mincol\x22,1230695445),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22colinc\x22,\x22colinc\x22,-584873385),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),Number], null),new cljs.core.Keyword(null,\x22minpad\x22,\x22minpad\x22,323570901),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null),new cljs.core.Keyword(null,\x22padchar\x22,\x22padchar\x22,2018584530),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,String], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),\x22\x3e\x22,new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742),true,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046)], null),new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.logical_block_or_justify;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22\x3e\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn null;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22^\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(3),[new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null),new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn (function (params__$1,navigator,offsets){\nvar arg1 \x3d new cljs.core.Keyword(null,\x22arg1\x22,\x22arg1\x22,951899358).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg2 \x3d new cljs.core.Keyword(null,\x22arg2\x22,\x22arg2\x22,1729550917).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar arg3 \x3d new cljs.core.Keyword(null,\x22arg3\x22,\x22arg3\x22,-1486822496).cljs$core$IFn$_invoke$arity$1(params__$1);\nvar exit \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?new cljs.core.Keyword(null,\x22colon-up-arrow\x22,\x22colon-up-arrow\x22,244853007):new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d arg2;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn arg3;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nif((((arg1 \x3c\x3d arg2)) \x26\x26 ((arg2 \x3c\x3d arg3)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d arg1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn arg2;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,arg2)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif(cljs.core.truth_(arg1)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arg1,(0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n} else {\nif((cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params__$1))?cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822).cljs$core$IFn$_invoke$arity$1(params__$1))):cljs.core.empty_QMARK_(new cljs.core.Keyword(null,\x22rest\x22,\x22rest\x22,-1241696419).cljs$core$IFn$_invoke$arity$1(navigator)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [exit,navigator], null);\n} else {\nreturn navigator;\n}\n\n}\n}\n}\n});\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22W\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null,new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params);\n}\n})())){\nvar bindings \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22level\x22,\x22level\x22,1290497552),null,new cljs.core.Keyword(null,\x22length\x22,\x22length\x22,588987862),null], null):cljs.core.PersistentVector.EMPTY),(cljs.core.truth_(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486),true], null):cljs.core.PersistentVector.EMPTY));\nreturn (function (params__$1,navigator,offsets){\nvar vec__30904 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30904,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30904,(1),null);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.pprint.write,arg,bindings))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n} else {\nreturn (function (params__$1,navigator,offsets){\nvar vec__30907 \x3d cljs.pprint.next_arg(navigator);\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30907,(0),null);\nvar navigator__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30907,(1),null);\nif(cljs.core.truth_(cljs.pprint.write_out(arg))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22up-arrow\x22,\x22up-arrow\x22,1705310333),navigator__$1], null);\n} else {\nreturn navigator__$1;\n}\n});\n}\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22_\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349),null,new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.conditional_newline;\n})], null),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132),\x22I\x22,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),(new cljs.core.PersistentArrayMap(null,(1),[new cljs.core.Keyword(null,\x22n\x22,\x22n\x22,562130025),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),Number], null)],null)),new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),null], null), null),new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656),(function (params,offset){\nreturn cljs.pprint.set_indent;\n})], null)]);\ncljs.pprint.param_pattern \x3d /^([vV]|#|(\x27.)|([+-]?\\d+)|(?\x3d,))/;\ncljs.pprint.special_params \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335),null,new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196),null], null), null);\ncljs.pprint.extract_param \x3d (function cljs$pprint$extract_param(p__30910){\nvar vec__30911 \x3d p__30910;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30911,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30911,(1),null);\nvar saw_comma \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30911,(2),null);\nvar m \x3d (new RegExp(cljs.pprint.param_pattern.source,\x22g\x22));\nvar param \x3d m.exec(s);\nif(cljs.core.truth_(param)){\nvar token_str \x3d cljs.core.first(param);\nvar remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,m.lastIndex);\nvar new_offset \x3d (offset + m.lastIndex);\nif((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22,\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(remainder,(0)))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder,new_offset,false], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [token_str,offset], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,(1)),(new_offset + (1)),true], null)], null);\n}\n} else {\nif(cljs.core.truth_(saw_comma)){\nreturn cljs.pprint.format_error(\x22Badly formed parameters in format directive\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset], null)], null);\n}\n}\n});\ncljs.pprint.extract_params \x3d (function cljs$pprint$extract_params(s,offset){\nreturn cljs.pprint.consume(cljs.pprint.extract_param,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,false], null));\n});\n/**\n * Translate the string representation of a param to the internalized\n * representation\n */\ncljs.pprint.translate_param \x3d (function cljs$pprint$translate_param(p__30921){\nvar vec__30922 \x3d p__30921;\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30922,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30922,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(0)))?null:((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22V\x22,null,\x22v\x22,null], null), null),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22parameter-from-args\x22,\x22parameter-from-args\x22,-758446196):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?new cljs.core.Keyword(null,\x22remaining-arg-count\x22,\x22remaining-arg-count\x22,-1216589335):((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(p.length,(2))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(0))))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p,(1)):parseInt(p,(10))\n)))),offset], null);\n});\ncljs.pprint.flag_defs \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22:\x22,new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945),\x22@\x22,new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349)], null);\ncljs.pprint.extract_flags \x3d (function cljs$pprint$extract_flags(s,offset){\nreturn cljs.pprint.consume((function (p__30928){\nvar vec__30929 \x3d p__30928;\nvar s__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30929,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30929,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30929,(2),null);\nif(cljs.core.empty_QMARK_(s__$1)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n} else {\nvar flag \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.flag_defs,cljs.core.first(s__$1));\nif(cljs.core.truth_(flag)){\nif(cljs.core.contains_QMARK_(flags,flag)){\nreturn cljs.pprint.format_error([\x22Flag \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(s__$1)),\x22\\\x22 appears more than once in a directive\x22].join(\x27\x27),offset__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s__$1,(1)),(offset__$1 + (1)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(flags,flag,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,offset__$1], null))], null)], null);\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s__$1,offset__$1,flags], null)], null);\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [s,offset,cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.pprint.check_flags \x3d (function cljs$pprint$check_flags(def,flags){\nvar allowed \x3d new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(def);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22@\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.pprint.format_error([\x22\\\x22:\\\x22 is an illegal flag for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1)));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(new cljs.core.Keyword(null,\x22both\x22,\x22both\x22,-393648840).cljs$core$IFn$_invoke$arity$1(allowed));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.pprint.format_error([\x22Cannot combine \\\x22@\\\x22 and \\\x22:\\\x22 flags for format directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22\x22].join(\x27\x27),(function (){var x__5113__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(flags),(1));\nvar y__5114__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22at\x22,\x22at\x22,1476951349).cljs$core$IFn$_invoke$arity$1(flags),(1));\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})());\n} else {\nreturn null;\n}\n});\n/**\n * Takes a directive definition and the list of actual parameters and\n * a map of flags and returns a map of the parameters and flags with defaults\n * filled in. We check to make sure that there are the right types and number\n * of parameters as well.\n */\ncljs.pprint.map_params \x3d (function cljs$pprint$map_params(def,params,flags,offset){\ncljs.pprint.check_flags(def,flags);\n\nif((cljs.core.count(params) \x3e cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)))){\ncljs.pprint.format_error(cljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(null,\x22Too many parameters for directive \\\x22~C\\\x22: ~D~:* ~[were~;was~:;were~] specified but only ~D~:* ~[are~;is~:;are~] allowed\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def),cljs.core.count(params),cljs.core.count(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def))], 0)),cljs.core.second(cljs.core.first(params)));\n} else {\n}\n\ncljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__30937_SHARP_,p2__30938_SHARP_){\nvar val \x3d cljs.core.first(p1__30937_SHARP_);\nif((!((((val \x3d\x3d null)) || (((cljs.core.contains_QMARK_(cljs.pprint.special_params,val)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.second(cljs.core.second(p2__30938_SHARP_)),cljs.core.type(val))))))))){\nreturn cljs.pprint.format_error([\x22Parameter \x22,cljs.core.name(cljs.core.first(p2__30938_SHARP_)),\x22 has bad type in directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def)),\x22\\\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type(val))].join(\x27\x27),cljs.core.second(p1__30937_SHARP_));\n} else {\nreturn null;\n}\n}),params,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)));\n\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.reverse((function (){var iter__5503__auto__ \x3d (function cljs$pprint$map_params_$_iter__30942(s__30943){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__30943__$1 \x3d s__30943;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__30943__$1);\nif(temp__5823__auto__){\nvar s__30943__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__30943__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__30943__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__30945 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__30944 \x3d (0);\nwhile(true){\nif((i__30944 \x3c size__5502__auto__)){\nvar vec__30946 \x3d cljs.core._nth(c__5501__auto__,i__30944);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30946,(0),null);\nvar vec__30949 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30946,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30949,(0),null);\ncljs.core.chunk_append(b__30945,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null));\n\nvar G__32307 \x3d (i__30944 + (1));\ni__30944 \x3d G__32307;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30945),cljs$pprint$map_params_$_iter__30942(cljs.core.chunk_rest(s__30943__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__30945),null);\n}\n} else {\nvar vec__30953 \x3d cljs.core.first(s__30943__$2);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30953,(0),null);\nvar vec__30956 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30953,(1),null);\nvar default$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30956,(0),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default$,offset], null)], null),cljs$pprint$map_params_$_iter__30942(cljs.core.rest(s__30943__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def));\n})())),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__30939_SHARP_,p2__30940_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc,p1__30939_SHARP_,p2__30940_SHARP_);\n}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__30941_SHARP_){\nreturn cljs.core.first(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__30941_SHARP_,(1)));\n}),cljs.core.zipmap(cljs.core.keys(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(def)),params))),flags], 0));\n});\ncljs.pprint.compile_directive \x3d (function cljs$pprint$compile_directive(s,offset){\nvar vec__30961 \x3d cljs.pprint.extract_params(s,offset);\nvar raw_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30961,(0),null);\nvar vec__30964 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30961,(1),null);\nvar rest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30964,(0),null);\nvar offset__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30964,(1),null);\nvar vec__30967 \x3d cljs.pprint.extract_flags(rest,offset__$1);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30967,(0),null);\nvar vec__30970 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30967,(1),null);\nvar rest__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30970,(0),null);\nvar offset__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30970,(1),null);\nvar flags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30970,(2),null);\nvar directive \x3d cljs.core.first(rest__$1);\nvar def \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.pprint.directive_table,clojure.string.upper_case(directive));\nvar params \x3d (cljs.core.truth_(def)?cljs.pprint.map_params(def,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.pprint.translate_param,raw_params),flags,offset__$2):null);\nif(cljs.core.not(directive)){\ncljs.pprint.format_error(\x22Format string ended in the middle of a directive\x22,offset__$2);\n} else {\n}\n\nif(cljs.core.not(def)){\ncljs.pprint.format_error([\x22Directive \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(directive),\x22\\\x22 is undefined\x22].join(\x27\x27),offset__$2);\n} else {\n}\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive((function (){var fexpr__30976 \x3d new cljs.core.Keyword(null,\x22generator-fn\x22,\x22generator-fn\x22,811851656).cljs$core$IFn$_invoke$arity$1(def);\nreturn (fexpr__30976.cljs$core$IFn$_invoke$arity$2 ? fexpr__30976.cljs$core$IFn$_invoke$arity$2(params,offset__$2) : fexpr__30976.call(null,params,offset__$2));\n})(),def,params,offset__$2,null,null,null)),(function (){var remainder \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(rest__$1,(1));\nvar offset__$3 \x3d (offset__$2 + (1));\nvar trim_QMARK_ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(def))) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(params))));\nvar trim_count \x3d ((trim_QMARK_)?cljs.pprint.prefix_count(remainder,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22 \x22,\x22\\t\x22], null)):(0));\nvar remainder__$1 \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(remainder,trim_count);\nvar offset__$4 \x3d (offset__$3 + trim_count);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [remainder__$1,offset__$4], null);\n})()], null);\n});\ncljs.pprint.compile_raw_string \x3d (function cljs$pprint$compile_raw_string(s,offset){\nreturn (new cljs.pprint.compiled_directive((function (_,a,___$1){\ncljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([s], 0));\n\nreturn a;\n}),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),s], null),offset,null,null,null));\n});\ncljs.pprint.right_bracket \x3d (function cljs$pprint$right_bracket(this$){\nreturn new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.separator_QMARK_ \x3d (function cljs$pprint$separator_QMARK_(this$){\nreturn new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\n});\ncljs.pprint.else_separator_QMARK_ \x3d (function cljs$pprint$else_separator_QMARK_(this$){\nvar and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22colon\x22,\x22colon\x22,-965200945).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.pprint.process_bracket \x3d (function cljs$pprint$process_bracket(this$,remainder){\nvar vec__30977 \x3d cljs.pprint.collect_clauses(new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),remainder);\nvar subex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30977,(0),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30977,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.pprint.compiled_directive(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(this$),new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),cljs.pprint.tuple_map(subex,new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$))], 0)),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(this$),null,null,null)),remainder__$1], null);\n});\ncljs.pprint.process_clause \x3d (function cljs$pprint$process_clause(bracket_info,offset,remainder){\nreturn cljs.pprint.consume((function (remainder__$1){\nif(cljs.core.empty_QMARK_(remainder__$1)){\nreturn cljs.pprint.format_error(\x22No closing bracket found.\x22,offset);\n} else {\nvar this$ \x3d cljs.core.first(remainder__$1);\nvar remainder__$2 \x3d cljs.core.next(remainder__$1);\nif(cljs.core.truth_(cljs.pprint.right_bracket(this$))){\nreturn cljs.pprint.process_bracket(this$,remainder__$2);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket_info),new cljs.core.Keyword(null,\x22directive\x22,\x22directive\x22,793559132).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080),new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),null,remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.else_separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(this$),remainder__$2], null)], null);\n} else {\nif(cljs.core.truth_(cljs.pprint.separator_QMARK_(this$))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),null,null,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$2], null);\n\n}\n}\n}\n}\n}\n}),remainder);\n});\ncljs.pprint.collect_clauses \x3d (function cljs$pprint$collect_clauses(bracket_info,offset,remainder){\nreturn cljs.core.second(cljs.pprint.consume((function (p__30987){\nvar vec__30988 \x3d p__30987;\nvar clause_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30988,(0),null);\nvar saw_else \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30988,(1),null);\nvar remainder__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30988,(2),null);\nvar vec__30991 \x3d cljs.pprint.process_clause(bracket_info,offset,remainder__$1);\nvar clause \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30991,(0),null);\nvar vec__30994 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30991,(1),null);\nvar type \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30994,(0),null);\nvar right_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30994,(1),null);\nvar else_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30994,(2),null);\nvar remainder__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__30994,(3),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22right-bracket\x22,\x22right-bracket\x22,951856080))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,cljs.core.PersistentArrayMap.createAsIfByAssoc([(cljs.core.truth_(saw_else)?new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146):new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22right-params\x22,\x22right-params\x22,-1790676237),right_params])], 0)),remainder__$2], null)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(clause_map))){\nreturn cljs.pprint.format_error(\x22Two else clauses (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22An else clause (\\\x22~:;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))) \x26\x26 (cljs.core.seq(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(clause_map))))){\nreturn cljs.pprint.format_error(\x22The else clause (\\\x22~:;\\\x22) is only allowed in the first position for this directive.\x22,offset);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22first\x22,\x22first\x22,-644103046),new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null),new cljs.core.Keyword(null,\x22else-params\x22,\x22else-params\x22,-832171646),else_params], null)], 0)),false,remainder__$2], null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),true,remainder__$2], null)], null);\n}\n\n}\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type,new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125))){\nif(cljs.core.truth_(saw_else)){\nreturn cljs.pprint.format_error(\x22A plain clause (with \\\x22~;\\\x22) follows an else clause (\\\x22~:;\\\x22) inside bracket construction.\x22,offset);\n} else {\nif(cljs.core.not(new cljs.core.Keyword(null,\x22allows-separator\x22,\x22allows-separator\x22,-818967742).cljs$core$IFn$_invoke$arity$1(bracket_info))){\nreturn cljs.pprint.format_error(\x22A separator (\\\x22~;\\\x22) is in a bracket type that doesn\x27t support it.\x22,offset);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.concat,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clause_map,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [clause], null)], null)], 0)),false,remainder__$2], null)], null);\n\n}\n}\n} else {\nreturn null;\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241),cljs.core.PersistentVector.EMPTY], null),false,remainder], null)));\n});\n/**\n * Take a linearly compiled format and process the bracket directives to give it\n * the appropriate tree structure\n */\ncljs.pprint.process_nesting \x3d (function cljs$pprint$process_nesting(format){\nreturn cljs.core.first(cljs.pprint.consume((function (remainder){\nvar this$ \x3d cljs.core.first(remainder);\nvar remainder__$1 \x3d cljs.core.next(remainder);\nvar bracket \x3d new cljs.core.Keyword(null,\x22bracket-info\x22,\x22bracket-info\x22,-1600092774).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(this$));\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833).cljs$core$IFn$_invoke$arity$1(bracket))){\nreturn cljs.pprint.process_bracket(this$,remainder__$1);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$,remainder__$1], null);\n}\n}),format));\n});\n/**\n * Compiles format-str into a compiled format which can be used as an argument\n * to cl-format just like a plain format string. Use this function for improved\n * performance when you\x27re using the same format string repeatedly\n */\ncljs.pprint.compile_format \x3d (function cljs$pprint$compile_format(format_str){\nvar _STAR_format_str_STAR__orig_val__30999 \x3d cljs.pprint._STAR_format_str_STAR_;\nvar _STAR_format_str_STAR__temp_val__31000 \x3d format_str;\n(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__temp_val__31000);\n\ntry{return cljs.pprint.process_nesting(cljs.core.first(cljs.pprint.consume((function (p__31001){\nvar vec__31002 \x3d p__31001;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31002,(0),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31002,(1),null);\nif(cljs.core.empty_QMARK_(s)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,s], null);\n} else {\nvar tilde \x3d s.indexOf(\x22~\x22);\nif((tilde \x3c (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(s,offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,(offset + s.length)], null)], null);\n} else {\nif((tilde \x3d\x3d\x3d (0))){\nreturn cljs.pprint.compile_directive(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(1)),(offset + (1)));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.pprint.compile_raw_string(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),tilde),offset),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,tilde),(tilde + offset)], null)], null);\n\n}\n}\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [format_str,(0)], null))));\n}finally {(cljs.pprint._STAR_format_str_STAR_ \x3d _STAR_format_str_STAR__orig_val__30999);\n}});\n/**\n * determine whether a given compiled format has any directives that depend on the\n * column number or pretty printing\n */\ncljs.pprint.needs_pretty \x3d (function cljs$pprint$needs_pretty(format){\nvar format__$1 \x3d format;\nwhile(true){\nif(cljs.core.empty_QMARK_(format__$1)){\nreturn false;\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22pretty\x22,\x22pretty\x22,-1916372486).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22flags\x22,\x22flags\x22,1775418075).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22def\x22,\x22def\x22,-1043430536).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1))));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22clauses\x22,\x22clauses\x22,1454841241).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.some(cljs.pprint.needs_pretty,cljs.core.first(new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(cljs.core.first(format__$1)))));\n}\n}\n})())){\nreturn true;\n} else {\nvar G__32327 \x3d cljs.core.next(format__$1);\nformat__$1 \x3d G__32327;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Executes the format with the arguments.\n */\ncljs.pprint.execute_format \x3d (function cljs$pprint$execute_format(var_args){\nvar G__31007 \x3d arguments.length;\nswitch (G__31007) {\ncase 3:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,format,args){\nvar sb \x3d (new goog.string.StringBuffer());\nvar real_stream \x3d ((((cljs.core.not(stream)) || (stream \x3d\x3d\x3d true)))?(new cljs.core.StringBufferWriter(sb)):stream);\nvar wrapped_stream \x3d ((((cljs.pprint.needs_pretty(format)) \x26\x26 (cljs.core.not(cljs.pprint.pretty_writer_QMARK_(real_stream)))))?cljs.pprint.get_pretty_writer(real_stream):real_stream);\nvar _STAR_out_STAR__orig_val__31008 \x3d cljs.core._STAR_out_STAR_;\nvar _STAR_out_STAR__temp_val__31009 \x3d wrapped_stream;\n(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__temp_val__31009);\n\ntry{try{cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(format,args);\n}finally {if((!((real_stream \x3d\x3d\x3d wrapped_stream)))){\ncljs.core._flush(wrapped_stream);\n} else {\n}\n}\nif(cljs.core.not(stream)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(stream \x3d\x3d\x3d true){\nreturn cljs.core.string_print(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nreturn null;\n\n}\n}\n}finally {(cljs.core._STAR_out_STAR_ \x3d _STAR_out_STAR__orig_val__31008);\n}}));\n\n(cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2 \x3d (function (format,args){\ncljs.pprint.map_passing_context((function (element,context){\nif(cljs.pprint.abort_QMARK_(context)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,context], null);\n} else {\nvar vec__31012 \x3d cljs.pprint.realize_parameter_list(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(element),context);\nvar params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31012,(0),null);\nvar args__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31012,(1),null);\nvar vec__31015 \x3d cljs.pprint.unzip_map(params);\nvar params__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31015,(0),null);\nvar offsets \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31015,(1),null);\nvar params__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(params__$1,new cljs.core.Keyword(null,\x22base-args\x22,\x22base-args\x22,-1268706822),args__$1);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22func\x22,\x22func\x22,-238706040).cljs$core$IFn$_invoke$arity$1(element),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [params__$2,args__$1,offsets], null))], null);\n}\n}),args,format);\n\nreturn null;\n}));\n\n(cljs.pprint.execute_format.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.pprint.cached_compile \x3d cljs.core.memoize(cljs.pprint.compile_format);\n/**\n * Installs a function as a new method of multimethod associated with dispatch-value. \n */\ncljs.pprint.use_method \x3d (function cljs$pprint$use_method(multifn,dispatch_val,func){\nreturn cljs.core._add_method(multifn,dispatch_val,func);\n});\ncljs.pprint.reader_macros \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22\x27\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22#\x27\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),\x22@\x22,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),\x22~\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),\x22@\x22,new cljs.core.Symbol(\x22cljs.core\x22,\x22unquote\x22,\x22cljs.core/unquote\x22,1013085760,null),\x22~\x22], null);\ncljs.pprint.pprint_reader_macro \x3d (function cljs$pprint$pprint_reader_macro(alis){\nvar macro_char \x3d (function (){var G__31018 \x3d cljs.core.first(alis);\nreturn (cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.reader_macros.cljs$core$IFn$_invoke$arity$1(G__31018) : cljs.pprint.reader_macros.call(null,G__31018));\n})();\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d macro_char;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(alis));\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core._write(cljs.core._STAR_out_STAR_,macro_char);\n\ncljs.pprint.write_out(cljs.core.second(alis));\n\nreturn true;\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_simple_list \x3d (function cljs$pprint$pprint_simple_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31021_32334 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31022_32335 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31023_32336 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31024_32337 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31023_32336);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31024_32337);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nvar length_count31025_32338 \x3d (0);\nvar alis_32339__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31025_32338 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32339__$1){\ncljs.pprint.write_out(cljs.core.first(alis_32339__$1));\n\nif(cljs.core.next(alis_32339__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32340 \x3d (length_count31025_32338 + (1));\nvar G__32341 \x3d cljs.core.next(alis_32339__$1);\nlength_count31025_32338 \x3d G__32340;\nalis_32339__$1 \x3d G__32341;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31022_32335);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31021_32334);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_list \x3d (function cljs$pprint$pprint_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nreturn cljs.pprint.pprint_simple_list(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_vector \x3d (function cljs$pprint$pprint_vector(avec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31026_32342 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31027_32343 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31028_32344 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31029_32345 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31028_32344);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31029_32345);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count31030_32347 \x3d (0);\nvar aseq_32348 \x3d cljs.core.seq(avec);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31030_32347 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_32348){\ncljs.pprint.write_out(cljs.core.first(aseq_32348));\n\nif(cljs.core.next(aseq_32348)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32350 \x3d (length_count31030_32347 + (1));\nvar G__32351 \x3d cljs.core.next(aseq_32348);\nlength_count31030_32347 \x3d G__32350;\naseq_32348 \x3d G__32351;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31027_32343);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31026_32342);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_array \x3d (function (){var format_in__28899__auto__ \x3d \x22~\x3c[~;~@{~w~^, ~:_~}~;]~:\x3e\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32352__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32352 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32353__i \x3d 0, G__32353__a \x3d new Array(arguments.length - 0);\nwhile (G__32353__i \x3c G__32353__a.length) {G__32353__a[G__32353__i] \x3d arguments[G__32353__i + 0]; ++G__32353__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32353__a,0,null);\n} \nreturn G__32352__delegate.call(this,args__28901__auto__);};\nG__32352.cljs$lang$maxFixedArity \x3d 0;\nG__32352.cljs$lang$applyTo \x3d (function (arglist__32354){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32354);\nreturn G__32352__delegate(args__28901__auto__);\n});\nG__32352.cljs$core$IFn$_invoke$arity$variadic \x3d G__32352__delegate;\nreturn G__32352;\n})()\n;\n})();\ncljs.pprint.pprint_map \x3d (function cljs$pprint$pprint_map(amap){\nvar vec__31037 \x3d (((!(cljs.core.record_QMARK_(amap))))?(function (){var fexpr__31042 \x3d new cljs.core.Var(function(){return cljs.core.lift_ns;},new cljs.core.Symbol(\x22cljs.core\x22,\x22lift-ns\x22,\x22cljs.core/lift-ns\x22,463499081,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22lift-ns\x22,\x22lift-ns\x22,602311926,null),\x22cljs/core.cljs\x22,15,1,10699,10699,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null)], null)),\x22Returns [lifted-ns lifted-map] or nil if m can\x27t be lifted.\x22,(cljs.core.truth_(cljs.core.lift_ns)?cljs.core.lift_ns.cljs$lang$test:null)]));\nreturn (fexpr__31042.cljs$core$IFn$_invoke$arity$1 ? fexpr__31042.cljs$core$IFn$_invoke$arity$1(amap) : fexpr__31042.call(null,amap));\n})():null);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31037,(0),null);\nvar lift_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31037,(1),null);\nvar amap__$1 \x3d (function (){var or__5025__auto__ \x3d lift_map;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn amap;\n}\n})();\nvar prefix \x3d (cljs.core.truth_(ns)?[\x22#:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22{\x22].join(\x27\x27):\x22{\x22);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31044_32359 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31045_32360 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31046_32361 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31047_32362 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31046_32361);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31047_32362);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22}\x22);\n\nvar length_count31048_32363 \x3d (0);\nvar aseq_32364 \x3d cljs.core.seq(amap__$1);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31048_32363 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(aseq_32364){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31049_32365 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31050_32366 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31051_32367 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31052_32368 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31051_32367);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31052_32368);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\ncljs.pprint.write_out(cljs.core.ffirst(aseq_32364));\n\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d (0));\n\ncljs.pprint.write_out(cljs.core.fnext(cljs.core.first(aseq_32364)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31050_32366);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31049_32365);\n}}\n\n\nif(cljs.core.next(aseq_32364)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22, \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32369 \x3d (length_count31048_32363 + (1));\nvar G__32370 \x3d cljs.core.next(aseq_32364);\nlength_count31048_32363 \x3d G__32369;\naseq_32364 \x3d G__32370;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31045_32360);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31044_32359);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_simple_default \x3d (function cljs$pprint$pprint_simple_default(obj){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\ncljs.pprint.pprint_set \x3d (function (){var format_in__28899__auto__ \x3d \x22~\x3c#{~;~@{~w~^ ~:_~}~;}~:\x3e\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32375__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32375 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32376__i \x3d 0, G__32376__a \x3d new Array(arguments.length - 0);\nwhile (G__32376__i \x3c G__32376__a.length) {G__32376__a[G__32376__i] \x3d arguments[G__32376__i + 0]; ++G__32376__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32376__a,0,null);\n} \nreturn G__32375__delegate.call(this,args__28901__auto__);};\nG__32375.cljs$lang$maxFixedArity \x3d 0;\nG__32375.cljs$lang$applyTo \x3d (function (arglist__32377){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32377);\nreturn G__32375__delegate(args__28901__auto__);\n});\nG__32375.cljs$core$IFn$_invoke$arity$variadic \x3d G__32375__delegate;\nreturn G__32375;\n})()\n;\n})();\ncljs.pprint.type_map \x3d new cljs.core.PersistentArrayMap(null, 2, [\x22core$future_call\x22,\x22Future\x22,\x22core$promise\x22,\x22Promise\x22], null);\n/**\n * Map ugly type names to something simpler\n */\ncljs.pprint.map_ref_type \x3d (function cljs$pprint$map_ref_type(name){\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d cljs.core.re_find(/^[^$]+\\$[^$]+/,name);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar match \x3d temp__5823__auto__;\nreturn (cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1 ? cljs.pprint.type_map.cljs$core$IFn$_invoke$arity$1(match) : cljs.pprint.type_map.call(null,match));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn name;\n}\n});\ncljs.pprint.pprint_ideref \x3d (function cljs$pprint$pprint_ideref(o){\nvar prefix \x3d [\x22#\x3c\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.pprint.map_ref_type(cljs.core.type(o).name)),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.getUid(o)),\x22: \x22].join(\x27\x27);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31063_32380 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31064_32381 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31065_32382 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31066_32383 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31065_32382);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31066_32383);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,prefix,null,\x22\x3e\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(- (((prefix).length) - (2))));\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\ncljs.pprint.write_out((((function (){var and__5023__auto__ \x3d (((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition1$ \x26 (1))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IPending$))))?true:(((!o.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPending,o));\nif(and__5023__auto__){\nreturn (!(cljs.core._realized_QMARK_(o)));\n} else {\nreturn and__5023__auto__;\n}\n})())?new cljs.core.Keyword(null,\x22not-delivered\x22,\x22not-delivered\x22,1599158697):cljs.core.deref(o)));\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31064_32381);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31063_32380);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_pqueue \x3d (function (){var format_in__28899__auto__ \x3d \x22~\x3c\x3c-(~;~@{~w~^ ~_~}~;)-\x3c~:\x3e\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32384__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32384 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32385__i \x3d 0, G__32385__a \x3d new Array(arguments.length - 0);\nwhile (G__32385__i \x3c G__32385__a.length) {G__32385__a[G__32385__i] \x3d arguments[G__32385__i + 0]; ++G__32385__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32385__a,0,null);\n} \nreturn G__32384__delegate.call(this,args__28901__auto__);};\nG__32384.cljs$lang$maxFixedArity \x3d 0;\nG__32384.cljs$lang$applyTo \x3d (function (arglist__32386){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32386);\nreturn G__32384__delegate(args__28901__auto__);\n});\nG__32384.cljs$core$IFn$_invoke$arity$variadic \x3d G__32384__delegate;\nreturn G__32384;\n})()\n;\n})();\ncljs.pprint.type_dispatcher \x3d (function cljs$pprint$type_dispatcher(obj){\nif((obj instanceof cljs.core.PersistentQueue)){\nreturn new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879);\n} else {\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj))){\nreturn new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696);\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.vector_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.set_QMARK_(obj)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.simple_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for simple data structure format.\n */\ncljs.pprint.simple_dispatch \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__31072 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__31072.cljs$core$IFn$_invoke$arity$0 ? fexpr__31072.cljs$core$IFn$_invoke$arity$0() : fexpr__31072.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22simple-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_list);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,null,(function (){\nreturn cljs.core._write(cljs.core._STAR_out_STAR_,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)));\n}));\ncljs.pprint.use_method(cljs.pprint.simple_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\n/**\n * Figure out which kind of brackets to use\n */\ncljs.pprint.brackets \x3d (function cljs$pprint$brackets(form){\nif(cljs.core.vector_QMARK_(form)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22[\x22,\x22]\x22], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22(\x22,\x22)\x22], null);\n}\n});\n/**\n * Pretty print a single reference (import, use, etc.) from a namespace decl\n */\ncljs.pprint.pprint_ns_reference \x3d (function cljs$pprint$pprint_ns_reference(reference){\nif(cljs.core.sequential_QMARK_(reference)){\nvar vec__31073 \x3d cljs.pprint.brackets(reference);\nvar start \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31073,(0),null);\nvar end \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31073,(1),null);\nvar vec__31076 \x3d reference;\nvar seq__31077 \x3d cljs.core.seq(vec__31076);\nvar first__31078 \x3d cljs.core.first(seq__31077);\nvar seq__31077__$1 \x3d cljs.core.next(seq__31077);\nvar keyw \x3d first__31078;\nvar args \x3d seq__31077__$1;\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31079_32389 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31080_32390 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31081_32391 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31082_32392 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31081_32391);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31082_32392);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start,null,end);\n\n(function (){var format_in__28899__auto__ \x3d \x22~w~:i\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32393__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32393 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32394__i \x3d 0, G__32394__a \x3d new Array(arguments.length - 0);\nwhile (G__32394__i \x3c G__32394__a.length) {G__32394__a[G__32394__i] \x3d arguments[G__32394__i + 0]; ++G__32394__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32394__a,0,null);\n} \nreturn G__32393__delegate.call(this,args__28901__auto__);};\nG__32393.cljs$lang$maxFixedArity \x3d 0;\nG__32393.cljs$lang$applyTo \x3d (function (arglist__32395){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32395);\nreturn G__32393__delegate(args__28901__auto__);\n});\nG__32393.cljs$core$IFn$_invoke$arity$variadic \x3d G__32393__delegate;\nreturn G__32393;\n})()\n;\n})()(keyw);\n\nvar args_32396__$1 \x3d args;\nwhile(true){\nif(cljs.core.seq(args_32396__$1)){\n(function (){var format_in__28899__auto__ \x3d \x22 \x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn ((function (args_32396__$1,format_in__28899__auto__,cf__28900__auto__,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args){\nreturn (function() { \nvar G__32398__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32398 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32399__i \x3d 0, G__32399__a \x3d new Array(arguments.length - 0);\nwhile (G__32399__i \x3c G__32399__a.length) {G__32399__a[G__32399__i] \x3d arguments[G__32399__i + 0]; ++G__32399__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32399__a,0,null);\n} \nreturn G__32398__delegate.call(this,args__28901__auto__);};\nG__32398.cljs$lang$maxFixedArity \x3d 0;\nG__32398.cljs$lang$applyTo \x3d (function (arglist__32400){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32400);\nreturn G__32398__delegate(args__28901__auto__);\n});\nG__32398.cljs$core$IFn$_invoke$arity$variadic \x3d G__32398__delegate;\nreturn G__32398;\n})()\n;\n;})(args_32396__$1,format_in__28899__auto__,cf__28900__auto__,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args))\n})()();\n\nvar arg_32402 \x3d cljs.core.first(args_32396__$1);\nif(cljs.core.sequential_QMARK_(arg_32402)){\nvar vec__31091_32403 \x3d cljs.pprint.brackets(arg_32402);\nvar start_32404__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31091_32403,(0),null);\nvar end_32405__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31091_32403,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31098_32407 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31099_32408 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31100_32409 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31101_32410 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31100_32409);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31101_32410);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,start_32404__$1,null,end_32405__$1);\n\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(arg_32402),(3))) \x26\x26 ((cljs.core.second(arg_32402) instanceof cljs.core.Keyword)))){\nvar vec__31104_32411 \x3d arg_32402;\nvar ns_32412 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31104_32411,(0),null);\nvar kw_32413 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31104_32411,(1),null);\nvar lis_32414 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31104_32411,(2),null);\n(function (){var format_in__28899__auto__ \x3d \x22~w ~w \x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn ((function (args_32396__$1,format_in__28899__auto__,cf__28900__auto__,vec__31104_32411,ns_32412,kw_32413,lis_32414,_STAR_current_level_STAR__orig_val__31098_32407,_STAR_current_length_STAR__orig_val__31099_32408,_STAR_current_level_STAR__temp_val__31100_32409,_STAR_current_length_STAR__temp_val__31101_32410,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args){\nreturn (function() { \nvar G__32415__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32415 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32416__i \x3d 0, G__32416__a \x3d new Array(arguments.length - 0);\nwhile (G__32416__i \x3c G__32416__a.length) {G__32416__a[G__32416__i] \x3d arguments[G__32416__i + 0]; ++G__32416__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32416__a,0,null);\n} \nreturn G__32415__delegate.call(this,args__28901__auto__);};\nG__32415.cljs$lang$maxFixedArity \x3d 0;\nG__32415.cljs$lang$applyTo \x3d (function (arglist__32417){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32417);\nreturn G__32415__delegate(args__28901__auto__);\n});\nG__32415.cljs$core$IFn$_invoke$arity$variadic \x3d G__32415__delegate;\nreturn G__32415;\n})()\n;\n;})(args_32396__$1,format_in__28899__auto__,cf__28900__auto__,vec__31104_32411,ns_32412,kw_32413,lis_32414,_STAR_current_level_STAR__orig_val__31098_32407,_STAR_current_length_STAR__orig_val__31099_32408,_STAR_current_level_STAR__temp_val__31100_32409,_STAR_current_length_STAR__temp_val__31101_32410,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args))\n})()(ns_32412,kw_32413);\n\nif(cljs.core.sequential_QMARK_(lis_32414)){\n(function (){var format_in__28899__auto__ \x3d ((cljs.core.vector_QMARK_(lis_32414))?\x22~\x3c[~;~@{~w~^ ~:_~}~;]~:\x3e\x22:\x22~\x3c(~;~@{~w~^ ~:_~}~;)~:\x3e\x22);\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn ((function (args_32396__$1,format_in__28899__auto__,cf__28900__auto__,vec__31104_32411,ns_32412,kw_32413,lis_32414,_STAR_current_level_STAR__orig_val__31098_32407,_STAR_current_length_STAR__orig_val__31099_32408,_STAR_current_level_STAR__temp_val__31100_32409,_STAR_current_length_STAR__temp_val__31101_32410,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args){\nreturn (function() { \nvar G__32418__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32418 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32419__i \x3d 0, G__32419__a \x3d new Array(arguments.length - 0);\nwhile (G__32419__i \x3c G__32419__a.length) {G__32419__a[G__32419__i] \x3d arguments[G__32419__i + 0]; ++G__32419__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32419__a,0,null);\n} \nreturn G__32418__delegate.call(this,args__28901__auto__);};\nG__32418.cljs$lang$maxFixedArity \x3d 0;\nG__32418.cljs$lang$applyTo \x3d (function (arglist__32420){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32420);\nreturn G__32418__delegate(args__28901__auto__);\n});\nG__32418.cljs$core$IFn$_invoke$arity$variadic \x3d G__32418__delegate;\nreturn G__32418;\n})()\n;\n;})(args_32396__$1,format_in__28899__auto__,cf__28900__auto__,vec__31104_32411,ns_32412,kw_32413,lis_32414,_STAR_current_level_STAR__orig_val__31098_32407,_STAR_current_length_STAR__orig_val__31099_32408,_STAR_current_level_STAR__temp_val__31100_32409,_STAR_current_length_STAR__temp_val__31101_32410,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args))\n})()(lis_32414);\n} else {\ncljs.pprint.write_out(lis_32414);\n}\n} else {\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__28899__auto__ \x3d \x22~w ~:i~@{~w~^ ~:_~}\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn ((function (args_32396__$1,format_in__28899__auto__,cf__28900__auto__,_STAR_current_level_STAR__orig_val__31098_32407,_STAR_current_length_STAR__orig_val__31099_32408,_STAR_current_level_STAR__temp_val__31100_32409,_STAR_current_length_STAR__temp_val__31101_32410,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args){\nreturn (function() { \nvar G__32421__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32421 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32422__i \x3d 0, G__32422__a \x3d new Array(arguments.length - 0);\nwhile (G__32422__i \x3c G__32422__a.length) {G__32422__a[G__32422__i] \x3d arguments[G__32422__i + 0]; ++G__32422__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32422__a,0,null);\n} \nreturn G__32421__delegate.call(this,args__28901__auto__);};\nG__32421.cljs$lang$maxFixedArity \x3d 0;\nG__32421.cljs$lang$applyTo \x3d (function (arglist__32423){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32423);\nreturn G__32421__delegate(args__28901__auto__);\n});\nG__32421.cljs$core$IFn$_invoke$arity$variadic \x3d G__32421__delegate;\nreturn G__32421;\n})()\n;\n;})(args_32396__$1,format_in__28899__auto__,cf__28900__auto__,_STAR_current_level_STAR__orig_val__31098_32407,_STAR_current_length_STAR__orig_val__31099_32408,_STAR_current_level_STAR__temp_val__31100_32409,_STAR_current_length_STAR__temp_val__31101_32410,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args))\n})(),arg_32402);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31099_32408);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31098_32407);\n}}\n\n\nif(cljs.core.next(args_32396__$1)){\n(function (){var format_in__28899__auto__ \x3d \x22~_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn ((function (args_32396__$1,format_in__28899__auto__,cf__28900__auto__,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args){\nreturn (function() { \nvar G__32429__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32429 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32430__i \x3d 0, G__32430__a \x3d new Array(arguments.length - 0);\nwhile (G__32430__i \x3c G__32430__a.length) {G__32430__a[G__32430__i] \x3d arguments[G__32430__i + 0]; ++G__32430__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32430__a,0,null);\n} \nreturn G__32429__delegate.call(this,args__28901__auto__);};\nG__32429.cljs$lang$maxFixedArity \x3d 0;\nG__32429.cljs$lang$applyTo \x3d (function (arglist__32431){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32431);\nreturn G__32429__delegate(args__28901__auto__);\n});\nG__32429.cljs$core$IFn$_invoke$arity$variadic \x3d G__32429__delegate;\nreturn G__32429;\n})()\n;\n;})(args_32396__$1,format_in__28899__auto__,cf__28900__auto__,vec__31091_32403,start_32404__$1,end_32405__$1,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args))\n})()();\n} else {\n}\n} else {\ncljs.pprint.write_out(arg_32402);\n\nif(cljs.core.next(args_32396__$1)){\n(function (){var format_in__28899__auto__ \x3d \x22~:_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn ((function (args_32396__$1,format_in__28899__auto__,cf__28900__auto__,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args){\nreturn (function() { \nvar G__32433__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32433 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32436__i \x3d 0, G__32436__a \x3d new Array(arguments.length - 0);\nwhile (G__32436__i \x3c G__32436__a.length) {G__32436__a[G__32436__i] \x3d arguments[G__32436__i + 0]; ++G__32436__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32436__a,0,null);\n} \nreturn G__32433__delegate.call(this,args__28901__auto__);};\nG__32433.cljs$lang$maxFixedArity \x3d 0;\nG__32433.cljs$lang$applyTo \x3d (function (arglist__32437){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32437);\nreturn G__32433__delegate(args__28901__auto__);\n});\nG__32433.cljs$core$IFn$_invoke$arity$variadic \x3d G__32433__delegate;\nreturn G__32433;\n})()\n;\n;})(args_32396__$1,format_in__28899__auto__,cf__28900__auto__,arg_32402,_STAR_current_level_STAR__orig_val__31079_32389,_STAR_current_length_STAR__orig_val__31080_32390,_STAR_current_level_STAR__temp_val__31081_32391,_STAR_current_length_STAR__temp_val__31082_32392,vec__31073,start,end,vec__31076,seq__31077,first__31078,seq__31077__$1,keyw,args))\n})()();\n} else {\n}\n}\n\nvar G__32438 \x3d cljs.core.next(args_32396__$1);\nargs_32396__$1 \x3d G__32438;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31080_32390);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31079_32389);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(reference);\n}\n});\n/**\n * The pretty print dispatch chunk for the ns macro\n */\ncljs.pprint.pprint_ns \x3d (function cljs$pprint$pprint_ns(alis){\nif(cljs.core.next(alis)){\nvar vec__31114 \x3d alis;\nvar seq__31115 \x3d cljs.core.seq(vec__31114);\nvar first__31116 \x3d cljs.core.first(seq__31115);\nvar seq__31115__$1 \x3d cljs.core.next(seq__31115);\nvar ns_sym \x3d first__31116;\nvar first__31116__$1 \x3d cljs.core.first(seq__31115__$1);\nvar seq__31115__$2 \x3d cljs.core.next(seq__31115__$1);\nvar ns_name \x3d first__31116__$1;\nvar stuff \x3d seq__31115__$2;\nvar vec__31117 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31117,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31117,(1),null);\nvar vec__31120 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31120,(0),null);\nvar references \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31120,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31124_32441 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31125_32442 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31126_32443 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31127_32444 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31126_32443);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31127_32444);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__28899__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32445__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32445 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32446__i \x3d 0, G__32446__a \x3d new Array(arguments.length - 0);\nwhile (G__32446__i \x3c G__32446__a.length) {G__32446__a[G__32446__i] \x3d arguments[G__32446__i + 0]; ++G__32446__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32446__a,0,null);\n} \nreturn G__32445__delegate.call(this,args__28901__auto__);};\nG__32445.cljs$lang$maxFixedArity \x3d 0;\nG__32445.cljs$lang$applyTo \x3d (function (arglist__32447){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32447);\nreturn G__32445__delegate(args__28901__auto__);\n});\nG__32445.cljs$core$IFn$_invoke$arity$variadic \x3d G__32445__delegate;\nreturn G__32445;\n})()\n;\n})()(ns_sym,ns_name);\n\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d attr_map;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.seq(references);\n}\n}\n})())){\n(function (){var format_in__28899__auto__ \x3d \x22~@:_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32453__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32453 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32454__i \x3d 0, G__32454__a \x3d new Array(arguments.length - 0);\nwhile (G__32454__i \x3c G__32454__a.length) {G__32454__a[G__32454__i] \x3d arguments[G__32454__i + 0]; ++G__32454__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32454__a,0,null);\n} \nreturn G__32453__delegate.call(this,args__28901__auto__);};\nG__32453.cljs$lang$maxFixedArity \x3d 0;\nG__32453.cljs$lang$applyTo \x3d (function (arglist__32455){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32455);\nreturn G__32453__delegate(args__28901__auto__);\n});\nG__32453.cljs$core$IFn$_invoke$arity$variadic \x3d G__32453__delegate;\nreturn G__32453;\n})()\n;\n})()();\n} else {\n}\n\nif(cljs.core.truth_(doc_str)){\ncljs.pprint.cl_format.cljs$core$IFn$_invoke$arity$variadic(true,\x22\\\x22~a\\\x22~:[~;~:@_~]\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([doc_str,(function (){var or__5025__auto__ \x3d attr_map;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.seq(references);\n}\n})()], 0));\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__28899__auto__ \x3d \x22~w~:[~;~:@_~]\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32456__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32456 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32458__i \x3d 0, G__32458__a \x3d new Array(arguments.length - 0);\nwhile (G__32458__i \x3c G__32458__a.length) {G__32458__a[G__32458__i] \x3d arguments[G__32458__i + 0]; ++G__32458__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32458__a,0,null);\n} \nreturn G__32456__delegate.call(this,args__28901__auto__);};\nG__32456.cljs$lang$maxFixedArity \x3d 0;\nG__32456.cljs$lang$applyTo \x3d (function (arglist__32459){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32459);\nreturn G__32456__delegate(args__28901__auto__);\n});\nG__32456.cljs$core$IFn$_invoke$arity$variadic \x3d G__32456__delegate;\nreturn G__32456;\n})()\n;\n})()(attr_map,cljs.core.seq(references));\n} else {\n}\n\nvar references_32460__$1 \x3d references;\nwhile(true){\ncljs.pprint.pprint_ns_reference(cljs.core.first(references_32460__$1));\n\nvar temp__5823__auto___32461 \x3d cljs.core.next(references_32460__$1);\nif(temp__5823__auto___32461){\nvar references_32462__$2 \x3d temp__5823__auto___32461;\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32463 \x3d references_32462__$2;\nreferences_32460__$1 \x3d G__32463;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31125_32442);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31124_32441);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.write_out(alis);\n}\n});\ncljs.pprint.pprint_hold_first \x3d (function (){var format_in__28899__auto__ \x3d \x22~:\x3c~w~^ ~@_~w~^ ~_~@{~w~^ ~_~}~:\x3e\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32465__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32465 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32466__i \x3d 0, G__32466__a \x3d new Array(arguments.length - 0);\nwhile (G__32466__i \x3c G__32466__a.length) {G__32466__a[G__32466__i] \x3d arguments[G__32466__i + 0]; ++G__32466__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32466__a,0,null);\n} \nreturn G__32465__delegate.call(this,args__28901__auto__);};\nG__32465.cljs$lang$maxFixedArity \x3d 0;\nG__32465.cljs$lang$applyTo \x3d (function (arglist__32467){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32467);\nreturn G__32465__delegate(args__28901__auto__);\n});\nG__32465.cljs$core$IFn$_invoke$arity$variadic \x3d G__32465__delegate;\nreturn G__32465;\n})()\n;\n})();\ncljs.pprint.single_defn \x3d (function cljs$pprint$single_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nif(cljs.core.truth_(has_doc_str_QMARK_)){\n(function (){var format_in__28899__auto__ \x3d \x22 ~_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32468__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32468 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32471__i \x3d 0, G__32471__a \x3d new Array(arguments.length - 0);\nwhile (G__32471__i \x3c G__32471__a.length) {G__32471__a[G__32471__i] \x3d arguments[G__32471__i + 0]; ++G__32471__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32471__a,0,null);\n} \nreturn G__32468__delegate.call(this,args__28901__auto__);};\nG__32468.cljs$lang$maxFixedArity \x3d 0;\nG__32468.cljs$lang$applyTo \x3d (function (arglist__32472){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32472);\nreturn G__32468__delegate(args__28901__auto__);\n});\nG__32468.cljs$core$IFn$_invoke$arity$variadic \x3d G__32468__delegate;\nreturn G__32468;\n})()\n;\n})()();\n} else {\n(function (){var format_in__28899__auto__ \x3d \x22 ~@_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32474__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32474 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32476__i \x3d 0, G__32476__a \x3d new Array(arguments.length - 0);\nwhile (G__32476__i \x3c G__32476__a.length) {G__32476__a[G__32476__i] \x3d arguments[G__32476__i + 0]; ++G__32476__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32476__a,0,null);\n} \nreturn G__32474__delegate.call(this,args__28901__auto__);};\nG__32474.cljs$lang$maxFixedArity \x3d 0;\nG__32474.cljs$lang$applyTo \x3d (function (arglist__32477){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32477);\nreturn G__32474__delegate(args__28901__auto__);\n});\nG__32474.cljs$core$IFn$_invoke$arity$variadic \x3d G__32474__delegate;\nreturn G__32474;\n})()\n;\n})()();\n}\n\nreturn (function (){var format_in__28899__auto__ \x3d \x22~{~w~^ ~_~}\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32478__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32478 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32479__i \x3d 0, G__32479__a \x3d new Array(arguments.length - 0);\nwhile (G__32479__i \x3c G__32479__a.length) {G__32479__a[G__32479__i] \x3d arguments[G__32479__i + 0]; ++G__32479__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32479__a,0,null);\n} \nreturn G__32478__delegate.call(this,args__28901__auto__);};\nG__32478.cljs$lang$maxFixedArity \x3d 0;\nG__32478.cljs$lang$applyTo \x3d (function (arglist__32480){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32480);\nreturn G__32478__delegate(args__28901__auto__);\n});\nG__32478.cljs$core$IFn$_invoke$arity$variadic \x3d G__32478__delegate;\nreturn G__32478;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.multi_defn \x3d (function cljs$pprint$multi_defn(alis,has_doc_str_QMARK_){\nif(cljs.core.seq(alis)){\nreturn (function (){var format_in__28899__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32481__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32481 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32482__i \x3d 0, G__32482__a \x3d new Array(arguments.length - 0);\nwhile (G__32482__i \x3c G__32482__a.length) {G__32482__a[G__32482__i] \x3d arguments[G__32482__i + 0]; ++G__32482__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32482__a,0,null);\n} \nreturn G__32481__delegate.call(this,args__28901__auto__);};\nG__32481.cljs$lang$maxFixedArity \x3d 0;\nG__32481.cljs$lang$applyTo \x3d (function (arglist__32483){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32483);\nreturn G__32481__delegate(args__28901__auto__);\n});\nG__32481.cljs$core$IFn$_invoke$arity$variadic \x3d G__32481__delegate;\nreturn G__32481;\n})()\n;\n})()(alis);\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_defn \x3d (function cljs$pprint$pprint_defn(alis){\nif(cljs.core.next(alis)){\nvar vec__31160 \x3d alis;\nvar seq__31161 \x3d cljs.core.seq(vec__31160);\nvar first__31162 \x3d cljs.core.first(seq__31161);\nvar seq__31161__$1 \x3d cljs.core.next(seq__31161);\nvar defn_sym \x3d first__31162;\nvar first__31162__$1 \x3d cljs.core.first(seq__31161__$1);\nvar seq__31161__$2 \x3d cljs.core.next(seq__31161__$1);\nvar defn_name \x3d first__31162__$1;\nvar stuff \x3d seq__31161__$2;\nvar vec__31163 \x3d ((typeof cljs.core.first(stuff) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff),cljs.core.next(stuff)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff], null));\nvar doc_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31163,(0),null);\nvar stuff__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31163,(1),null);\nvar vec__31166 \x3d ((cljs.core.map_QMARK_(cljs.core.first(stuff__$1)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(stuff__$1),cljs.core.next(stuff__$1)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,stuff__$1], null));\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31166,(0),null);\nvar stuff__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31166,(1),null);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31169_32485 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31170_32486 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31171_32487 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31172_32488 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31171_32487);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31172_32488);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\n(function (){var format_in__28899__auto__ \x3d \x22~w ~1I~@_~w\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32490__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32490 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32491__i \x3d 0, G__32491__a \x3d new Array(arguments.length - 0);\nwhile (G__32491__i \x3c G__32491__a.length) {G__32491__a[G__32491__i] \x3d arguments[G__32491__i + 0]; ++G__32491__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32491__a,0,null);\n} \nreturn G__32490__delegate.call(this,args__28901__auto__);};\nG__32490.cljs$lang$maxFixedArity \x3d 0;\nG__32490.cljs$lang$applyTo \x3d (function (arglist__32492){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32492);\nreturn G__32490__delegate(args__28901__auto__);\n});\nG__32490.cljs$core$IFn$_invoke$arity$variadic \x3d G__32490__delegate;\nreturn G__32490;\n})()\n;\n})()(defn_sym,defn_name);\n\nif(cljs.core.truth_(doc_str)){\n(function (){var format_in__28899__auto__ \x3d \x22 ~_~w\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32494__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32494 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32495__i \x3d 0, G__32495__a \x3d new Array(arguments.length - 0);\nwhile (G__32495__i \x3c G__32495__a.length) {G__32495__a[G__32495__i] \x3d arguments[G__32495__i + 0]; ++G__32495__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32495__a,0,null);\n} \nreturn G__32494__delegate.call(this,args__28901__auto__);};\nG__32494.cljs$lang$maxFixedArity \x3d 0;\nG__32494.cljs$lang$applyTo \x3d (function (arglist__32496){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32496);\nreturn G__32494__delegate(args__28901__auto__);\n});\nG__32494.cljs$core$IFn$_invoke$arity$variadic \x3d G__32494__delegate;\nreturn G__32494;\n})()\n;\n})()(doc_str);\n} else {\n}\n\nif(cljs.core.truth_(attr_map)){\n(function (){var format_in__28899__auto__ \x3d \x22 ~_~w\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32497__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32497 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32498__i \x3d 0, G__32498__a \x3d new Array(arguments.length - 0);\nwhile (G__32498__i \x3c G__32498__a.length) {G__32498__a[G__32498__i] \x3d arguments[G__32498__i + 0]; ++G__32498__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32498__a,0,null);\n} \nreturn G__32497__delegate.call(this,args__28901__auto__);};\nG__32497.cljs$lang$maxFixedArity \x3d 0;\nG__32497.cljs$lang$applyTo \x3d (function (arglist__32499){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32499);\nreturn G__32497__delegate(args__28901__auto__);\n});\nG__32497.cljs$core$IFn$_invoke$arity$variadic \x3d G__32497__delegate;\nreturn G__32497;\n})()\n;\n})()(attr_map);\n} else {\n}\n\nif(cljs.core.vector_QMARK_(cljs.core.first(stuff__$2))){\ncljs.pprint.single_defn(stuff__$2,(function (){var or__5025__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn attr_map;\n}\n})());\n} else {\ncljs.pprint.multi_defn(stuff__$2,(function (){var or__5025__auto__ \x3d doc_str;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn attr_map;\n}\n})());\n\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31170_32486);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31169_32485);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_binding_form \x3d (function cljs$pprint$pprint_binding_form(binding_vec){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31177_32501 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31178_32502 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31179_32503 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31180_32504 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31179_32503);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31180_32504);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22[\x22,null,\x22]\x22);\n\nvar length_count31183_32509 \x3d (0);\nvar binding_32512 \x3d binding_vec;\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31183_32509 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(cljs.core.seq(binding_32512)){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31184_32514 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31185_32515 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31186_32516 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31187_32517 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31186_32516);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31187_32517);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(binding_32512));\n\nif(cljs.core.next(binding_32512)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(binding_32512));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31185_32515);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31184_32514);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(binding_32512))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32521 \x3d (length_count31183_32509 + (1));\nvar G__32522 \x3d cljs.core.next(cljs.core.rest(binding_32512));\nlength_count31183_32509 \x3d G__32521;\nbinding_32512 \x3d G__32522;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31178_32502);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31177_32501);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_let \x3d (function cljs$pprint$pprint_let(alis){\nvar base_sym \x3d cljs.core.first(alis);\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31188_32526 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31189_32527 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31190_32528 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31191_32529 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31190_32528);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31191_32529);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\nif(((cljs.core.next(alis)) \x26\x26 (cljs.core.vector_QMARK_(cljs.core.second(alis))))){\n(function (){var format_in__28899__auto__ \x3d \x22~w ~1I~@_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32530__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32530 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32534__i \x3d 0, G__32534__a \x3d new Array(arguments.length - 0);\nwhile (G__32534__i \x3c G__32534__a.length) {G__32534__a[G__32534__i] \x3d arguments[G__32534__i + 0]; ++G__32534__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32534__a,0,null);\n} \nreturn G__32530__delegate.call(this,args__28901__auto__);};\nG__32530.cljs$lang$maxFixedArity \x3d 0;\nG__32530.cljs$lang$applyTo \x3d (function (arglist__32535){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32535);\nreturn G__32530__delegate(args__28901__auto__);\n});\nG__32530.cljs$core$IFn$_invoke$arity$variadic \x3d G__32530__delegate;\nreturn G__32530;\n})()\n;\n})()(base_sym);\n\ncljs.pprint.pprint_binding_form(cljs.core.second(alis));\n\n(function (){var format_in__28899__auto__ \x3d \x22 ~_~{~w~^ ~_~}\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32536__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32536 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32537__i \x3d 0, G__32537__a \x3d new Array(arguments.length - 0);\nwhile (G__32537__i \x3c G__32537__a.length) {G__32537__a[G__32537__i] \x3d arguments[G__32537__i + 0]; ++G__32537__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32537__a,0,null);\n} \nreturn G__32536__delegate.call(this,args__28901__auto__);};\nG__32536.cljs$lang$maxFixedArity \x3d 0;\nG__32536.cljs$lang$applyTo \x3d (function (arglist__32538){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32538);\nreturn G__32536__delegate(args__28901__auto__);\n});\nG__32536.cljs$core$IFn$_invoke$arity$variadic \x3d G__32536__delegate;\nreturn G__32536;\n})()\n;\n})()(cljs.core.next(cljs.core.rest(alis)));\n} else {\ncljs.pprint.pprint_simple_code_list(alis);\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31189_32527);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31188_32526);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_if \x3d (function (){var format_in__28899__auto__ \x3d \x22~:\x3c~1I~w~^ ~@_~w~@{ ~_~w~}~:\x3e\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32542__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32542 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32543__i \x3d 0, G__32543__a \x3d new Array(arguments.length - 0);\nwhile (G__32543__i \x3c G__32543__a.length) {G__32543__a[G__32543__i] \x3d arguments[G__32543__i + 0]; ++G__32543__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32543__a,0,null);\n} \nreturn G__32542__delegate.call(this,args__28901__auto__);};\nG__32542.cljs$lang$maxFixedArity \x3d 0;\nG__32542.cljs$lang$applyTo \x3d (function (arglist__32544){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32544);\nreturn G__32542__delegate(args__28901__auto__);\n});\nG__32542.cljs$core$IFn$_invoke$arity$variadic \x3d G__32542__delegate;\nreturn G__32542;\n})()\n;\n})();\ncljs.pprint.pprint_cond \x3d (function cljs$pprint$pprint_cond(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31198_32545 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31199_32546 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31200_32547 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31201_32548 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31200_32547);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31201_32548);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.pprint.write_out(cljs.core.first(alis));\n\nif(cljs.core.next(alis)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar length_count31204_32552 \x3d (0);\nvar alis_32553__$1 \x3d cljs.core.next(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31204_32552 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32553__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31207_32554 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31208_32555 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31209_32556 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31210_32557 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31209_32556);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31210_32557);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_32553__$1));\n\nif(cljs.core.next(alis_32553__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_32553__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31208_32555);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31207_32554);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_32553__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32558 \x3d (length_count31204_32552 + (1));\nvar G__32559 \x3d cljs.core.next(cljs.core.rest(alis_32553__$1));\nlength_count31204_32552 \x3d G__32558;\nalis_32553__$1 \x3d G__32559;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31199_32546);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31198_32545);\n}}\n\nreturn null;\n});\ncljs.pprint.pprint_condp \x3d (function cljs$pprint$pprint_condp(alis){\nif((cljs.core.count(alis) \x3e (3))){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31213_32565 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31214_32566 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31215_32567 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31216_32568 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31215_32567);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31216_32568);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2((function (){var format_in__28899__auto__ \x3d \x22~w ~@_~w ~@_~w ~_\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32572__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32572 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32573__i \x3d 0, G__32573__a \x3d new Array(arguments.length - 0);\nwhile (G__32573__i \x3c G__32573__a.length) {G__32573__a[G__32573__i] \x3d arguments[G__32573__i + 0]; ++G__32573__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32573__a,0,null);\n} \nreturn G__32572__delegate.call(this,args__28901__auto__);};\nG__32572.cljs$lang$maxFixedArity \x3d 0;\nG__32572.cljs$lang$applyTo \x3d (function (arglist__32574){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32574);\nreturn G__32572__delegate(args__28901__auto__);\n});\nG__32572.cljs$core$IFn$_invoke$arity$variadic \x3d G__32572__delegate;\nreturn G__32572;\n})()\n;\n})(),alis);\n\nvar length_count31220_32575 \x3d (0);\nvar alis_32576__$1 \x3d cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((3),alis));\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31220_32575 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32576__$1){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31224_32577 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31225_32578 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31226_32579 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31227_32580 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31226_32579);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31227_32580);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,null,null,null);\n\n\ncljs.pprint.write_out(cljs.core.first(alis_32576__$1));\n\nif(cljs.core.next(alis_32576__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22miser\x22,\x22miser\x22,-556060186));\n\ncljs.pprint.write_out(cljs.core.second(alis_32576__$1));\n} else {\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31225_32578);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31224_32577);\n}}\n\n\nif(cljs.core.next(cljs.core.rest(alis_32576__$1))){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32589 \x3d (length_count31220_32575 + (1));\nvar G__32590 \x3d cljs.core.next(cljs.core.rest(alis_32576__$1));\nlength_count31220_32575 \x3d G__32589;\nalis_32576__$1 \x3d G__32590;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31214_32566);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31213_32565);\n}}\n\nreturn null;\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint._STAR_symbol_map_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.pprint.pprint_anon_func \x3d (function cljs$pprint$pprint_anon_func(alis){\nvar args \x3d cljs.core.second(alis);\nvar nlis \x3d cljs.core.first(cljs.core.rest(cljs.core.rest(alis)));\nif(cljs.core.vector_QMARK_(args)){\nvar _STAR_symbol_map_STAR__orig_val__31234 \x3d cljs.pprint._STAR_symbol_map_STAR_;\nvar _STAR_symbol_map_STAR__temp_val__31235 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(args)))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.first(args),\x22%\x22]):cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__31232_SHARP_,p2__31233_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__31232_SHARP_,[\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p2__31233_SHARP_)].join(\x27\x27)],null));\n}),args,cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(cljs.core.count(args) + (1))))));\n(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__temp_val__31235);\n\ntry{return (function (){var format_in__28899__auto__ \x3d \x22~\x3c#(~;~@{~w~^ ~_~}~;)~:\x3e\x22;\nvar cf__28900__auto__ \x3d ((typeof format_in__28899__auto__ \x3d\x3d\x3d \x27string\x27)?cljs.pprint.cached_compile(format_in__28899__auto__):format_in__28899__auto__);\nreturn (function() { \nvar G__32597__delegate \x3d function (args__28901__auto__){\nvar navigator__28902__auto__ \x3d cljs.pprint.init_navigator(args__28901__auto__);\nreturn cljs.pprint.execute_format.cljs$core$IFn$_invoke$arity$2(cf__28900__auto__,navigator__28902__auto__);\n};\nvar G__32597 \x3d function (var_args){\nvar args__28901__auto__ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__32598__i \x3d 0, G__32598__a \x3d new Array(arguments.length - 0);\nwhile (G__32598__i \x3c G__32598__a.length) {G__32598__a[G__32598__i] \x3d arguments[G__32598__i + 0]; ++G__32598__i;}\n args__28901__auto__ \x3d new cljs.core.IndexedSeq(G__32598__a,0,null);\n} \nreturn G__32597__delegate.call(this,args__28901__auto__);};\nG__32597.cljs$lang$maxFixedArity \x3d 0;\nG__32597.cljs$lang$applyTo \x3d (function (arglist__32599){\nvar args__28901__auto__ \x3d cljs.core.seq(arglist__32599);\nreturn G__32597__delegate(args__28901__auto__);\n});\nG__32597.cljs$core$IFn$_invoke$arity$variadic \x3d G__32597__delegate;\nreturn G__32597;\n})()\n;\n})()(nlis);\n}finally {(cljs.pprint._STAR_symbol_map_STAR_ \x3d _STAR_symbol_map_STAR__orig_val__31234);\n}} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n});\ncljs.pprint.pprint_simple_code_list \x3d (function cljs$pprint$pprint_simple_code_list(alis){\nif(cljs.core.truth_(cljs.pprint.level_exceeded())){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22#\x22);\n} else {\nvar _STAR_current_level_STAR__orig_val__31237_32600 \x3d cljs.pprint._STAR_current_level_STAR_;\nvar _STAR_current_length_STAR__orig_val__31238_32601 \x3d cljs.pprint._STAR_current_length_STAR_;\nvar _STAR_current_level_STAR__temp_val__31239_32602 \x3d (cljs.pprint._STAR_current_level_STAR_ + (1));\nvar _STAR_current_length_STAR__temp_val__31240_32603 \x3d (0);\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__temp_val__31239_32602);\n\n(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__temp_val__31240_32603);\n\ntry{cljs.pprint.start_block(cljs.core._STAR_out_STAR_,\x22(\x22,null,\x22)\x22);\n\ncljs.pprint.pprint_indent(new cljs.core.Keyword(null,\x22block\x22,\x22block\x22,664686210),(1));\n\nvar length_count31241_32607 \x3d (0);\nvar alis_32608__$1 \x3d cljs.core.seq(alis);\nwhile(true){\nif(((cljs.core.not(cljs.core._STAR_print_length_STAR_)) || ((length_count31241_32607 \x3c cljs.core._STAR_print_length_STAR_)))){\nif(alis_32608__$1){\ncljs.pprint.write_out(cljs.core.first(alis_32608__$1));\n\nif(cljs.core.next(alis_32608__$1)){\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22 \x22);\n\ncljs.pprint.pprint_newline(new cljs.core.Keyword(null,\x22linear\x22,\x22linear\x22,872268697));\n\nvar G__32609 \x3d (length_count31241_32607 + (1));\nvar G__32610 \x3d cljs.core.next(alis_32608__$1);\nlength_count31241_32607 \x3d G__32609;\nalis_32608__$1 \x3d G__32610;\ncontinue;\n} else {\n}\n} else {\n}\n} else {\ncljs.core._write(cljs.core._STAR_out_STAR_,\x22...\x22);\n}\nbreak;\n}\n\ncljs.pprint.end_block(cljs.core._STAR_out_STAR_);\n}finally {(cljs.pprint._STAR_current_length_STAR_ \x3d _STAR_current_length_STAR__orig_val__31238_32601);\n\n(cljs.pprint._STAR_current_level_STAR_ \x3d _STAR_current_level_STAR__orig_val__31237_32600);\n}}\n\nreturn null;\n});\ncljs.pprint.two_forms \x3d (function cljs$pprint$two_forms(amap){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var iter__5503__auto__ \x3d (function cljs$pprint$two_forms_$_iter__31242(s__31243){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31243__$1 \x3d s__31243;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__31243__$1);\nif(temp__5823__auto__){\nvar s__31243__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31243__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31243__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31245 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31244 \x3d (0);\nwhile(true){\nif((i__31244 \x3c size__5502__auto__)){\nvar x \x3d cljs.core._nth(c__5501__auto__,i__31244);\ncljs.core.chunk_append(b__31245,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null));\n\nvar G__32629 \x3d (i__31244 + (1));\ni__31244 \x3d G__32629;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31245),cljs$pprint$two_forms_$_iter__31242(cljs.core.chunk_rest(s__31243__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31245),null);\n}\n} else {\nvar x \x3d cljs.core.first(s__31243__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [x,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(cljs.core.first(x))),cljs.core.second(x)], null)], null),cljs$pprint$two_forms_$_iter__31242(cljs.core.rest(s__31243__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(amap);\n})()], 0)));\n});\ncljs.pprint.add_core_ns \x3d (function cljs$pprint$add_core_ns(amap){\nvar core \x3d \x22clojure.core\x22;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31247_SHARP_){\nvar vec__31249 \x3d p1__31247_SHARP_;\nvar s \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31249,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31249,(1),null);\nif(cljs.core.not((function (){var or__5025__auto__ \x3d cljs.core.namespace(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.special_symbol_QMARK_(s);\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(core,cljs.core.name(s)),f], null);\n} else {\nreturn p1__31247_SHARP_;\n}\n}),amap));\n});\ncljs.pprint._STAR_code_table_STAR_ \x3d cljs.pprint.two_forms(cljs.pprint.add_core_ns(cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22struct\x22,\x22struct\x22,325972931,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22struct-map\x22,\x22struct-map\x22,-1387540878,null)],[cljs.pprint.pprint_hold_first,cljs.pprint.pprint_anon_func,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_condp,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_if,cljs.pprint.pprint_if,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_if,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_ns,cljs.pprint.pprint_let,cljs.pprint.pprint_cond,cljs.pprint.pprint_let,cljs.pprint.pprint_defn,cljs.pprint.pprint_defn,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_hold_first,cljs.pprint.pprint_let,cljs.pprint.pprint_let,cljs.pprint.pprint_hold_first])));\ncljs.pprint.pprint_code_list \x3d (function cljs$pprint$pprint_code_list(alis){\nif(cljs.core.not(cljs.pprint.pprint_reader_macro(alis))){\nvar temp__5821__auto__ \x3d cljs.pprint._STAR_code_table_STAR_.call(null,cljs.core.first(alis));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar special_form \x3d temp__5821__auto__;\nreturn (special_form.cljs$core$IFn$_invoke$arity$1 ? special_form.cljs$core$IFn$_invoke$arity$1(alis) : special_form.call(null,alis));\n} else {\nreturn cljs.pprint.pprint_simple_code_list(alis);\n}\n} else {\nreturn null;\n}\n});\ncljs.pprint.pprint_code_symbol \x3d (function cljs$pprint$pprint_code_symbol(sym){\nvar temp__5821__auto__ \x3d (sym.cljs$core$IFn$_invoke$arity$1 ? sym.cljs$core$IFn$_invoke$arity$1(cljs.pprint._STAR_symbol_map_STAR_) : sym.call(null,cljs.pprint._STAR_symbol_map_STAR_));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar arg_num \x3d temp__5821__auto__;\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arg_num], 0));\n} else {\nif(cljs.core.truth_(cljs.pprint._STAR_print_suppress_namespaces_STAR_)){\nreturn cljs.pprint.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.name(sym)], 0));\n} else {\nreturn cljs.pprint.pr.call(null,sym);\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.pprint.code_dispatch !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * The pretty print dispatch function for pretty printing Clojure code.\n */\ncljs.pprint.code_dispatch \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__31254 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__31254.cljs$core$IFn$_invoke$arity$0 ? fexpr__31254.cljs$core$IFn$_invoke$arity$0() : fexpr__31254.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.pprint\x22,\x22code-dispatch\x22),cljs.pprint.type_dispatcher,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.pprint.pprint_code_list);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),cljs.pprint.pprint_code_symbol);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),cljs.pprint.pprint_vector);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.pprint.pprint_map);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.pprint.pprint_set);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.pprint.pprint_pqueue);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),cljs.pprint.pprint_ideref);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,null,cljs.pprint.pr);\ncljs.pprint.use_method(cljs.pprint.code_dispatch,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.pprint.pprint_simple_default);\ncljs.pprint.set_pprint_dispatch(cljs.pprint.simple_dispatch);\ncljs.pprint.add_padding \x3d (function cljs$pprint$add_padding(width,s){\nvar padding \x3d (function (){var x__5110__auto__ \x3d (0);\nvar y__5111__auto__ \x3d (width - cljs.core.count(s));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(padding,\x22 \x22)),s);\n});\n/**\n * Prints a collection of maps in a textual table. Prints table headings\n * ks, and then a line of output for each row, corresponding to the keys\n * in ks. If ks are not specified, use the keys of the first item in rows.\n */\ncljs.pprint.print_table \x3d (function cljs$pprint$print_table(var_args){\nvar G__31263 \x3d arguments.length;\nswitch (G__31263) {\ncase 2:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2 \x3d (function (ks,rows){\nif(cljs.core.seq(rows)){\nvar widths \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.max,((cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)).length),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31259_SHARP_){\nreturn ((cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(p1__31259_SHARP_,k))).length);\n}),rows));\n}),ks);\nvar spacers \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31260_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(p1__31260_SHARP_,\x22-\x22));\n}),widths);\nvar fmt_row \x3d (function (leader,divider,trailer,row){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(leader),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(divider,(function (){var iter__5503__auto__ \x3d (function cljs$pprint$iter__31289(s__31290){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31290__$1 \x3d s__31290;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__31290__$1);\nif(temp__5823__auto__){\nvar s__31290__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31290__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31290__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31292 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31291 \x3d (0);\nwhile(true){\nif((i__31291 \x3c size__5502__auto__)){\nvar vec__31293 \x3d cljs.core._nth(c__5501__auto__,i__31291);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31293,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31293,(1),null);\ncljs.core.chunk_append(b__31292,cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)));\n\nvar G__32644 \x3d (i__31291 + (1));\ni__31291 \x3d G__32644;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31292),cljs$pprint$iter__31289(cljs.core.chunk_rest(s__31290__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31292),null);\n}\n} else {\nvar vec__31296 \x3d cljs.core.first(s__31290__$2);\nvar col \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31296,(0),null);\nvar width \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31296,(1),null);\nreturn cljs.core.cons(cljs.pprint.add_padding(width,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)),cljs$pprint$iter__31289(cljs.core.rest(s__31290__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.map.cljs$core$IFn$_invoke$arity$3(cljs.core.vector,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31261_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(row,p1__31261_SHARP_);\n}),ks),widths));\n})()))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(trailer)].join(\x27\x27);\n});\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,cljs.core.zipmap(ks,ks))], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22|-\x22,\x22-+-\x22,\x22-|\x22,cljs.core.zipmap(ks,spacers))], 0));\n\nvar seq__31299 \x3d cljs.core.seq(rows);\nvar chunk__31300 \x3d null;\nvar count__31301 \x3d (0);\nvar i__31302 \x3d (0);\nwhile(true){\nif((i__31302 \x3c count__31301)){\nvar row \x3d chunk__31300.cljs$core$IIndexed$_nth$arity$2(null,i__31302);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__32650 \x3d seq__31299;\nvar G__32651 \x3d chunk__31300;\nvar G__32652 \x3d count__31301;\nvar G__32653 \x3d (i__31302 + (1));\nseq__31299 \x3d G__32650;\nchunk__31300 \x3d G__32651;\ncount__31301 \x3d G__32652;\ni__31302 \x3d G__32653;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__31299);\nif(temp__5823__auto__){\nvar seq__31299__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31299__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31299__$1);\nvar G__32654 \x3d cljs.core.chunk_rest(seq__31299__$1);\nvar G__32655 \x3d c__5548__auto__;\nvar G__32656 \x3d cljs.core.count(c__5548__auto__);\nvar G__32657 \x3d (0);\nseq__31299 \x3d G__32654;\nchunk__31300 \x3d G__32655;\ncount__31301 \x3d G__32656;\ni__31302 \x3d G__32657;\ncontinue;\n} else {\nvar row \x3d cljs.core.first(seq__31299__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_row(\x22| \x22,\x22 | \x22,\x22 |\x22,row)], 0));\n\n\nvar G__32659 \x3d cljs.core.next(seq__31299__$1);\nvar G__32660 \x3d null;\nvar G__32661 \x3d (0);\nvar G__32662 \x3d (0);\nseq__31299 \x3d G__32659;\nchunk__31300 \x3d G__32660;\ncount__31301 \x3d G__32661;\ni__31302 \x3d G__32662;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$1 \x3d (function (rows){\nreturn cljs.pprint.print_table.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(cljs.core.first(rows)),rows);\n}));\n\n(cljs.pprint.print_table.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("devtools.util.js", true, "goog.provide(\x27devtools.util\x27);\ndevtools.util.lib_info_style \x3d \x22color:black;font-weight:bold;\x22;\ndevtools.util.reset_style \x3d \x22color:black\x22;\ndevtools.util.advanced_build_explanation_url \x3d \x22https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-custom-formatters-do-not-work-for-advanced-builds\x22;\ndevtools.util._STAR_custom_formatters_active_STAR_ \x3d false;\ndevtools.util._STAR_console_open_STAR_ \x3d false;\ndevtools.util._STAR_custom_formatters_warning_reported_STAR_ \x3d false;\ndevtools.util.pprint_str \x3d (function devtools$util$pprint_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31462 \x3d arguments.length;\nvar i__5750__auto___31463 \x3d (0);\nwhile(true){\nif((i__5750__auto___31463 \x3c len__5749__auto___31462)){\nargs__5755__auto__.push((arguments[i__5750__auto___31463]));\n\nvar G__31464 \x3d (i__5750__auto___31463 + (1));\ni__5750__auto___31463 \x3d G__31464;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nvar sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__31329_31465 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__31330_31466 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__31331_31467 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__31332_31468 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__31331_31467);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__31332_31468);\n\ntry{var _STAR_print_level_STAR__orig_val__31333_31472 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__31334_31473 \x3d (300);\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__31334_31473);\n\ntry{cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.pprint.pprint,args);\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__31333_31472);\n}}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__31330_31466);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__31329_31465);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n}));\n\n(devtools.util.pprint_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.util.pprint_str.cljs$lang$applyTo \x3d (function (seq31322){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31322));\n}));\n\ndevtools.util.make_version_info \x3d (function devtools$util$make_version_info(){\nreturn \x221.0.7\x22;\n});\ndevtools.util.make_lib_info \x3d (function devtools$util$make_lib_info(){\nreturn [\x22CLJS DevTools \x22,devtools.util.make_version_info.call(null)].join(\x27\x27);\n});\ndevtools.util.get_lib_info \x3d (function devtools$util$get_lib_info(){\nreturn devtools.util.make_lib_info.call(null);\n});\ndevtools.util.get_node_info \x3d (function devtools$util$get_node_info(root){\ntry{var temp__5827__auto__ \x3d (root[\x22process\x22]);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar process__$1 \x3d temp__5827__auto__;\nvar version \x3d (process__$1[\x22version\x22]);\nvar platform \x3d (process__$1[\x22platform\x22]);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d version;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn platform;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),version,new cljs.core.Keyword(null,\x22platform\x22,\x22platform\x22,-1086422114),platform], null);\n} else {\nreturn null;\n}\n}\n}catch (e31348){var _ \x3d e31348;\nreturn null;\n}});\ndevtools.util.get_node_description \x3d (function devtools$util$get_node_description(node_info){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22platform\x22,\x22platform\x22,-1086422114).cljs$core$IFn$_invoke$arity$1(node_info);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22?\x22;\n}\n})()),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698).cljs$core$IFn$_invoke$arity$1(node_info);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22?\x22;\n}\n})())].join(\x27\x27);\n});\ndevtools.util.in_node_context_QMARK_ \x3d (function devtools$util$in_node_context_QMARK_(){\nreturn (!((devtools.util.get_node_info.call(null,devtools.context.get_root.call(null)) \x3d\x3d null)));\n});\ndevtools.util.get_js_context_description \x3d (function devtools$util$get_js_context_description(){\nvar temp__5821__auto__ \x3d devtools.util.get_node_info.call(null,devtools.context.get_root.call(null));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar node_info \x3d temp__5821__auto__;\nreturn [\x22node/\x22,devtools.util.get_node_description.call(null,node_info)].join(\x27\x27);\n} else {\nvar user_agent \x3d goog.userAgent.getUserAgentString();\nif(cljs.core.empty_QMARK_(user_agent)){\nreturn \x22\x3cunknown context\x3e\x22;\n} else {\nreturn user_agent;\n}\n}\n});\ndevtools.util.unknown_feature_msg \x3d (function devtools$util$unknown_feature_msg(feature,known_features,lib_info){\nreturn [\x22No such feature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature),\x22 is currently available in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib_info),\x22. \x22,\x22The list of supported features is \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([known_features], 0)),\x22.\x22].join(\x27\x27);\n});\ndevtools.util.feature_not_available_msg \x3d (function devtools$util$feature_not_available_msg(feature){\nreturn [\x22Feature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature),\x22 cannot be installed. \x22,\x22Unsupported Javascript context: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.util.get_js_context_description.call(null)),\x22.\x22].join(\x27\x27);\n});\ndevtools.util.custom_formatters_not_active_msg \x3d (function devtools$util$custom_formatters_not_active_msg(){\nreturn [\x22CLJS DevTools: some custom formatters were not rendered.\\n\x22,\x22https://github.com/binaryage/cljs-devtools/blob/master/docs/faq.md#why-some-custom-formatters-were-not-rendered\x22].join(\x27\x27);\n});\ndevtools.util.formatter_key \x3d \x22devtoolsFormatters\x22;\ndevtools.util.get_formatters_safe \x3d (function devtools$util$get_formatters_safe(){\nvar formatters \x3d (devtools.context.get_root.call(null)[devtools.util.formatter_key]);\nif(cljs.core.array_QMARK_(formatters)){\nreturn formatters;\n} else {\nreturn [];\n}\n});\ndevtools.util.set_formatters_safe_BANG_ \x3d (function devtools$util$set_formatters_safe_BANG_(new_formatters){\nif((((new_formatters \x3d\x3d null)) || (cljs.core.array_QMARK_(new_formatters)))){\n} else {\nthrow (new Error(\x22Assert failed: (or (nil? new-formatters) (array? new-formatters))\x22));\n}\n\nreturn (devtools.context.get_root.call(null)[devtools.util.formatter_key] \x3d ((cljs.core.empty_QMARK_(new_formatters))?null:new_formatters));\n});\ndevtools.util.print_config_overrides_if_requested_BANG_ \x3d (function devtools$util$print_config_overrides_if_requested_BANG_(msg){\nif(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22print-config-overrides\x22,\x22print-config-overrides\x22,-274716965)))){\nvar diff \x3d cljs.core.second(clojure.data.diff(cljs.core.deref(devtools.prefs.default_config),devtools.prefs.get_prefs()));\nif((!(cljs.core.empty_QMARK_(diff)))){\nreturn devtools.context.get_console.call(null).info(msg,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([diff], 0)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n*/\ndevtools.util.CustomFormattersDetector \x3d (function (){\n});\n\n(devtools.util.CustomFormattersDetector.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(devtools.util.CustomFormattersDetector.cljs$lang$type \x3d true);\n\n(devtools.util.CustomFormattersDetector.cljs$lang$ctorStr \x3d \x22devtools.util/CustomFormattersDetector\x22);\n\n(devtools.util.CustomFormattersDetector.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.util/CustomFormattersDetector\x22);\n}));\n\n/**\n * Positional factory function for devtools.util/CustomFormattersDetector.\n */\ndevtools.util.__GT_CustomFormattersDetector \x3d (function devtools$util$__GT_CustomFormattersDetector(){\nreturn (new devtools.util.CustomFormattersDetector());\n});\n\ndevtools.util.make_detector \x3d (function devtools$util$make_detector(){\nvar detector \x3d (new devtools.util.CustomFormattersDetector());\n(detector[\x22header\x22] \x3d (function (_object,_config){\n(devtools.util._STAR_custom_formatters_active_STAR_ \x3d true);\n\nreturn null;\n}));\n\n(detector[\x22hasBody\x22] \x3d cljs.core.constantly(false));\n\n(detector[\x22body\x22] \x3d cljs.core.constantly(null));\n\nreturn detector;\n});\ndevtools.util.install_detector_BANG_ \x3d (function devtools$util$install_detector_BANG_(detector){\nvar formatters \x3d devtools.util.get_formatters_safe();\nformatters.push(detector);\n\nreturn devtools.util.set_formatters_safe_BANG_(formatters);\n});\ndevtools.util.uninstall_detector_BANG_ \x3d (function devtools$util$uninstall_detector_BANG_(detector){\nvar current_formatters \x3d (devtools.context.get_root.call(null)[devtools.util.formatter_key]);\nif(cljs.core.array_QMARK_(current_formatters)){\nvar new_formatters \x3d current_formatters.filter((function (p1__31377_SHARP_){\nreturn (!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(detector,p1__31377_SHARP_)));\n}));\nreturn devtools.util.set_formatters_safe_BANG_(new_formatters);\n} else {\nreturn null;\n}\n});\ndevtools.util.check_custom_formatters_active_BANG_ \x3d (function devtools$util$check_custom_formatters_active_BANG_(){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d devtools.util._STAR_console_open_STAR_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(devtools.util._STAR_custom_formatters_active_STAR_);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nif(cljs.core.truth_(devtools.util._STAR_custom_formatters_warning_reported_STAR_)){\nreturn null;\n} else {\n(devtools.util._STAR_custom_formatters_warning_reported_STAR_ \x3d true);\n\nreturn devtools.context.get_console.call(null).warn(devtools.util.custom_formatters_not_active_msg.call(null));\n}\n} else {\nreturn null;\n}\n});\ndevtools.util.uninstall_detector_and_check_custom_formatters_active_BANG_ \x3d (function devtools$util$uninstall_detector_and_check_custom_formatters_active_BANG_(detector){\ndevtools.util.uninstall_detector_BANG_(detector);\n\nreturn devtools.util.check_custom_formatters_active_BANG_();\n});\ndevtools.util.make_detection_printer \x3d (function devtools$util$make_detection_printer(){\nvar f \x3d (function (){\nreturn null;\n});\nvar G__31394_31484 \x3d f;\nvar target__29077__auto___31485 \x3d G__31394_31484;\nif(cljs.core.truth_(target__29077__auto___31485)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__31394_31484)].join(\x27\x27),\x22\\n\x22,\x22target__29077__auto__\x22].join(\x27\x27)));\n}\n\n(target__29077__auto___31485[\x22toString\x22] \x3d (function (){\n(devtools.util._STAR_console_open_STAR_ \x3d true);\n\nsetTimeout(devtools.util.check_custom_formatters_active_BANG_,(0));\n\nreturn \x22\x22;\n}));\n\n\nreturn f;\n});\ndevtools.util.wrap_with_custom_formatter_detection_BANG_ \x3d (function devtools$util$wrap_with_custom_formatter_detection_BANG_(f){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-detect-custom-formatters\x22,\x22dont-detect-custom-formatters\x22,-29005804)))){\nvar detector \x3d devtools.util.make_detector();\ndevtools.util.install_detector_BANG_(detector);\n\nvar G__31402_31495 \x3d \x22%c%s\x22;\nvar G__31403_31496 \x3d \x22color:transparent\x22;\nvar G__31404_31497 \x3d devtools.util.make_detection_printer();\n(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__31402_31495,G__31403_31496,G__31404_31497) : f.call(null,G__31402_31495,G__31403_31496,G__31404_31497));\n\nreturn setTimeout(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.uninstall_detector_and_check_custom_formatters_active_BANG_,detector),(0));\n} else {\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n});\ndevtools.util.feature_for_display \x3d (function devtools$util$feature_for_display(installed_features,feature){\nvar color \x3d (cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),installed_features))?\x22color:#0000ff\x22:\x22color:#ccc\x22);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22%c%s\x22,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [color,cljs.core.str.cljs$core$IFn$_invoke$arity$1(feature)], null)], null);\n});\ndevtools.util.feature_list_display \x3d (function devtools$util$feature_list_display(installed_features,feature_groups){\nvar labels \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.feature_for_display,installed_features),new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(feature_groups));\nvar _STAR_ \x3d (function (accum,val){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(accum)),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(val))].join(\x27\x27),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.second(accum),cljs.core.second(val))], null);\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(_STAR_,cljs.core.first(labels),cljs.core.rest(labels));\n});\ndevtools.util.display_banner_BANG_ \x3d (function devtools$util$display_banner_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31505 \x3d arguments.length;\nvar i__5750__auto___31506 \x3d (0);\nwhile(true){\nif((i__5750__auto___31506 \x3c len__5749__auto___31505)){\nargs__5755__auto__.push((arguments[i__5750__auto___31506]));\n\nvar G__31507 \x3d (i__5750__auto___31506 + (1));\ni__5750__auto___31506 \x3d G__31507;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (installed_features,feature_groups,fmt,params){\nvar vec__31424 \x3d devtools.util.feature_list_display(installed_features,feature_groups);\nvar fmt_str \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31424,(0),null);\nvar fmt_params \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31424,(1),null);\nreturn devtools.util.wrap_with_custom_formatter_detection_BANG_((function() { \nvar G__31509__delegate \x3d function (add_fmt,add_args){\nvar items \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fmt_str),cljs.core.str.cljs$core$IFn$_invoke$arity$1(add_fmt)].join(\x27\x27)], null),params,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fmt_params,add_args], 0));\nvar console__$1 \x3d devtools.context.get_console.call(null);\nreturn console__$1.info.apply(console__$1,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(items));\n};\nvar G__31509 \x3d function (add_fmt,var_args){\nvar add_args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__31511__i \x3d 0, G__31511__a \x3d new Array(arguments.length - 1);\nwhile (G__31511__i \x3c G__31511__a.length) {G__31511__a[G__31511__i] \x3d arguments[G__31511__i + 1]; ++G__31511__i;}\n add_args \x3d new cljs.core.IndexedSeq(G__31511__a,0,null);\n} \nreturn G__31509__delegate.call(this,add_fmt,add_args);};\nG__31509.cljs$lang$maxFixedArity \x3d 1;\nG__31509.cljs$lang$applyTo \x3d (function (arglist__31512){\nvar add_fmt \x3d cljs.core.first(arglist__31512);\nvar add_args \x3d cljs.core.rest(arglist__31512);\nreturn G__31509__delegate(add_fmt,add_args);\n});\nG__31509.cljs$core$IFn$_invoke$arity$variadic \x3d G__31509__delegate;\nreturn G__31509;\n})()\n);\n}));\n\n(devtools.util.display_banner_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(devtools.util.display_banner_BANG_.cljs$lang$applyTo \x3d (function (seq31418){\nvar G__31419 \x3d cljs.core.first(seq31418);\nvar seq31418__$1 \x3d cljs.core.next(seq31418);\nvar G__31420 \x3d cljs.core.first(seq31418__$1);\nvar seq31418__$2 \x3d cljs.core.next(seq31418__$1);\nvar G__31421 \x3d cljs.core.first(seq31418__$2);\nvar seq31418__$3 \x3d cljs.core.next(seq31418__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31419,G__31420,G__31421,seq31418__$3);\n}));\n\ndevtools.util.display_banner_if_needed_BANG_ \x3d (function devtools$util$display_banner_if_needed_BANG_(features_to_install,feature_groups){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-display-banner\x22,\x22dont-display-banner\x22,-1175550370)))){\nvar banner \x3d \x22Installing %c%s%c and enabling features\x22;\nreturn devtools.util.display_banner_BANG_.cljs$core$IFn$_invoke$arity$variadic(features_to_install,feature_groups,banner,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.util.lib_info_style,devtools.util.get_lib_info(),devtools.util.reset_style], 0));\n} else {\nreturn (devtools.util._STAR_custom_formatters_active_STAR_ \x3d true);\n}\n});\ndevtools.util.report_unknown_features_BANG_ \x3d (function devtools$util$report_unknown_features_BANG_(features,known_features){\nvar lib_info \x3d devtools.util.get_lib_info();\nvar seq__31430 \x3d cljs.core.seq(features);\nvar chunk__31431 \x3d null;\nvar count__31432 \x3d (0);\nvar i__31433 \x3d (0);\nwhile(true){\nif((i__31433 \x3c count__31432)){\nvar feature \x3d chunk__31431.cljs$core$IIndexed$_nth$arity$2(null,i__31433);\nif(cljs.core.not(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features))){\ndevtools.context.get_console.call(null).warn(devtools.util.unknown_feature_msg.call(null,feature,known_features,lib_info));\n} else {\n}\n\n\nvar G__31528 \x3d seq__31430;\nvar G__31529 \x3d chunk__31431;\nvar G__31530 \x3d count__31432;\nvar G__31531 \x3d (i__31433 + (1));\nseq__31430 \x3d G__31528;\nchunk__31431 \x3d G__31529;\ncount__31432 \x3d G__31530;\ni__31433 \x3d G__31531;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__31430);\nif(temp__5823__auto__){\nvar seq__31430__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31430__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31430__$1);\nvar G__31532 \x3d cljs.core.chunk_rest(seq__31430__$1);\nvar G__31533 \x3d c__5548__auto__;\nvar G__31534 \x3d cljs.core.count(c__5548__auto__);\nvar G__31535 \x3d (0);\nseq__31430 \x3d G__31532;\nchunk__31431 \x3d G__31533;\ncount__31432 \x3d G__31534;\ni__31433 \x3d G__31535;\ncontinue;\n} else {\nvar feature \x3d cljs.core.first(seq__31430__$1);\nif(cljs.core.not(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features))){\ndevtools.context.get_console.call(null).warn(devtools.util.unknown_feature_msg.call(null,feature,known_features,lib_info));\n} else {\n}\n\n\nvar G__31540 \x3d cljs.core.next(seq__31430__$1);\nvar G__31541 \x3d null;\nvar G__31542 \x3d (0);\nvar G__31543 \x3d (0);\nseq__31430 \x3d G__31540;\nchunk__31431 \x3d G__31541;\ncount__31432 \x3d G__31542;\ni__31433 \x3d G__31543;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ndevtools.util.is_known_feature_QMARK_ \x3d (function devtools$util$is_known_feature_QMARK_(known_features,feature){\nreturn cljs.core.boolean$(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),known_features));\n});\ndevtools.util.convert_legacy_feature \x3d (function devtools$util$convert_legacy_feature(feature){\nvar G__31439 \x3d feature;\nvar G__31439__$1 \x3d (((G__31439 instanceof cljs.core.Keyword))?G__31439.fqn:null);\nswitch (G__31439__$1) {\ncase \x22custom-formatters\x22:\nreturn new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118);\n\nbreak;\ncase \x22sanity-hints\x22:\nreturn new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151);\n\nbreak;\ndefault:\nreturn feature;\n\n}\n});\ndevtools.util.convert_legacy_features \x3d (function devtools$util$convert_legacy_features(features){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.util.convert_legacy_feature,features);\n});\ndevtools.util.sanititze_features_BANG_ \x3d (function devtools$util$sanititze_features_BANG_(features,feature_groups){\nvar known_features \x3d new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(feature_groups);\nvar features__$1 \x3d devtools.util.convert_legacy_features(features);\ndevtools.util.report_unknown_features_BANG_(features__$1,known_features);\n\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.util.is_known_feature_QMARK_,known_features),features__$1);\n});\ndevtools.util.resolve_features_BANG_ \x3d (function devtools$util$resolve_features_BANG_(features_desc,feature_groups){\nvar features \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d (features_desc instanceof cljs.core.Keyword);\nif(and__5023__auto__){\nreturn (features_desc.cljs$core$IFn$_invoke$arity$1 ? features_desc.cljs$core$IFn$_invoke$arity$1(feature_groups) : features_desc.call(null,feature_groups));\n} else {\nreturn and__5023__auto__;\n}\n})())?(features_desc.cljs$core$IFn$_invoke$arity$1 ? features_desc.cljs$core$IFn$_invoke$arity$1(feature_groups) : features_desc.call(null,feature_groups)):(((features_desc \x3d\x3d null))?new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(feature_groups):((cljs.core.seqable_QMARK_(features_desc))?features_desc:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [features_desc], null)\n)));\nreturn devtools.util.sanititze_features_BANG_(features,feature_groups);\n});\ndevtools.util.under_advanced_build_QMARK_ \x3d (function devtools$util$under_advanced_build_QMARK_(){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22disable-advanced-mode-check\x22,\x22disable-advanced-mode-check\x22,-968346539)))){\nreturn ((function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o31446 \x3d temp__5821__auto__;\nreturn (o31446[\x22version\x22]);\n} else {\nreturn null;\n}\n})() \x3d\x3d null);\n} else {\nreturn null;\n}\n});\ndevtools.util.display_advanced_build_warning_if_needed_BANG_ \x3d (function devtools$util$display_advanced_build_warning_if_needed_BANG_(){\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22dont-display-advanced-build-warning\x22,\x22dont-display-advanced-build-warning\x22,-91321563)))){\nvar banner \x3d [\x22%cNOT%c installing %c%s%c under advanced build. See \x22,devtools.util.advanced_build_explanation_url,\x22.\x22].join(\x27\x27);\nreturn devtools.context.get_console.call(null).warn(banner,\x22font-weight:bold\x22,devtools.util.reset_style,devtools.util.lib_info_style,devtools.util.get_lib_info(),devtools.util.reset_style);\n} else {\nreturn null;\n}\n});\ndevtools.util.install_feature_BANG_ \x3d (function devtools$util$install_feature_BANG_(feature,features_to_install,available_fn,install_fn){\nif(cljs.core.truth_(cljs.core.some(cljs.core.PersistentHashSet.createAsIfByAssoc([feature]),features_to_install))){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22bypass-availability-checks\x22,\x22bypass-availability-checks\x22,1934691680));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (available_fn.cljs$core$IFn$_invoke$arity$1 ? available_fn.cljs$core$IFn$_invoke$arity$1(feature) : available_fn.call(null,feature));\n}\n})())){\nreturn (install_fn.cljs$core$IFn$_invoke$arity$0 ? install_fn.cljs$core$IFn$_invoke$arity$0() : install_fn.call(null));\n} else {\nreturn devtools.context.get_console.call(null).warn(devtools.util.feature_not_available_msg.call(null,feature));\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.format.js", true, "goog.provide(\x27devtools.format\x27);\n\n/**\n * @interface\n */\ndevtools.format.IDevtoolsFormat \x3d function(){};\n\nvar devtools$format$IDevtoolsFormat$_header$dyn_29546 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.format._header[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.format._header[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-header\x22,value);\n}\n}\n});\ndevtools.format._header \x3d (function devtools$format$_header(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_header$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_header$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_header$dyn_29546(value);\n}\n});\n\nvar devtools$format$IDevtoolsFormat$_has_body$dyn_29549 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.format._has_body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.format._has_body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-has-body\x22,value);\n}\n}\n});\ndevtools.format._has_body \x3d (function devtools$format$_has_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_has_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_has_body$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_has_body$dyn_29549(value);\n}\n});\n\nvar devtools$format$IDevtoolsFormat$_body$dyn_29555 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.format._body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.format._body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IDevtoolsFormat.-body\x22,value);\n}\n}\n});\ndevtools.format._body \x3d (function devtools$format$_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$format$IDevtoolsFormat$_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$format$IDevtoolsFormat$_body$arity$1(value);\n} else {\nreturn devtools$format$IDevtoolsFormat$_body$dyn_29555(value);\n}\n});\n\ndevtools.format.setup_BANG_ \x3d (function devtools$format$setup_BANG_(){\nif(cljs.core.truth_(devtools.format._STAR_setup_done_STAR_)){\nreturn null;\n} else {\n(devtools.format._STAR_setup_done_STAR_ \x3d true);\n\ndevtools.format.make_template_fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29254 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29254[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29255 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29255[\x22templating\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29256 \x3d temp__5821__auto____$2;\nreturn (o29256[\x22make_template\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_group_fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29263 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29263[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29264 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29264[\x22templating\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29265 \x3d temp__5821__auto____$2;\nreturn (o29265[\x22make_group\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_reference_fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29270 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29270[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29271 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29271[\x22templating\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29272 \x3d temp__5821__auto____$2;\nreturn (o29272[\x22make_reference\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.make_surrogate_fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29281 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29281[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29282 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29282[\x22templating\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29283 \x3d temp__5821__auto____$2;\nreturn (o29283[\x22make_surrogate\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format.render_markup_fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29292 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29292[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29293 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29293[\x22templating\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29294 \x3d temp__5821__auto____$2;\nreturn (o29294[\x22render_markup\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format._LT_header_GT__fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29299 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29299[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29300 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29300[\x22markup\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29301 \x3d temp__5821__auto____$2;\nreturn (o29301[\x22_LT_header_GT_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\ndevtools.format._LT_standard_body_GT__fn \x3d (function (){var temp__5821__auto__ \x3d (devtools.context.get_root.call(null)[\x22devtools\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29315 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29315[\x22formatters\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29316 \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (o29316[\x22markup\x22]);\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar o29317 \x3d temp__5821__auto____$2;\nreturn (o29317[\x22_LT_standard_body_GT_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\n\nif(cljs.core.truth_(devtools.format.make_template_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-template-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_group_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-group-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_reference_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-reference-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.make_surrogate_fn)){\n} else {\nthrow (new Error(\x22Assert failed: make-surrogate-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format.render_markup_fn)){\n} else {\nthrow (new Error(\x22Assert failed: render-markup-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format._LT_header_GT__fn)){\n} else {\nthrow (new Error(\x22Assert failed: \x3cheader\x3e-fn\x22));\n}\n\nif(cljs.core.truth_(devtools.format._LT_standard_body_GT__fn)){\nreturn null;\n} else {\nthrow (new Error(\x22Assert failed: \x3cstandard-body\x3e-fn\x22));\n}\n}\n});\ndevtools.format.render_markup \x3d (function devtools$format$render_markup(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29573 \x3d arguments.length;\nvar i__5750__auto___29574 \x3d (0);\nwhile(true){\nif((i__5750__auto___29574 \x3c len__5749__auto___29573)){\nargs__5755__auto__.push((arguments[i__5750__auto___29574]));\n\nvar G__29575 \x3d (i__5750__auto___29574 + (1));\ni__5750__auto___29574 \x3d G__29575;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.render_markup_fn,args);\n}));\n\n(devtools.format.render_markup.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.render_markup.cljs$lang$applyTo \x3d (function (seq29333){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29333));\n}));\n\ndevtools.format.make_template \x3d (function devtools$format$make_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29582 \x3d arguments.length;\nvar i__5750__auto___29583 \x3d (0);\nwhile(true){\nif((i__5750__auto___29583 \x3c len__5749__auto___29582)){\nargs__5755__auto__.push((arguments[i__5750__auto___29583]));\n\nvar G__29585 \x3d (i__5750__auto___29583 + (1));\ni__5750__auto___29583 \x3d G__29585;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.make_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_template_fn,args);\n}));\n\n(devtools.format.make_template.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_template.cljs$lang$applyTo \x3d (function (seq29352){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29352));\n}));\n\ndevtools.format.make_group \x3d (function devtools$format$make_group(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29589 \x3d arguments.length;\nvar i__5750__auto___29590 \x3d (0);\nwhile(true){\nif((i__5750__auto___29590 \x3c len__5749__auto___29589)){\nargs__5755__auto__.push((arguments[i__5750__auto___29590]));\n\nvar G__29595 \x3d (i__5750__auto___29590 + (1));\ni__5750__auto___29590 \x3d G__29595;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.make_group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_group_fn,args);\n}));\n\n(devtools.format.make_group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_group.cljs$lang$applyTo \x3d (function (seq29371){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29371));\n}));\n\ndevtools.format.make_surrogate \x3d (function devtools$format$make_surrogate(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29602 \x3d arguments.length;\nvar i__5750__auto___29603 \x3d (0);\nwhile(true){\nif((i__5750__auto___29603 \x3c len__5749__auto___29602)){\nargs__5755__auto__.push((arguments[i__5750__auto___29603]));\n\nvar G__29604 \x3d (i__5750__auto___29603 + (1));\ni__5750__auto___29603 \x3d G__29604;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.make_surrogate.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_surrogate_fn,args);\n}));\n\n(devtools.format.make_surrogate.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.make_surrogate.cljs$lang$applyTo \x3d (function (seq29392){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29392));\n}));\n\ndevtools.format.template \x3d (function devtools$format$template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29607 \x3d arguments.length;\nvar i__5750__auto___29608 \x3d (0);\nwhile(true){\nif((i__5750__auto___29608 \x3c len__5749__auto___29607)){\nargs__5755__auto__.push((arguments[i__5750__auto___29608]));\n\nvar G__29610 \x3d (i__5750__auto___29608 + (1));\ni__5750__auto___29608 \x3d G__29610;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.template.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_template_fn,args);\n}));\n\n(devtools.format.template.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.template.cljs$lang$applyTo \x3d (function (seq29433){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29433));\n}));\n\ndevtools.format.group \x3d (function devtools$format$group(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29617 \x3d arguments.length;\nvar i__5750__auto___29618 \x3d (0);\nwhile(true){\nif((i__5750__auto___29618 \x3c len__5749__auto___29617)){\nargs__5755__auto__.push((arguments[i__5750__auto___29618]));\n\nvar G__29619 \x3d (i__5750__auto___29618 + (1));\ni__5750__auto___29618 \x3d G__29619;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.group.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_group_fn,args);\n}));\n\n(devtools.format.group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.group.cljs$lang$applyTo \x3d (function (seq29452){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29452));\n}));\n\ndevtools.format.surrogate \x3d (function devtools$format$surrogate(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29634 \x3d arguments.length;\nvar i__5750__auto___29635 \x3d (0);\nwhile(true){\nif((i__5750__auto___29635 \x3c len__5749__auto___29634)){\nargs__5755__auto__.push((arguments[i__5750__auto___29635]));\n\nvar G__29641 \x3d (i__5750__auto___29635 + (1));\ni__5750__auto___29635 \x3d G__29641;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.surrogate.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_surrogate_fn,args);\n}));\n\n(devtools.format.surrogate.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.surrogate.cljs$lang$applyTo \x3d (function (seq29466){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29466));\n}));\n\ndevtools.format.reference \x3d (function devtools$format$reference(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29644 \x3d arguments.length;\nvar i__5750__auto___29645 \x3d (0);\nwhile(true){\nif((i__5750__auto___29645 \x3c len__5749__auto___29644)){\nargs__5755__auto__.push((arguments[i__5750__auto___29645]));\n\nvar G__29646 \x3d (i__5750__auto___29645 + (1));\ni__5750__auto___29645 \x3d G__29646;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.format.reference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,p__29491){\nvar vec__29492 \x3d p__29491;\nvar state_override \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29492,(0),null);\ndevtools.format.setup_BANG_();\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format.make_reference_fn,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [object,(function (p1__29477_SHARP_){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__29477_SHARP_,state_override], 0));\n})], null));\n}));\n\n(devtools.format.reference.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.format.reference.cljs$lang$applyTo \x3d (function (seq29480){\nvar G__29481 \x3d cljs.core.first(seq29480);\nvar seq29480__$1 \x3d cljs.core.next(seq29480);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29481,seq29480__$1);\n}));\n\ndevtools.format.standard_reference \x3d (function devtools$format$standard_reference(target){\ndevtools.format.setup_BANG_();\n\nvar G__29502 \x3d new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051);\nvar G__29503 \x3d new cljs.core.Keyword(null,\x22standard-ol-style\x22,\x22standard-ol-style\x22,2143825615);\nvar G__29504 \x3d (function (){var G__29506 \x3d new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921);\nvar G__29507 \x3d new cljs.core.Keyword(null,\x22standard-li-style\x22,\x22standard-li-style\x22,413442955);\nvar G__29508 \x3d (devtools.format.make_reference_fn.cljs$core$IFn$_invoke$arity$1 ? devtools.format.make_reference_fn.cljs$core$IFn$_invoke$arity$1(target) : devtools.format.make_reference_fn.call(null,target));\nreturn (devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3 ? devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3(G__29506,G__29507,G__29508) : devtools.format.make_template_fn.call(null,G__29506,G__29507,G__29508));\n})();\nreturn (devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3 ? devtools.format.make_template_fn.cljs$core$IFn$_invoke$arity$3(G__29502,G__29503,G__29504) : devtools.format.make_template_fn.call(null,G__29502,G__29503,G__29504));\n});\ndevtools.format.build_header \x3d (function devtools$format$build_header(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29658 \x3d arguments.length;\nvar i__5750__auto___29659 \x3d (0);\nwhile(true){\nif((i__5750__auto___29659 \x3c len__5749__auto___29658)){\nargs__5755__auto__.push((arguments[i__5750__auto___29659]));\n\nvar G__29663 \x3d (i__5750__auto___29659 + (1));\ni__5750__auto___29659 \x3d G__29663;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.format.build_header.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\ndevtools.format.setup_BANG_();\n\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format._LT_header_GT__fn,args)], 0));\n}));\n\n(devtools.format.build_header.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.format.build_header.cljs$lang$applyTo \x3d (function (seq29512){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq29512));\n}));\n\ndevtools.format.standard_body_template \x3d (function devtools$format$standard_body_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29671 \x3d arguments.length;\nvar i__5750__auto___29676 \x3d (0);\nwhile(true){\nif((i__5750__auto___29676 \x3c len__5749__auto___29671)){\nargs__5755__auto__.push((arguments[i__5750__auto___29676]));\n\nvar G__29681 \x3d (i__5750__auto___29676 + (1));\ni__5750__auto___29676 \x3d G__29681;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.format.standard_body_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (lines,rest){\ndevtools.format.setup_BANG_();\n\nvar args \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (x){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [x], null);\n}),lines)], null),rest);\nreturn devtools.format.render_markup.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.format._LT_standard_body_GT__fn,args)], 0));\n}));\n\n(devtools.format.standard_body_template.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.format.standard_body_template.cljs$lang$applyTo \x3d (function (seq29526){\nvar G__29527 \x3d cljs.core.first(seq29526);\nvar seq29526__$1 \x3d cljs.core.next(seq29526);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29527,seq29526__$1);\n}));\n\n");
SHADOW_ENV.evalLoad("devtools.protocols.js", true, "goog.provide(\x27devtools.protocols\x27);\n\n/**\n * Marker protocol indicating a devtools template.\n * @interface\n */\ndevtools.protocols.ITemplate \x3d function(){};\n\n\n/**\n * Marker protocol indicating a devtools group.\n * @interface\n */\ndevtools.protocols.IGroup \x3d function(){};\n\n\n/**\n * Marker protocol indicating a devtools surrogate object.\n * @interface\n */\ndevtools.protocols.ISurrogate \x3d function(){};\n\n\n/**\n * @interface\n */\ndevtools.protocols.IFormat \x3d function(){};\n\nvar devtools$protocols$IFormat$_header$dyn_29258 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.protocols._header[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.protocols._header[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-header\x22,value);\n}\n}\n});\ndevtools.protocols._header \x3d (function devtools$protocols$_header(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_header$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_header$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_header$dyn_29258(value);\n}\n});\n\nvar devtools$protocols$IFormat$_has_body$dyn_29266 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.protocols._has_body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.protocols._has_body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-has-body\x22,value);\n}\n}\n});\ndevtools.protocols._has_body \x3d (function devtools$protocols$_has_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_has_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_has_body$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_has_body$dyn_29266(value);\n}\n});\n\nvar devtools$protocols$IFormat$_body$dyn_29274 \x3d (function (value){\nvar x__5373__auto__ \x3d (((value \x3d\x3d null))?null:value);\nvar m__5374__auto__ \x3d (devtools.protocols._body[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5374__auto__.call(null,value));\n} else {\nvar m__5372__auto__ \x3d (devtools.protocols._body[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__5372__auto__.call(null,value));\n} else {\nthrow cljs.core.missing_protocol(\x22IFormat.-body\x22,value);\n}\n}\n});\ndevtools.protocols._body \x3d (function devtools$protocols$_body(value){\nif((((!((value \x3d\x3d null)))) \x26\x26 ((!((value.devtools$protocols$IFormat$_body$arity$1 \x3d\x3d null)))))){\nreturn value.devtools$protocols$IFormat$_body$arity$1(value);\n} else {\nreturn devtools$protocols$IFormat$_body$dyn_29274(value);\n}\n});\n\n");
SHADOW_ENV.evalLoad("devtools.reporter.js", true, "goog.provide(\x27devtools.reporter\x27);\ndevtools.reporter.issues_url \x3d \x22https://github.com/binaryage/cljs-devtools/issues\x22;\ndevtools.reporter.report_internal_error_BANG_ \x3d (function devtools$reporter$report_internal_error_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31576 \x3d arguments.length;\nvar i__5750__auto___31577 \x3d (0);\nwhile(true){\nif((i__5750__auto___31577 \x3c len__5749__auto___31576)){\nargs__5755__auto__.push((arguments[i__5750__auto___31577]));\n\nvar G__31578 \x3d (i__5750__auto___31577 + (1));\ni__5750__auto___31577 \x3d G__31578;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (e,p__31513){\nvar vec__31514 \x3d p__31513;\nvar context \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31514,(0),null);\nvar footer \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31514,(1),null);\nvar console__$1 \x3d devtools.context.get_console.call(null);\ntry{var message \x3d (((e instanceof Error))?(function (){var or__5025__auto__ \x3d e.message;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn e;\n}\n})():e);\nvar header \x3d [\x22%cCLJS DevTools Error%c%s\x22,\x22background-color:red;color:white;font-weight:bold;padding:0px 3px;border-radius:2px;\x22,\x22color:red\x22,[\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(message)].join(\x27\x27)];\nvar context_msg \x3d [\x22In \x22,devtools.util.get_lib_info(),(cljs.core.truth_(context)?[\x22, \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(context),\x22.\x22].join(\x27\x27):\x22.\x22),\x22\\n\\n\x22].join(\x27\x27);\nvar footer_msg \x3d (((!((footer \x3d\x3d null))))?footer:[\x22\\n\\n\x22,\x22---\\n\x22,\x22Please report the issue here: \x22,devtools.reporter.issues_url].join(\x27\x27));\nvar details \x3d [context_msg,e,footer_msg];\nvar group_collapsed \x3d (console__$1[\x22groupCollapsed\x22]);\nvar log \x3d (console__$1[\x22log\x22]);\nvar group_end \x3d (console__$1[\x22groupEnd\x22]);\nif(cljs.core.truth_(group_collapsed)){\n} else {\nthrow (new Error(\x22Assert failed: group-collapsed\x22));\n}\n\nif(cljs.core.truth_(log)){\n} else {\nthrow (new Error(\x22Assert failed: log\x22));\n}\n\nif(cljs.core.truth_(group_end)){\n} else {\nthrow (new Error(\x22Assert failed: group-end\x22));\n}\n\ngroup_collapsed.apply(console__$1,header);\n\nlog.apply(console__$1,details);\n\nreturn group_end.call(console__$1);\n}catch (e31519){var e__$1 \x3d e31519;\nreturn console__$1.error(\x22FATAL: report-internal-error! failed\x22,e__$1);\n}}));\n\n(devtools.reporter.report_internal_error_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.reporter.report_internal_error_BANG_.cljs$lang$applyTo \x3d (function (seq31503){\nvar G__31504 \x3d cljs.core.first(seq31503);\nvar seq31503__$1 \x3d cljs.core.next(seq31503);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31504,seq31503__$1);\n}));\n\n");
SHADOW_ENV.evalLoad("clojure.walk.js", true, "goog.provide(\x27clojure.walk\x27);\n/**\n * Traverses form, an arbitrary data structure. inner and outer are\n * functions. Applies inner to each element of form, building up a\n * data structure of the same type, then applies outer to the result.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.walk \x3d (function clojure$walk$walk(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nvar G__29353 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29353) : outer.call(null,G__29353));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__29355 \x3d (new cljs.core.MapEntry((function (){var G__29357 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__29357) : inner.call(null,G__29357));\n})(),(function (){var G__29359 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__29359) : inner.call(null,G__29359));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29355) : outer.call(null,G__29355));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nvar G__29360 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29360) : outer.call(null,G__29360));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__29363 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29363) : outer.call(null,G__29363));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__29366 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__29366) : outer.call(null,G__29366));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Performs a depth-first, post-order traversal of form. Calls f on\n * each sub-form, uses f\x27s return value in place of the original.\n * Recognizes all Clojure data structures. Consumes seqs as with doall.\n */\nclojure.walk.postwalk \x3d (function clojure$walk$postwalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.postwalk,f),f,form);\n});\n/**\n * Like postwalk, but does pre-order traversal.\n */\nclojure.walk.prewalk \x3d (function clojure$walk$prewalk(f,form){\nreturn clojure.walk.walk(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(clojure.walk.prewalk,f),cljs.core.identity,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(form) : f.call(null,form)));\n});\n/**\n * Recursively transforms all map keys from strings to keywords.\n */\nclojure.walk.keywordize_keys \x3d (function clojure$walk$keywordize_keys(m){\nvar f \x3d (function (p__29382){\nvar vec__29383 \x3d p__29382;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29383,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29383,(1),null);\nif(typeof k \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms all map keys from keywords to strings.\n */\nclojure.walk.stringify_keys \x3d (function clojure$walk$stringify_keys(m){\nvar f \x3d (function (p__29406){\nvar vec__29407 \x3d p__29406;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29407,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29407,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(k),v], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n});\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.map_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,x));\n} else {\nreturn x;\n}\n}),m);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the root of the tree first.\n */\nclojure.walk.prewalk_replace \x3d (function clojure$walk$prewalk_replace(smap,form){\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n/**\n * Recursively transforms form by replacing keys in smap with their\n * values. Like clojure/replace but works on any data structure. Does\n * replacement at the leaves of the tree first.\n */\nclojure.walk.postwalk_replace \x3d (function clojure$walk$postwalk_replace(smap,form){\nreturn clojure.walk.postwalk((function (x){\nif(cljs.core.contains_QMARK_(smap,x)){\nreturn (smap.cljs$core$IFn$_invoke$arity$1 ? smap.cljs$core$IFn$_invoke$arity$1(x) : smap.call(null,x));\n} else {\nreturn x;\n}\n}),form);\n});\n");
SHADOW_ENV.evalLoad("devtools.munging.js", true, "goog.provide(\x27devtools.munging\x27);\ngoog.scope(function(){\n devtools.munging.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ndevtools.munging.dollar_replacement \x3d \x22~\\uFE69~\x22;\ndevtools.munging.max_fixed_arity_to_scan \x3d (64);\ndevtools.munging.get_global_scope \x3d (function devtools$munging$get_global_scope(){\nreturn devtools.context.get_root.call(null);\n});\ndevtools.munging.js_reserved_QMARK_ \x3d (function devtools$munging$js_reserved_QMARK_(x){\nvar temp__5821__auto__ \x3d (function (){var temp__5821__auto__ \x3d (devtools.munging.get_global_scope.call(null)[\x22cljs\x22]);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar o29361 \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (o29361[\x22core\x22]);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar o29362 \x3d temp__5821__auto____$1;\nreturn (o29362[\x22js_reserved_QMARK_\x22]);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar js_reserved_fn \x3d temp__5821__auto__;\nreturn (js_reserved_fn.cljs$core$IFn$_invoke$arity$1 ? js_reserved_fn.cljs$core$IFn$_invoke$arity$1(x) : js_reserved_fn.call(null,x));\n} else {\nreturn null;\n}\n});\ndevtools.munging.get_fn_source_safely \x3d (function devtools$munging$get_fn_source_safely(f){\ntry{if(cljs.core.truth_(\x22toString\x22 in f)){\nvar o__29041__auto__ \x3d f;\nreturn (o__29041__auto__[\x22toString\x22]).call(o__29041__auto__);\n} else {\nreturn \x22\x22;\n}\n}catch (e29372){var _ \x3d e29372;\nreturn \x22\x22;\n}});\ndevtools.munging.get_fn_fixed_arity \x3d (function devtools$munging$get_fn_fixed_arity(f,n){\nreturn (f[[\x22cljs$core$IFn$_invoke$arity$\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)]);\n});\ndevtools.munging.get_fn_variadic_arity \x3d (function devtools$munging$get_fn_variadic_arity(f){\nreturn (f[\x22cljs$core$IFn$_invoke$arity$variadic\x22]);\n});\ndevtools.munging.get_fn_max_fixed_arity \x3d (function devtools$munging$get_fn_max_fixed_arity(f){\nreturn (f[\x22cljs$lang$maxFixedArity\x22]);\n});\ndevtools.munging.get_type_name \x3d (function devtools$munging$get_type_name(t){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new cljs.core.StringBufferWriter(sb));\ntry{var o__29041__auto___29813 \x3d t;\n(o__29041__auto___29813[\x22cljs$lang$ctorPrWriter\x22]).call(o__29041__auto___29813,t,writer);\n}catch (e29410){var __29814 \x3d e29410;\n}\nwriter.cljs$core$IWriter$_flush$arity$1(null);\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n});\n/**\n * Given a character with a single digit converts it into a subscript character.\n * Zero character maps to unicode \x27SUBSCRIPT ZERO\x27 (U+2080).\n */\ndevtools.munging.char_to_subscript \x3d (function devtools$munging$char_to_subscript(char$){\nif(typeof char$ \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? char)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(char$),(1))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d (count char) 1)\x22));\n}\n\nvar char_code \x3d (function (){var o__29041__auto__ \x3d (new String(char$));\nreturn (o__29041__auto__[\x22charCodeAt\x22]).call(o__29041__auto__,(0));\n})();\nvar num_code \x3d (char_code - (48));\nvar subscript_code \x3d ((8320) + num_code);\nvar o__29041__auto__ \x3d String;\nreturn (o__29041__auto__[\x22fromCharCode\x22]).call(o__29041__auto__,subscript_code);\n});\n/**\n * Given a subscript number converts it into a string representation consisting of unicode subscript characters (digits).\n */\ndevtools.munging.make_subscript \x3d (function devtools$munging$make_subscript(subscript){\nif(typeof subscript \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? subscript)\x22));\n}\n\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.char_to_subscript,cljs.core.str.cljs$core$IFn$_invoke$arity$1(subscript)));\n});\n/**\n * Given a character with a single digit converts it into a superscript character.\n * Zero character maps to unicode \x27SUPERSCRIPT ZERO\x27 (U+2070).\n */\ndevtools.munging.char_to_superscript \x3d (function devtools$munging$char_to_superscript(char$){\nif(typeof char$ \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? char)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(char$),(1))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d (count char) 1)\x22));\n}\n\nvar char_code \x3d (function (){var o__29041__auto__ \x3d (new String(char$));\nreturn (o__29041__auto__[\x22charCodeAt\x22]).call(o__29041__auto__,(0));\n})();\nvar num_code \x3d (char_code - (48));\nvar superscript_code \x3d (function (){var G__29459 \x3d num_code;\nswitch (G__29459) {\ncase (1):\nreturn (185);\n\nbreak;\ncase (2):\nreturn (178);\n\nbreak;\ncase (3):\nreturn (179);\n\nbreak;\ndefault:\nreturn ((8304) + num_code);\n\n}\n})();\nvar o__29041__auto__ \x3d String;\nreturn (o__29041__auto__[\x22fromCharCode\x22]).call(o__29041__auto__,superscript_code);\n});\n/**\n * Given a superscript number converts it into a string representation consisting of unicode superscript characters (digits).\n */\ndevtools.munging.make_superscript \x3d (function devtools$munging$make_superscript(superscript){\nif(typeof superscript \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? superscript)\x22));\n}\n\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.char_to_superscript,cljs.core.str.cljs$core$IFn$_invoke$arity$1(superscript)));\n});\n/**\n * Given a Javascript name answers if the name was likely generated by ClojureScript.\n * We use a simple heuristic here:\n * The name must contain at least two separate dollars because we assume two-segment namespaces.\n */\ndevtools.munging.cljs_fn_name_QMARK_ \x3d (function devtools$munging$cljs_fn_name_QMARK_(munged_name){\nif(typeof munged_name \x3d\x3d\x3d \x27string\x27){\nreturn (!((cljs.core.re_matches(/^[^$]*\\$[^$]+\\$.*$/,munged_name) \x3d\x3d null)));\n} else {\nreturn null;\n}\n});\n/**\n * Given a function source code parses out [name args]. Note that both strings are still munged.\n * Suitable for further processing.\n * \n * For example for input below the function will return [\x22devtools_sample$core$hello\x22 \x22name, unused_param\x22]:\n * \n * function devtools_sample$core$hello(name, unused_param){\n * return [cljs.core.str(\x22hello, \x22),cljs.core.str(name),cljs.core.str(\x22!\x22)].join(\x27\x27);\n * }\n * \n */\ndevtools.munging.parse_fn_source \x3d (function devtools$munging$parse_fn_source(fn_source){\nvar temp__5821__auto__ \x3d cljs.core.second(cljs.core.re_find(/function\\s(.*?)\\{/,fn_source));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar meat \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d cljs.core.re_find(/(.*?)\\((.*)\\)/,meat);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar match \x3d temp__5821__auto____$1;\nreturn cljs.core.rest(match);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.trivial_fn_source_QMARK_ \x3d (function devtools$munging$trivial_fn_source_QMARK_(fn_source){\nif(typeof fn_source \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? fn-source)\x22));\n}\n\nreturn (((!((cljs.core.re_matches(/function\\s*\\(\\s*\\)\\s*\\{\\s*\\}\\s*/,fn_source) \x3d\x3d null)))) || ((((!((cljs.core.re_matches(/function.*\\(\\)\\s*\\{\\s*\\[native code\\]\\s*\\}\\s*/,fn_source) \x3d\x3d null)))) || ((!((cljs.core.re_matches(/function anonymous\\(\\s*\\)\\s*\\{\\s*\\}/,fn_source) \x3d\x3d null)))))));\n});\n/**\n * Given a Javascript function object returns true if the function looks like a ClojureScript function.\n * \n * Uses various heuristics:\n * 1. must be fn? (is javascript function or satisfies Fn and IFn protocols)\n * 2. and name must be cljs-fn-name? (name can come from f.name or parsed out of function source)\n * 3. or if anonymous function, must be non-trivial\n */\ndevtools.munging.cljs_fn_QMARK_ \x3d (function devtools$munging$cljs_fn_QMARK_(f){\nif(cljs.core.truth_((function (){try{return cljs.core.fn_QMARK_(f);\n}catch (e29511){var _e__29095__auto__ \x3d e29511;\nreturn false;\n}})())){\nvar name \x3d (f[cljs.core.name]);\nif((!(cljs.core.empty_QMARK_(name)))){\nreturn devtools.munging.cljs_fn_name_QMARK_(name);\n} else {\nvar fn_source \x3d devtools.munging.get_fn_source_safely(f);\nvar vec__29515 \x3d devtools.munging.parse_fn_source(fn_source);\nvar name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29515,(0),null);\nif((!(cljs.core.empty_QMARK_(name__$1)))){\nreturn devtools.munging.cljs_fn_name_QMARK_(name__$1);\n} else {\nreturn (!(devtools.munging.trivial_fn_source_QMARK_(fn_source)));\n}\n}\n} else {\nreturn null;\n}\n});\n/**\n * Standard cljs.core/demunge is too aggressive in replacing dollars.\n * This wrapper function works around it by leaving dollars intact.\n */\ndevtools.munging.dollar_preserving_demunge \x3d (function devtools$munging$dollar_preserving_demunge(munged_name){\nreturn clojure.string.replace(cljs.core.demunge(clojure.string.replace(munged_name,\x22$\x22,devtools.munging.dollar_replacement)),devtools.munging.dollar_replacement,\x22$\x22);\n});\ndevtools.munging.revert_reserved \x3d (function devtools$munging$revert_reserved(s){\nvar or__5025__auto__ \x3d (function (){var temp__5821__auto__ \x3d cljs.core.re_matches(/(.*)\\$/,s);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nif(cljs.core.truth_(devtools.munging.js_reserved_QMARK_(cljs.core.second(m)))){\nreturn cljs.core.second(m);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn s;\n}\n});\ndevtools.munging.reserved_aware_demunge \x3d (function devtools$munging$reserved_aware_demunge(munged_name){\nreturn devtools.munging.revert_reserved(devtools.munging.dollar_preserving_demunge(munged_name));\n});\ndevtools.munging.proper_demunge \x3d (function devtools$munging$proper_demunge(munged_name){\nreturn devtools.munging.reserved_aware_demunge(munged_name);\n});\ndevtools.munging.proper_arg_demunge \x3d (function devtools$munging$proper_arg_demunge(munged_arg_name){\nreturn clojure.string.replace(devtools.munging.proper_demunge(munged_arg_name),/^-(.*)$/,\x22_$1\x22);\n});\ndevtools.munging.proper_ns_demunge \x3d (function devtools$munging$proper_ns_demunge(munged_ns_name){\nreturn clojure.string.replace(devtools.munging.proper_demunge(munged_ns_name),\x22$\x22,\x22.\x22);\n});\ndevtools.munging.ns_exists_QMARK_ \x3d (function devtools$munging$ns_exists_QMARK_(ns_module_name){\nif(typeof ns_module_name \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? ns-module-name)\x22));\n}\n\nvar temp__5825__auto__ \x3d devtools.munging.goog$module$goog$object.getValueByKeys(devtools.munging.get_global_scope.call(null),ns_module_name.split(\x22.\x22));\nif((temp__5825__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar ns_obj \x3d temp__5825__auto__;\nreturn cljs.core.object_QMARK_(ns_obj);\n}\n});\n/**\n * Given a name broken into namespace parts returns [detected-ns remaining-parts],\n * where detected-ns is a string representing longest detected existing namespace and\n * remaining-parts is a vector of remaining input parts not included in the detected-ns concatenation.\n * \n * For given input [\x22cljs\x22 \x22core\x22 \x22first\x22] returns [\x22cljs.core\x22 [\x22first\x22]] (assuming cljs.core exists)\n */\ndevtools.munging.detect_namespace_prefix \x3d (function devtools$munging$detect_namespace_prefix(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29820 \x3d arguments.length;\nvar i__5750__auto___29822 \x3d (0);\nwhile(true){\nif((i__5750__auto___29822 \x3c len__5749__auto___29820)){\nargs__5755__auto__.push((arguments[i__5750__auto___29822]));\n\nvar G__29823 \x3d (i__5750__auto___29822 + (1));\ni__5750__auto___29822 \x3d G__29823;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tokens,p__29563){\nvar vec__29564 \x3d p__29563;\nvar ns_detector \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29564,(0),null);\nvar effective_detector \x3d (function (){var or__5025__auto__ \x3d ns_detector;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.munging.ns_exists_QMARK_;\n}\n})();\nvar name_tokens \x3d cljs.core.PersistentVector.EMPTY;\nvar remaining_tokens \x3d tokens;\nwhile(true){\nif(cljs.core.empty_QMARK_(remaining_tokens)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,name_tokens], null);\n} else {\nvar ns_name \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,remaining_tokens);\nif(cljs.core.truth_((effective_detector.cljs$core$IFn$_invoke$arity$1 ? effective_detector.cljs$core$IFn$_invoke$arity$1(ns_name) : effective_detector.call(null,ns_name)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_name,name_tokens], null);\n} else {\nvar G__29827 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.last(remaining_tokens)], null),name_tokens);\nvar G__29828 \x3d cljs.core.butlast(remaining_tokens);\nname_tokens \x3d G__29827;\nremaining_tokens \x3d G__29828;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(devtools.munging.detect_namespace_prefix.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.munging.detect_namespace_prefix.cljs$lang$applyTo \x3d (function (seq29553){\nvar G__29554 \x3d cljs.core.first(seq29553);\nvar seq29553__$1 \x3d cljs.core.next(seq29553);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29554,seq29553__$1);\n}));\n\ndevtools.munging.normalize_arity \x3d (function devtools$munging$normalize_arity(arity_tokens){\nif((!(cljs.core.empty_QMARK_(arity_tokens)))){\nvar arity \x3d cljs.core.first(arity_tokens);\nvar G__29571 \x3d arity;\nswitch (G__29571) {\ncase \x22variadic\x22:\nreturn arity;\n\nbreak;\ndefault:\nreturn parseInt(arity,(10));\n\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.strip_arity \x3d (function devtools$munging$strip_arity(tokens){\nvar vec__29577 \x3d cljs.core.split_with((function (p1__29576_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(p1__29576_SHARP_,\x22arity\x22);\n}),tokens);\nvar prefix_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29577,(0),null);\nvar arity_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29577,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [prefix_tokens,devtools.munging.normalize_arity(cljs.core.rest(arity_tokens))], null);\n});\ndevtools.munging.parse_protocol \x3d (function devtools$munging$parse_protocol(tokens,detector){\nvar remaining_tokens \x3d tokens;\nvar name_tokens \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(remaining_tokens)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name_tokens], null);\n} else {\nvar vec__29599 \x3d devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic(remaining_tokens,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([detector], 0));\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29599,(0),null);\nvar name_and_method_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29599,(1),null);\nif(cljs.core.empty_QMARK_(protocol_ns)){\nvar G__29837 \x3d cljs.core.rest(remaining_tokens);\nvar G__29838 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(name_tokens,cljs.core.first(remaining_tokens));\nremaining_tokens \x3d G__29837;\nname_tokens \x3d G__29838;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [name_tokens,protocol_ns,cljs.core.first(name_and_method_tokens),cljs.core.rest(name_and_method_tokens)], null);\n}\n}\nbreak;\n}\n});\n/**\n * Given a munged-name from Javascript lands attempts to break it into:\n * [fn-ns fn-name protocol-ns protocol-name protocol-method arity].\n * \n * Protocol and arity elements are optional. Function elements are always present or \x22\x22.\n * \n * examples for input:\n * cljs$core$rest \x3d\x3e [\x27cljs.core\x27, \x27rest\x27]\n * cljs.core.reduce$cljs$core$IFn$_invoke$arity$3 \x3d\x3e [\x27cljs.core\x27 \x27reduce\x27 \x27cljs.core\x27 \x27IFn\x27 \x27_invoke\x27 3]\n */\ndevtools.munging.break_munged_name \x3d (function devtools$munging$break_munged_name(var_args){\nvar G__29609 \x3d arguments.length;\nswitch (G__29609) {\ncase 1:\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$1 \x3d (function (munged_name){\nreturn devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2(munged_name,null);\n}));\n\n(devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2 \x3d (function (munged_name,ns_detector){\nif(cljs.core.empty_QMARK_(munged_name)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22], null);\n} else {\nvar effective_detector \x3d (function (){var or__5025__auto__ \x3d ns_detector;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.munging.ns_exists_QMARK_;\n}\n})();\nvar tokens \x3d cljs.core.vec(munged_name.split(/[$.]/));\nvar vec__29621 \x3d devtools.munging.strip_arity(tokens);\nvar tokens__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29621,(0),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29621,(1),null);\nvar vec__29624 \x3d devtools.munging.detect_namespace_prefix.cljs$core$IFn$_invoke$arity$variadic(tokens__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([effective_detector], 0));\nvar fn_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29624,(0),null);\nvar tokens__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29624,(1),null);\nvar vec__29627 \x3d devtools.munging.parse_protocol(tokens__$2,effective_detector);\nvar fn_name_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29627,(0),null);\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29627,(1),null);\nvar protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29627,(2),null);\nvar protocol_method_tokens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29627,(3),null);\nvar fn_name \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22$\x22,fn_name_tokens);\nvar protocol_method \x3d (cljs.core.truth_(protocol_method_tokens)?clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22$\x22,protocol_method_tokens):null);\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [fn_ns,fn_name,protocol_ns,protocol_name,protocol_method,arity], null);\n}\n}));\n\n(devtools.munging.break_munged_name.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Given a munged-name from Javascript lands attempts to break it into a namespace part and remaining short name.\n * Then applies appropriate demunging on them and returns ClojureScript versions of the names.\n */\ndevtools.munging.break_and_demunge_name \x3d (function devtools$munging$break_and_demunge_name(var_args){\nvar G__29649 \x3d arguments.length;\nswitch (G__29649) {\ncase 1:\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1 \x3d (function (munged_name){\nreturn devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2(munged_name,null);\n}));\n\n(devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2 \x3d (function (munged_name,ns_detector){\nvar result \x3d devtools.munging.break_munged_name.cljs$core$IFn$_invoke$arity$2(munged_name,ns_detector);\nvar vec__29660 \x3d result;\nvar munged_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29660,(0),null);\nvar munged_name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29660,(1),null);\nvar munged_protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29660,(2),null);\nvar munged_protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29660,(3),null);\nvar munged_protocol_method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29660,(4),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29660,(5),null);\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.munging.proper_ns_demunge(munged_ns),devtools.munging.proper_demunge(munged_name__$1),(cljs.core.truth_(munged_protocol_ns)?devtools.munging.proper_ns_demunge(munged_protocol_ns):null),(cljs.core.truth_(munged_protocol_name)?devtools.munging.proper_demunge(munged_protocol_name):null),(cljs.core.truth_(munged_protocol_method)?devtools.munging.proper_demunge(munged_protocol_method):null),arity], null);\n}));\n\n(devtools.munging.break_and_demunge_name.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Given function source code tries to retrieve [ns name \x26 args] on best effort basis, where\n * ns is demunged namespace part of the function name (or \x22\x22 if namespace cannot be detected)\n * name is demunged short name (or \x22\x22 if function is anonymous or name cannot be retrieved)\n * args is optional number of demunged argument names.\n * \n * Please note that this function always returns a vector with something. In worst cases [\x22\x22 \x22\x22].\n * \n */\ndevtools.munging.parse_fn_source_info \x3d (function devtools$munging$parse_fn_source_info(fn_source){\nvar temp__5821__auto__ \x3d devtools.munging.parse_fn_source(fn_source);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__29685 \x3d temp__5821__auto__;\nvar munged_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29685,(0),null);\nvar args \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29685,(1),null);\nvar vec__29688 \x3d devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$1(munged_name);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29688,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29688,(1),null);\nvar demunged_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(devtools.munging.proper_arg_demunge,clojure.string.trim),clojure.string.split.cljs$core$IFn$_invoke$arity$2(args,/,/));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,name], null),demunged_args);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x22,\x22\x22], null);\n}\n});\n/**\n * Given Javascript function object tries to retrieve [ns name \x26 args] as in parse-fn-source-info (on best effort basis).\n */\ndevtools.munging.parse_fn_info \x3d (function devtools$munging$parse_fn_info(f){\nvar fn_source \x3d devtools.munging.get_fn_source_safely(f);\nreturn devtools.munging.parse_fn_source_info(fn_source);\n});\n/**\n * Given a Javascript function object tries to retrieve [ns name \x26 args] as in parse-fn-info (on best effort basis).\n * \n * The difference from parse-fn-info is that this function prefers to read args from arities if available.\n * It recurse arbitrary deep following IFn protocol leads.\n * \n * If we hit multi-arity situation in leaf, we don\x27t attempt to list arguments and return ::multi-arity placeholder instead.\n * \n * The reason for reading arities is that it gives more accurate parameter names in some cases.\n * We observed that variadic functions don\x27t always contain original parameter names, but individual IFn arity functions do.\n */\ndevtools.munging.parse_fn_info_deep \x3d (function devtools$munging$parse_fn_info_deep(f){\nvar fn_info \x3d devtools.munging.parse_fn_info(f);\nvar arities \x3d (devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1(f) : devtools.munging.collect_fn_arities.call(null,f));\nif((!((arities \x3d\x3d null)))){\nif((cljs.core.count(arities) \x3e (1))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2((2),fn_info),new cljs.core.Keyword(\x22devtools.munging\x22,\x22multi-arity\x22,\x22devtools.munging/multi-arity\x22,-2011705837));\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2((2),fn_info),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),(function (){var G__29695 \x3d cljs.core.second(cljs.core.first(arities));\nreturn (devtools.munging.parse_fn_info_deep.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.parse_fn_info_deep.cljs$core$IFn$_invoke$arity$1(G__29695) : devtools.munging.parse_fn_info_deep.call(null,G__29695));\n})()));\n}\n} else {\nreturn fn_info;\n}\n});\n/**\n * Given a demunged ClojureScript parameter name. Tries to detect human readable part and returns the index where it ends.\n * Returns nil if no prefix can be detected.\n * \n * The idea is to convert macro-generated parameters and other generated names to more friendly names.\n * We observed that param names generated by gensym have prefix followed by big numbers.\n * Other generated names contain two dashes after prefix (originally probably using underscores).\n */\ndevtools.munging.find_index_of_human_prefix \x3d (function devtools$munging$find_index_of_human_prefix(name){\nvar sep_start \x3d name.indexOf(\x22--\x22);\nvar num_prefix \x3d cljs.core.count(cljs.core.second(cljs.core.re_find(/(.*?)\\d{2,}/,name)));\nvar finds \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.pos_QMARK_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sep_start,num_prefix], null));\nif((!(cljs.core.empty_QMARK_(finds)))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.min,finds);\n} else {\nreturn null;\n}\n});\n/**\n * Given a name and intermediate state. Convert name to a human readable version by keeping human readable prefix with\n * optional subscript postfix and store it in ::result. Subscript number is picked based on state. State keeps track of\n * previously assigned subscripts. Returns a new state.\n */\ndevtools.munging.humanize_name \x3d (function devtools$munging$humanize_name(state,name){\nvar index \x3d devtools.munging.find_index_of_human_prefix(name);\nvar prefix \x3d (((index \x3e (0)))?name.substring((0),index):name);\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(state,prefix);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar subscript \x3d temp__5821__auto__;\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.conj,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),devtools.munging.make_subscript(subscript)].join(\x27\x27)),prefix,cljs.core.inc);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.conj,prefix),prefix,(2));\n}\n});\n/**\n * Given a list of names, returns a list of human-readable versions of those names.\n * It detects human-readable prefix using a simple heuristics. When names repeat it assigns simple subscripts starting with 2.\n * Subscripts are assigned left-to-right.\n * \n * Given [\x22p--a\x22 \x22p--b\x22 \x22x\x22 \x22p--c\x22] returns [\x22p\x22 \x22p\u2082\x22 \x22x\x22 \x22p\u2083\x22]\n */\ndevtools.munging.humanize_names \x3d (function devtools$munging$humanize_names(names){\nreturn cljs.core.with_meta(new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166).cljs$core$IFn$_invoke$arity$1(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(devtools.munging.humanize_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22result\x22,\x22devtools.munging/result\x22,1642759166),cljs.core.PersistentVector.EMPTY], null),names)),cljs.core.meta(names));\n});\ndevtools.munging.collect_fn_fixed_arities \x3d (function devtools$munging$collect_fn_fixed_arities(f,max_arity){\nvar arity \x3d (0);\nvar collection \x3d cljs.core.PersistentArrayMap.EMPTY;\nwhile(true){\nif((arity \x3e max_arity)){\nreturn collection;\n} else {\nvar G__29863 \x3d (arity + (1));\nvar G__29864 \x3d (function (){var temp__5821__auto__ \x3d devtools.munging.get_fn_fixed_arity(f,arity);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar arity_fn \x3d temp__5821__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(collection,arity,arity_fn);\n} else {\nreturn collection;\n}\n})();\narity \x3d G__29863;\ncollection \x3d G__29864;\ncontinue;\n}\nbreak;\n}\n});\ndevtools.munging.collect_fn_variadic_arities \x3d (function devtools$munging$collect_fn_variadic_arities(f){\nvar temp__5821__auto__ \x3d devtools.munging.get_fn_variadic_arity(f);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar variadic_arity \x3d temp__5821__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),variadic_arity], null);\n} else {\nreturn null;\n}\n});\ndevtools.munging.review_arity \x3d (function devtools$munging$review_arity(p__29707){\nvar vec__29708 \x3d p__29707;\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29708,(0),null);\nvar arity_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29708,(1),null);\nvar sub_arities \x3d (devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1 ? devtools.munging.collect_fn_arities.cljs$core$IFn$_invoke$arity$1(arity_fn) : devtools.munging.collect_fn_arities.call(null,arity_fn));\nif(cljs.core.truth_(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(sub_arities))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),arity_fn], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arity,arity_fn], null);\n}\n});\n/**\n * Some arities can be marked as fixed arity but in fact point to a variadic-arity function. We want to detect this case\n * and turn such improperly categorized arities to ::variadic.\n */\ndevtools.munging.review_arities \x3d (function devtools$munging$review_arities(arities){\nif(cljs.core.truth_(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(arities))){\nreturn arities;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.review_arity,arities));\n}\n});\n/**\n * Given a Javascript function object, tries to inspect known arity properties generated by ClojureScript compiler and\n * collects all available arity functions into a map. Arities are keyed by arity count and variadic arity gets ::variadic key.\n */\ndevtools.munging.collect_fn_arities \x3d (function devtools$munging$collect_fn_arities(f){\nvar max_fixed_arity \x3d devtools.munging.get_fn_max_fixed_arity(f);\nvar fixed_arities \x3d devtools.munging.collect_fn_fixed_arities(f,(function (){var or__5025__auto__ \x3d max_fixed_arity;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.munging.max_fixed_arity_to_scan;\n}\n})());\nvar variadic_arities \x3d devtools.munging.collect_fn_variadic_arities(f);\nvar arities \x3d devtools.munging.review_arities(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fixed_arities,variadic_arities], 0)));\nif((!(cljs.core.empty_QMARK_(arities)))){\nreturn arities;\n} else {\nreturn null;\n}\n});\n/**\n * ::variadic goes last, other keywords compare by name.\n */\ndevtools.munging.arity_keywords_comparator \x3d (function devtools$munging$arity_keywords_comparator(x,y){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),x)){\nreturn (1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),y)){\nreturn (-1);\n} else {\nreturn cljs.core.compare(cljs.core.name(x),cljs.core.name(y));\n\n}\n}\n});\n/**\n * numbers go first (ordered), then keywords (ordered by name), and then ::variadic sticks last\n */\ndevtools.munging.arities_key_comparator \x3d (function devtools$munging$arities_key_comparator(x,y){\nvar kx_QMARK_ \x3d (x instanceof cljs.core.Keyword);\nvar ky_QMARK_ \x3d (y instanceof cljs.core.Keyword);\nif(((kx_QMARK_) \x26\x26 (ky_QMARK_))){\nreturn devtools.munging.arity_keywords_comparator(x,y);\n} else {\nif(kx_QMARK_){\nreturn (1);\n} else {\nif(ky_QMARK_){\nreturn (-1);\n} else {\nreturn cljs.core.compare(x,y);\n\n}\n}\n}\n});\ndevtools.munging.arities_to_args_lists_STAR_ \x3d (function devtools$munging$arities_to_args_lists_STAR_(arities){\nvar sorted_keys \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2(devtools.munging.arities_key_comparator,cljs.core.keys(arities));\nvar sorted_fns \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29714_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(arities,p1__29714_SHARP_);\n}),sorted_keys);\nvar sorted_infos \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.parse_fn_info_deep,sorted_fns);\nvar sorted_args_lists \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29719_SHARP_){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2((2),p1__29719_SHARP_);\n}),sorted_infos);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.last(sorted_keys),new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908))){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast(sorted_args_lists),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(cljs.core.last(sorted_args_lists),cljs.core.assoc,new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908),true)], null));\n} else {\nreturn sorted_args_lists;\n}\n});\n/**\n * Given a map of arity functions. Tries to parse individual functions and prepare an arguments list for each arity.\n * Returned list of arguments list is sorted by arity count, variadic arity goes last if available.\n * \n * The function also optionally humanizes argument names in each arguments list if requested.\n */\ndevtools.munging.arities_to_args_lists \x3d (function devtools$munging$arities_to_args_lists(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29867 \x3d arguments.length;\nvar i__5750__auto___29868 \x3d (0);\nwhile(true){\nif((i__5750__auto___29868 \x3c len__5749__auto___29867)){\nargs__5755__auto__.push((arguments[i__5750__auto___29868]));\n\nvar G__29869 \x3d (i__5750__auto___29868 + (1));\ni__5750__auto___29868 \x3d G__29869;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic \x3d (function (arities,p__29736){\nvar vec__29737 \x3d p__29736;\nvar humanize_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29737,(0),null);\nvar args_lists \x3d devtools.munging.arities_to_args_lists_STAR_(arities);\nif(cljs.core.truth_(humanize_QMARK_)){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.humanize_names,args_lists);\n} else {\nreturn args_lists;\n}\n}));\n\n(devtools.munging.arities_to_args_lists.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.munging.arities_to_args_lists.cljs$lang$applyTo \x3d (function (seq29729){\nvar G__29730 \x3d cljs.core.first(seq29729);\nvar seq29729__$1 \x3d cljs.core.next(seq29729);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29730,seq29729__$1);\n}));\n\n/**\n * Converts a list of arguments lists into a list of strings suitable for UI presentation.\n */\ndevtools.munging.args_lists_to_strings \x3d (function devtools$munging$args_lists_to_strings(args_lists,spacer_symbol,multi_arity_symbol,rest_symbol){\nvar string_mapper \x3d (function (arg){\nvar G__29752 \x3d arg;\nvar G__29752__$1 \x3d (((G__29752 instanceof cljs.core.Keyword))?G__29752.fqn:null);\nswitch (G__29752__$1) {\ncase \x22devtools.munging/multi-arity\x22:\nreturn multi_arity_symbol;\n\nbreak;\ndefault:\nreturn arg;\n\n}\n});\nvar printer \x3d (function (args_list){\nvar variadic_QMARK_ \x3d new cljs.core.Keyword(\x22devtools.munging\x22,\x22variadic\x22,\x22devtools.munging/variadic\x22,1596047908).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(args_list));\nvar args_strings \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(string_mapper,args_list);\nreturn [clojure.string.join.cljs$core$IFn$_invoke$arity$2(spacer_symbol,cljs.core.butlast(args_strings)),cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(variadic_QMARK_)?rest_symbol:spacer_symbol)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.last(args_strings))].join(\x27\x27);\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(clojure.string.trim,cljs.core.map.cljs$core$IFn$_invoke$arity$2(printer,args_lists));\n});\ndevtools.munging.extract_arities \x3d (function devtools$munging$extract_arities(f,humanize_QMARK_,spacer_symbol,multi_arity_symbol,rest_symbol){\nreturn devtools.munging.args_lists_to_strings(devtools.munging.arities_to_args_lists.cljs$core$IFn$_invoke$arity$variadic((function (){var or__5025__auto__ \x3d devtools.munging.collect_fn_arities(f);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22naked\x22,\x22naked\x22,373474222),f], null);\n}\n})(),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([humanize_QMARK_], 0)),spacer_symbol,multi_arity_symbol,rest_symbol);\n});\ndevtools.munging.common_protocol_QMARK_ \x3d (function devtools$munging$common_protocol_QMARK_(protocol_ns,protocol_name){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(protocol_ns,\x22cljs.core\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(protocol_name,\x22IFn\x22)));\n});\ndevtools.munging.present_fn_part \x3d (function devtools$munging$present_fn_part(fn_ns,fn_name,include_ns_QMARK_){\nreturn [(cljs.core.truth_((function (){var and__5023__auto__ \x3d include_ns_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(cljs.core.empty_QMARK_(fn_ns)));\n} else {\nreturn and__5023__auto__;\n}\n})())?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_ns),\x22/\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_name)].join(\x27\x27);\n});\ndevtools.munging.present_protocol_part \x3d (function devtools$munging$present_protocol_part(protocol_ns,protocol_name,protocol_method,include_protocol_ns_QMARK_){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(include_protocol_ns_QMARK_)?protocol_ns:null)),(((!(cljs.core.empty_QMARK_(protocol_name))))?[(cljs.core.truth_(include_protocol_ns_QMARK_)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27):null),(((!(cljs.core.empty_QMARK_(protocol_method))))?[(cljs.core.truth_((function (){var or__5025__auto__ \x3d include_protocol_ns_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (!(cljs.core.empty_QMARK_(protocol_name)));\n}\n})())?\x22:\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_method)].join(\x27\x27):null)].join(\x27\x27);\n});\n/**\n * Given javascript function name tries to present it as plain string for display in UI on best effort basis.\n */\ndevtools.munging.present_function_name \x3d (function devtools$munging$present_function_name(munged_name,options){\nvar map__29771 \x3d options;\nvar map__29771__$1 \x3d cljs.core.__destructure_map(map__29771);\nvar include_ns_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29771__$1,new cljs.core.Keyword(null,\x22include-ns?\x22,\x22include-ns?\x22,-341372810));\nvar include_protocol_ns_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29771__$1,new cljs.core.Keyword(null,\x22include-protocol-ns?\x22,\x22include-protocol-ns?\x22,989250951));\nvar silence_common_protocols_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29771__$1,new cljs.core.Keyword(null,\x22silence-common-protocols?\x22,\x22silence-common-protocols?\x22,2012431893));\nvar ns_detector \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29771__$1,new cljs.core.Keyword(null,\x22ns-detector\x22,\x22ns-detector\x22,-2041592760));\nvar vec__29772 \x3d devtools.munging.break_and_demunge_name.cljs$core$IFn$_invoke$arity$2(munged_name,ns_detector);\nvar fn_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29772,(0),null);\nvar fn_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29772,(1),null);\nvar protocol_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29772,(2),null);\nvar protocol_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29772,(3),null);\nvar protocol_method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29772,(4),null);\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29772,(5),null);\nvar arity_str \x3d (((!((arity \x3d\x3d null))))?((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(arity,\x22variadic\x22))?\x22\\u207F\x22:devtools.munging.make_superscript(arity)):null);\nif(cljs.core.empty_QMARK_(fn_name)){\nreturn munged_name;\n} else {\nvar fn_part \x3d devtools.munging.present_fn_part(fn_ns,fn_name,include_ns_QMARK_);\nvar protocol_part \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d protocol_ns;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not((function (){var and__5023__auto____$1 \x3d silence_common_protocols_QMARK_;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn devtools.munging.common_protocol_QMARK_(protocol_ns,protocol_name);\n} else {\nreturn and__5023__auto____$1;\n}\n})());\n} else {\nreturn and__5023__auto__;\n}\n})())?devtools.munging.present_protocol_part(protocol_ns,protocol_name,protocol_method,include_protocol_ns_QMARK_):null);\nreturn [(function (){var or__5025__auto__ \x3d protocol_part;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn fn_part;\n}\n})(),arity_str,(cljs.core.truth_(protocol_part)?[\x22 (\x22,fn_part,\x22)\x22].join(\x27\x27):null)].join(\x27\x27);\n}\n});\ndevtools.munging.get_basis \x3d (function devtools$munging$get_basis(f){\nvar o__29041__auto__ \x3d f;\nreturn (o__29041__auto__[\x22getBasis\x22]).call(o__29041__auto__);\n});\n/**\n * Given a Javascript constructor function tries to retrieve [ns name basis]. Returns nil if not a cljs type.\n */\ndevtools.munging.parse_constructor_info \x3d (function devtools$munging$parse_constructor_info(f){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d goog.isObject(f);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn f.cljs$lang$type;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar type_name \x3d devtools.munging.get_type_name(f);\nvar parts \x3d type_name.split(/\\//);\nvar basis \x3d (function (){try{return devtools.munging.get_basis(f);\n}catch (e29782){var _e__29095__auto__ \x3d e29782;\nreturn cljs.core.PersistentVector.EMPTY;\n}})();\nif((cljs.core.count(parts) \x3c\x3d (2))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3c\x3d (count parts) 2)\x22));\n}\n\nwhile(true){\nif((cljs.core.count(parts) \x3c (2))){\nparts.unshift(null);\n\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.vec(parts),basis);\n} else {\nreturn null;\n}\n});\ndevtools.munging.protocol_path \x3d (function devtools$munging$protocol_path(protocol_selector){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$2(protocol_selector,/\\./);\n});\ndevtools.munging.get_protocol_object \x3d (function devtools$munging$get_protocol_object(protocol_selector){\nvar obj \x3d devtools.munging.get_global_scope.call(null);\nvar path \x3d devtools.munging.protocol_path(protocol_selector);\nwhile(true){\nif(cljs.core.empty_QMARK_(path)){\nreturn obj;\n} else {\nif(cljs.core.truth_(goog.isObject(obj))){\nvar G__29889 \x3d (obj[cljs.core.first(path)]);\nvar G__29890 \x3d cljs.core.rest(path);\nobj \x3d G__29889;\npath \x3d G__29890;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\ndevtools.munging.protocol_exists_QMARK_ \x3d (function devtools$munging$protocol_exists_QMARK_(protocol_selector){\nreturn (!((devtools.munging.get_protocol_object(protocol_selector) \x3d\x3d null)));\n});\ndevtools.munging.get_protocol_selector \x3d (function devtools$munging$get_protocol_selector(key){\nvar temp__5821__auto__ \x3d cljs.core.re_matches(/(.*)\\$$/,key);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nif((!(clojure.string.includes_QMARK_(key,\x22cljs$lang$protocol_mask$partition\x22)))){\nvar protocol_selector \x3d clojure.string.replace(cljs.core.second(m),\x22$\x22,\x22.\x22);\nif(devtools.munging.protocol_exists_QMARK_(protocol_selector)){\nreturn protocol_selector;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.munging.demunge_protocol_selector \x3d (function devtools$munging$demunge_protocol_selector(protocol_selector){\nvar parts \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.proper_demunge,devtools.munging.protocol_path(protocol_selector));\nvar _ \x3d (((cljs.core.count(parts) \x3e\x3d (2)))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22expected protocol selector to contain at least one dot: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_selector),\x22\x27\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3e\x3d (count parts) 2)\x22].join(\x27\x27)))})());\nvar ns \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,cljs.core.butlast(parts));\nvar name \x3d cljs.core.last(parts);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,name,protocol_selector], null);\n});\ndevtools.munging.fast_path_protocols_lookup_table \x3d (new cljs.core.Delay((function (){\nreturn new cljs.core.PersistentArrayMap(null, 2, [(0),cljs.core.PersistentHashMap.fromArrays([(8192),(4096),(524288),(128),(1048576),(1),(32768),(4),(268435456),(512),(33554432),(32),(256),(1024),(134217728),(16777216),(64),(262144),(2),(4194304),(131072),(67108864),(8388608),(16),(2097152),(1073741824),(2147483648),(2048),(8),(65536),(16384)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IStack\x22,\x22cljs.core.IStack\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISet\x22,\x22cljs.core.ISet\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReduce\x22,\x22cljs.core.IReduce\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22INext\x22,\x22cljs.core.INext\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IKVReduce\x22,\x22cljs.core.IKVReduce\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IFn\x22,\x22cljs.core.IFn\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDeref\x22,\x22cljs.core.IDeref\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEmptyableCollection\x22,\x22cljs.core.IEmptyableCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISorted\x22,\x22cljs.core.ISorted\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IAssociative\x22,\x22cljs.core.IAssociative\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IList\x22,\x22cljs.core.IList\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ASeq\x22,\x22cljs.core.ASeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ILookup\x22,\x22cljs.core.ILookup\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMap\x22,\x22cljs.core.IMap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReversible\x22,\x22cljs.core.IReversible\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISequential\x22,\x22cljs.core.ISequential\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISeq\x22,\x22cljs.core.ISeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWithMeta\x22,\x22cljs.core.IWithMeta\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICounted\x22,\x22cljs.core.ICounted\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IHash\x22,\x22cljs.core.IHash\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMeta\x22,\x22cljs.core.IMeta\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IRecord\x22,\x22cljs.core.IRecord\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISeqable\x22,\x22cljs.core.ISeqable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IIndexed\x22,\x22cljs.core.IIndexed\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEquiv\x22,\x22cljs.core.IEquiv\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWriter\x22,\x22cljs.core.IWriter\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IPrintWithWriter\x22,\x22cljs.core.IPrintWithWriter\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMapEntry\x22,\x22cljs.core.IMapEntry\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICollection\x22,\x22cljs.core.ICollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDerefWithTimeout\x22,\x22cljs.core.IDerefWithTimeout\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IVector\x22,\x22cljs.core.IVector\x22], null)]),(1),cljs.core.PersistentHashMap.fromArrays([(8192),(4096),(128),(1),(32768),(4),(512),(32),(256),(1024),(64),(262144),(2),(131072),(16),(2048),(8),(65536),(16384)],[new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ICloneable\x22,\x22cljs.core.ICloneable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22INamed\x22,\x22cljs.core.INamed\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientSet\x22,\x22cljs.core.ITransientSet\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IPending\x22,\x22cljs.core.IPending\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IReset\x22,\x22cljs.core.IReset\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IEditableCollection\x22,\x22cljs.core.IEditableCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IChunkedSeq\x22,\x22cljs.core.IChunkedSeq\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientMap\x22,\x22cljs.core.ITransientMap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IMultiFn\x22,\x22cljs.core.IMultiFn\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IChunkedNext\x22,\x22cljs.core.IChunkedNext\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientVector\x22,\x22cljs.core.ITransientVector\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IDrop\x22,\x22cljs.core.IDrop\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IWatchable\x22,\x22cljs.core.IWatchable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IIterable\x22,\x22cljs.core.IIterable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientAssociative\x22,\x22cljs.core.ITransientAssociative\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IComparable\x22,\x22cljs.core.IComparable\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ITransientCollection\x22,\x22cljs.core.ITransientCollection\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22ISwap\x22,\x22cljs.core.ISwap\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22cljs.core\x22,\x22IAtom\x22,\x22cljs.core.IAtom\x22], null)])], null);\n}),null));\ndevtools.munging.key_for_protocol_partition \x3d (function devtools$munging$key_for_protocol_partition(partition){\nreturn [\x22cljs$lang$protocol_mask$partition\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(partition),\x22$\x22].join(\x27\x27);\n});\ndevtools.munging.scan_fast_path_protocols_partition \x3d (function devtools$munging$scan_fast_path_protocols_partition(obj,partition){\nif(typeof partition \x3d\x3d\x3d \x27number\x27){\n} else {\nthrow (new Error(\x22Assert failed: (number? partition)\x22));\n}\n\nvar partition_key \x3d devtools.munging.key_for_protocol_partition(partition);\nvar partition_bits \x3d (function (){var or__5025__auto__ \x3d (obj[partition_key]);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nif((partition_bits \x3e (0))){\nvar lookup_table \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.munging.fast_path_protocols_lookup_table),partition);\nvar _ \x3d ((cljs.core.map_QMARK_(lookup_table))?null:(function(){throw (new Error([\x22Assert failed: \x22,[\x22fast-path-protocols-lookup-table does not contain lookup table for partition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(partition)].join(\x27\x27),\x22\\n\x22,\x22(map? lookup-table)\x22].join(\x27\x27)))})());\nvar _STAR_ \x3d (function (accum,p__29794){\nvar vec__29795 \x3d p__29794;\nvar bit \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29795,(0),null);\nvar protocol \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29795,(1),null);\nif(((partition_bits \x26 bit) \x3d\x3d\x3d (0))){\nreturn accum;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(accum,protocol);\n}\n});\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(_STAR_,cljs.core.PersistentVector.EMPTY,lookup_table);\n} else {\nreturn null;\n}\n});\ndevtools.munging.scan_fast_path_protocols \x3d (function devtools$munging$scan_fast_path_protocols(obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.scan_fast_path_protocols_partition,obj),cljs.core.range.cljs$core$IFn$_invoke$arity$1((2))));\n});\ndevtools.munging.scan_slow_path_protocols \x3d (function devtools$munging$scan_slow_path_protocols(obj){\nvar keys \x3d devtools.munging.goog$module$goog$object.getKeys(obj);\nvar selectors \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.munging.get_protocol_selector,keys);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.munging.demunge_protocol_selector,selectors);\n});\ndevtools.munging.make_protocol_descriptor \x3d (function devtools$munging$make_protocol_descriptor(ns,name,selector,fast_QMARK_){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866),selector,new cljs.core.Keyword(null,\x22fast?\x22,\x22fast?\x22,-1813307150),fast_QMARK_], null);\n});\ndevtools.munging.convert_to_protocol_descriptor \x3d (function devtools$munging$convert_to_protocol_descriptor(fast_QMARK_,p__29798){\nvar vec__29799 \x3d p__29798;\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29799,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29799,(1),null);\nvar selector \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29799,(2),null);\nreturn devtools.munging.make_protocol_descriptor(ns,name,selector,fast_QMARK_);\n});\ndevtools.munging.protocol_descriptors_comparator \x3d (function devtools$munging$protocol_descriptors_comparator(a,b){\nreturn cljs.core.compare(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(a),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(b));\n});\ndevtools.munging.scan_protocols \x3d (function devtools$munging$scan_protocols(obj){\nvar fast_path_protocols \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.convert_to_protocol_descriptor,true),devtools.munging.scan_fast_path_protocols(obj));\nvar slow_path_protocols \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.munging.convert_to_protocol_descriptor,false),devtools.munging.scan_slow_path_protocols(obj));\nvar all_protocols \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fast_path_protocols,slow_path_protocols);\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(devtools.munging.protocol_descriptors_comparator,all_protocols);\n});\ndevtools.munging.collect_protocol_methods \x3d (function devtools$munging$collect_protocol_methods(obj,protocol_selector){\nvar key_prefix \x3d clojure.string.replace(protocol_selector,/\\./,\x22\\\\$\x22);\nvar pattern \x3d cljs.core.re_pattern([\x22^\x22,key_prefix,\x22\\\\$(.*)\\\\$arity\\\\$(\\\\d+)$\x22].join(\x27\x27));\nvar all_keys \x3d devtools.munging.goog$module$goog$object.getKeys(obj);\nvar matches \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.re_matches,pattern),all_keys);\nvar methods$ \x3d cljs.core.group_by(cljs.core.second,matches);\nvar match_to_arity \x3d (function (match){\nvar arity \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(match,(2));\nreturn parseInt(arity,(10));\n});\nvar match_arity_comparator \x3d (function (a,b){\nreturn cljs.core.compare(match_to_arity(a),match_to_arity(b));\n});\nvar post_process \x3d (function (p__29805){\nvar vec__29806 \x3d p__29805;\nvar munged_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29806,(0),null);\nvar matches__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29806,(1),null);\nvar name \x3d devtools.munging.proper_demunge(munged_name);\nvar sorted_matches \x3d cljs.core.sort.cljs$core$IFn$_invoke$arity$2(match_arity_comparator,matches__$1);\nvar sorted_fns \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__29804_SHARP_){\nreturn (obj[cljs.core.first(p1__29804_SHARP_)]);\n}),sorted_matches);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [name,sorted_fns], null);\n});\nvar by_name_comparator \x3d (function (a,b){\nreturn cljs.core.compare(cljs.core.first(a),cljs.core.first(b));\n});\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$2(by_name_comparator,cljs.core.map.cljs$core$IFn$_invoke$arity$2(post_process,methods$));\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.helpers.js", true, "goog.provide(\x27devtools.formatters.helpers\x27);\ndevtools.formatters.helpers.pref \x3d (function devtools$formatters$helpers$pref(v){\nwhile(true){\nif((v instanceof cljs.core.Keyword)){\nvar G__29888 \x3d devtools.prefs.pref(v);\nv \x3d G__29888;\ncontinue;\n} else {\nreturn v;\n}\nbreak;\n}\n});\ndevtools.formatters.helpers.get_prototype \x3d (function devtools$formatters$helpers$get_prototype(o){\nreturn o.prototype;\n});\ndevtools.formatters.helpers.get_constructor \x3d (function devtools$formatters$helpers$get_constructor(o){\nreturn o.constructor;\n});\ndevtools.formatters.helpers.is_prototype_QMARK_ \x3d (function devtools$formatters$helpers$is_prototype_QMARK_(o){\nreturn (devtools.formatters.helpers.get_prototype(devtools.formatters.helpers.get_constructor(o)) \x3d\x3d\x3d o);\n});\ndevtools.formatters.helpers.is_js_symbol_QMARK_ \x3d (function devtools$formatters$helpers$is_js_symbol_QMARK_(o){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(goog.typeOf(o),\x22symbol\x22);\n});\ndevtools.formatters.helpers.cljs_function_QMARK_ \x3d (function devtools$formatters$helpers$cljs_function_QMARK_(value){\nvar and__5023__auto__ \x3d cljs.core.not(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22disable-cljs-fn-formatting\x22,\x22disable-cljs-fn-formatting\x22,1903786837)));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (!(cljs.core.var_QMARK_(value)));\nif(and__5023__auto____$1){\nreturn devtools.munging.cljs_fn_QMARK_(value);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.has_formatting_protocol_QMARK_ \x3d (function devtools$formatters$helpers$has_formatting_protocol_QMARK_(value){\nvar or__5025__auto__ \x3d (function (){try{if((!((value \x3d\x3d null)))){\nif((((value.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$IPrintWithWriter$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,value);\n}\n}catch (e29816){var _e__29095__auto__ \x3d e29816;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e29819){var _e__29095__auto__ \x3d e29819;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\ntry{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e29825){var _e__29095__auto__ \x3d e29825;\nreturn false;\n}}\n}\n});\ndevtools.formatters.helpers.cljs_type_QMARK_ \x3d (function devtools$formatters$helpers$cljs_type_QMARK_(f){\nvar and__5023__auto__ \x3d goog.isObject(f);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d (!(devtools.formatters.helpers.is_prototype_QMARK_(f)));\nif(and__5023__auto____$1){\nreturn f.cljs$lang$type;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.cljs_instance_QMARK_ \x3d (function devtools$formatters$helpers$cljs_instance_QMARK_(value){\nvar and__5023__auto__ \x3d goog.isObject(value);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.helpers.cljs_type_QMARK_(devtools.formatters.helpers.get_constructor(value));\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.cljs_land_value_QMARK_ \x3d (function devtools$formatters$helpers$cljs_land_value_QMARK_(value){\nvar or__5025__auto__ \x3d devtools.formatters.helpers.cljs_instance_QMARK_(value);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.has_formatting_protocol_QMARK_(value);\n}\n});\ndevtools.formatters.helpers.cljs_value_QMARK_ \x3d (function devtools$formatters$helpers$cljs_value_QMARK_(value){\nvar and__5023__auto__ \x3d (function (){var or__5025__auto__ \x3d devtools.formatters.helpers.cljs_land_value_QMARK_(value);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.cljs_function_QMARK_(value);\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((!(devtools.formatters.helpers.is_prototype_QMARK_(value)))) \x26\x26 ((!(devtools.formatters.helpers.is_js_symbol_QMARK_(value)))));\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.bool_QMARK_ \x3d (function devtools$formatters$helpers$bool_QMARK_(value){\nreturn ((value \x3d\x3d\x3d true) || (value \x3d\x3d\x3d false));\n});\ndevtools.formatters.helpers.instance_of_a_well_known_type_QMARK_ \x3d (function devtools$formatters$helpers$instance_of_a_well_known_type_QMARK_(value){\nvar well_known_types \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22well-known-types\x22,\x22well-known-types\x22,70638649));\nvar constructor_fn \x3d devtools.formatters.helpers.get_constructor(value);\nvar vec__29857 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29857,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29857,(1),null);\nvar fully_qualified_type_name \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(\x27\x27);\nreturn cljs.core.contains_QMARK_(well_known_types,fully_qualified_type_name);\n});\ndevtools.formatters.helpers.should_render_instance_QMARK_ \x3d (function devtools$formatters$helpers$should_render_instance_QMARK_(value){\nvar and__5023__auto__ \x3d devtools.formatters.helpers.cljs_instance_QMARK_(value);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(devtools.formatters.helpers.instance_of_a_well_known_type_QMARK_(value)));\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.helpers.directly_printable_QMARK_ \x3d (function devtools$formatters$helpers$directly_printable_QMARK_(value){\nreturn ((typeof value \x3d\x3d\x3d \x27string\x27) || (((typeof value \x3d\x3d\x3d \x27number\x27) || (devtools.formatters.helpers.bool_QMARK_(value)))));\n});\ndevtools.formatters.helpers.abbreviated_QMARK_ \x3d (function devtools$formatters$helpers$abbreviated_QMARK_(template){\nreturn cljs.core.some((function (p1__29866_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935)),p1__29866_SHARP_);\n}),template);\n});\ndevtools.formatters.helpers.abbreviate_long_string \x3d (function devtools$formatters$helpers$abbreviate_long_string(string,marker,prefix_limit,postfix_limit){\nvar prefix \x3d string.slice((0),prefix_limit);\nvar postfix \x3d string.slice((string.length - postfix_limit));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),cljs.core.str.cljs$core$IFn$_invoke$arity$1(marker),cljs.core.str.cljs$core$IFn$_invoke$arity$1(postfix)].join(\x27\x27);\n});\ndevtools.formatters.helpers.get_more_marker \x3d (function devtools$formatters$helpers$get_more_marker(more_count){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22plus-symbol\x22,\x22plus-symbol\x22,-1984915189))),cljs.core.str.cljs$core$IFn$_invoke$arity$1(more_count),cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242)))].join(\x27\x27);\n});\ndevtools.formatters.helpers.wrap_arity \x3d (function devtools$formatters$helpers$wrap_arity(arity){\nvar args_open_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22args-open-symbol\x22,\x22args-open-symbol\x22,-1336957557));\nvar args_close_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22args-close-symbol\x22,\x22args-close-symbol\x22,777697973));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(args_open_symbol),cljs.core.str.cljs$core$IFn$_invoke$arity$1(arity),cljs.core.str.cljs$core$IFn$_invoke$arity$1(args_close_symbol)].join(\x27\x27);\n});\ndevtools.formatters.helpers.fetch_field_value \x3d (function devtools$formatters$helpers$fetch_field_value(obj,field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(obj[cljs.core.munge(field)])], null);\n});\ndevtools.formatters.helpers.fetch_fields_values \x3d (function devtools$formatters$helpers$fetch_fields_values(obj,fields){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.fetch_field_value,obj),fields);\n});\ndevtools.formatters.helpers.expandable_QMARK_ \x3d (function devtools$formatters$helpers$expandable_QMARK_(obj){\nif((((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$ISeqable$))))?true:(((!obj.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,obj):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,obj))){\nvar temp__5821__auto__ \x3d devtools.formatters.helpers.pref(((devtools.formatters.helpers.instance_of_a_well_known_type_QMARK_(obj))?new cljs.core.Keyword(null,\x22min-expandable-sequable-count-for-well-known-types\x22,\x22min-expandable-sequable-count-for-well-known-types\x22,-1879576081):new cljs.core.Keyword(null,\x22min-expandable-sequable-count\x22,\x22min-expandable-sequable-count\x22,63566227)));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar min_count \x3d temp__5821__auto__;\nif((!(cljs.core.empty_QMARK_(obj)))){\nvar actual_count \x3d cljs.core.bounded_count(min_count,obj);\nreturn (actual_count \x3e\x3d min_count);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.helpers.should_render_QMARK_ \x3d (function devtools$formatters$helpers$should_render_QMARK_(pref_key,value,default_check){\nvar temp__5821__auto__ \x3d devtools.formatters.helpers.pref(pref_key);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar render_pref \x3d temp__5821__auto__;\nif(render_pref \x3d\x3d\x3d true){\nreturn (default_check.cljs$core$IFn$_invoke$arity$1 ? default_check.cljs$core$IFn$_invoke$arity$1(value) : default_check.call(null,value));\n} else {\nif(cljs.core.fn_QMARK_(render_pref)){\nreturn (render_pref.cljs$core$IFn$_invoke$arity$1 ? render_pref.cljs$core$IFn$_invoke$arity$1(value) : render_pref.call(null,value));\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.state.js", true, "goog.provide(\x27devtools.formatters.state\x27);\ndevtools.formatters.state._STAR_current_state_STAR_ \x3d null;\ndevtools.formatters.state.valid_current_state_QMARK_ \x3d (function devtools$formatters$state$valid_current_state_QMARK_(){\nreturn (!((devtools.formatters.state._STAR_current_state_STAR_ \x3d\x3d null)));\n});\ndevtools.formatters.state.get_default_state \x3d (function devtools$formatters$state$get_default_state(){\nreturn cljs.core.PersistentArrayMap.EMPTY;\n});\ndevtools.formatters.state.get_current_state \x3d (function devtools$formatters$state$get_current_state(){\nif(devtools.formatters.state.valid_current_state_QMARK_()){\n} else {\nthrow (new Error(\x22Assert failed: (valid-current-state?)\x22));\n}\n\nreturn devtools.formatters.state._STAR_current_state_STAR_;\n});\ndevtools.formatters.state.update_current_state_BANG_ \x3d (function devtools$formatters$state$update_current_state_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29722 \x3d arguments.length;\nvar i__5750__auto___29723 \x3d (0);\nwhile(true){\nif((i__5750__auto___29723 \x3c len__5749__auto___29722)){\nargs__5755__auto__.push((arguments[i__5750__auto___29723]));\n\nvar G__29725 \x3d (i__5750__auto___29723 + (1));\ni__5750__auto___29723 \x3d G__29725;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nif(devtools.formatters.state.valid_current_state_QMARK_()){\n} else {\nthrow (new Error(\x22Assert failed: (valid-current-state?)\x22));\n}\n\nreturn (devtools.formatters.state._STAR_current_state_STAR_ \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,devtools.formatters.state._STAR_current_state_STAR_,args));\n}));\n\n(devtools.formatters.state.update_current_state_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.state.update_current_state_BANG_.cljs$lang$applyTo \x3d (function (seq29569){\nvar G__29570 \x3d cljs.core.first(seq29569);\nvar seq29569__$1 \x3d cljs.core.next(seq29569);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29570,seq29569__$1);\n}));\n\ndevtools.formatters.state.push_object_to_current_history_BANG_ \x3d (function devtools$formatters$state$push_object_to_current_history_BANG_(object){\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.conj,object], 0));\n});\ndevtools.formatters.state.get_current_history \x3d (function devtools$formatters$state$get_current_history(){\nreturn new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.is_circular_QMARK_ \x3d (function devtools$formatters$state$is_circular_QMARK_(object){\nvar history__$1 \x3d devtools.formatters.state.get_current_history();\nreturn cljs.core.some((function (p1__29596_SHARP_){\nreturn (p1__29596_SHARP_ \x3d\x3d\x3d object);\n}),history__$1);\n});\ndevtools.formatters.state.get_last_object_from_current_history \x3d (function devtools$formatters$state$get_last_object_from_current_history(){\nreturn cljs.core.first(devtools.formatters.state.get_current_history());\n});\ndevtools.formatters.state.get_second_last_object_from_current_history \x3d (function devtools$formatters$state$get_second_last_object_from_current_history(){\nreturn cljs.core.second(devtools.formatters.state.get_current_history());\n});\ndevtools.formatters.state.present_path_segment \x3d (function devtools$formatters$state$present_path_segment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29731 \x3d arguments.length;\nvar i__5750__auto___29732 \x3d (0);\nwhile(true){\nif((i__5750__auto___29732 \x3c len__5749__auto___29731)){\nargs__5755__auto__.push((arguments[i__5750__auto___29732]));\n\nvar G__29735 \x3d (i__5750__auto___29732 + (1));\ni__5750__auto___29732 \x3d G__29735;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.state.present_path_segment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.state.present_path_segment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,p__29630){\nvar vec__29631 \x3d p__29630;\nvar starting_index \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29631,(0),null);\nif(typeof v \x3d\x3d\x3d \x27string\x27){\nreturn v;\n} else {\nif((v instanceof cljs.core.Keyword)){\nreturn v;\n} else {\nif(((typeof v \x3d\x3d\x3d \x27number\x27) \x26\x26 (typeof starting_index \x3d\x3d\x3d \x27number\x27))){\nreturn (v + starting_index);\n} else {\nif(typeof v \x3d\x3d\x3d \x27number\x27){\nreturn v;\n} else {\nreturn \x22?\x22;\n\n}\n}\n}\n}\n}));\n\n(devtools.formatters.state.present_path_segment.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.state.present_path_segment.cljs$lang$applyTo \x3d (function (seq29612){\nvar G__29613 \x3d cljs.core.first(seq29612);\nvar seq29612__$1 \x3d cljs.core.next(seq29612);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29613,seq29612__$1);\n}));\n\ndevtools.formatters.state.seek_path_segment \x3d (function devtools$formatters$state$seek_path_segment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29740 \x3d arguments.length;\nvar i__5750__auto___29741 \x3d (0);\nwhile(true){\nif((i__5750__auto___29741 \x3c len__5749__auto___29740)){\nargs__5755__auto__.push((arguments[i__5750__auto___29741]));\n\nvar G__29742 \x3d (i__5750__auto___29741 + (1));\ni__5750__auto___29741 \x3d G__29742;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.state.seek_path_segment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.state.seek_path_segment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (coll,val,p__29664){\nvar vec__29665 \x3d p__29664;\nvar seq_SINGLEQUOTE_d_map_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29665,(0),null);\nvar starting_index \x3d new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(devtools.formatters.state.get_last_object_from_current_history()));\nvar _STAR_ \x3d (function (p__29675){\nvar vec__29677 \x3d p__29675;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29677,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__29677,(1),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d seq_SINGLEQUOTE_d_map_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (k \x3d\x3d\x3d val);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn devtools.formatters.state.present_path_segment(k);\n} else {\nif((v \x3d\x3d\x3d val)){\nreturn devtools.formatters.state.present_path_segment.cljs$core$IFn$_invoke$arity$variadic(k,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([starting_index], 0));\n} else {\nreturn null;\n}\n}\n});\nreturn cljs.core.some(_STAR_,coll);\n}));\n\n(devtools.formatters.state.seek_path_segment.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.state.seek_path_segment.cljs$lang$applyTo \x3d (function (seq29650){\nvar G__29651 \x3d cljs.core.first(seq29650);\nvar seq29650__$1 \x3d cljs.core.next(seq29650);\nvar G__29652 \x3d cljs.core.first(seq29650__$1);\nvar seq29650__$2 \x3d cljs.core.next(seq29650__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29651,G__29652,seq29650__$2);\n}));\n\ndevtools.formatters.state.build_path_segment \x3d (function devtools$formatters$state$build_path_segment(parent_object,object){\nif(cljs.core.map_QMARK_(parent_object)){\nreturn devtools.formatters.state.seek_path_segment.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(parent_object),object,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0));\n} else {\nif(cljs.core.sequential_QMARK_(parent_object)){\nreturn devtools.formatters.state.seek_path_segment(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (i,x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [i,x], null);\n}),parent_object),object);\n} else {\nif(((cljs.core.set_QMARK_(parent_object)) \x26\x26 (((cljs.core.contains_QMARK_(parent_object,object)) \x26\x26 (((typeof object \x3d\x3d\x3d \x27string\x27) || ((((object instanceof cljs.core.Keyword)) || (cljs.core.integer_QMARK_(object)))))))))){\nreturn object;\n} else {\nif(((cljs.core.set_QMARK_(parent_object)) \x26\x26 (cljs.core.contains_QMARK_(parent_object,object)))){\nreturn devtools.formatters.state.seek_path_segment(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((function (i,x){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [i,x], null);\n}),parent_object),object);\n} else {\nreturn null;\n}\n}\n}\n}\n});\ndevtools.formatters.state.mapping_QMARK_ \x3d (function devtools$formatters$state$mapping_QMARK_(history,obj){\nvar first_kw \x3d ((((cljs.core.vector_QMARK_(obj)) \x26\x26 (cljs.core.map_QMARK_(history))))?cljs.core.nth.cljs$core$IFn$_invoke$arity$3(obj,(0),null):null);\nvar valid_kw_QMARK_ \x3d (function (){var and__5023__auto__ \x3d first_kw;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((((first_kw instanceof cljs.core.Keyword)) || (((typeof first_kw \x3d\x3d\x3d \x27string\x27) || (typeof first_kw \x3d\x3d\x3d \x27number\x27))))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(2))));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(valid_kw_QMARK_)){\nreturn cljs.core.contains_QMARK_(history,first_kw);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.ignore_path_in_fake_vector \x3d (function devtools$formatters$state$ignore_path_in_fake_vector(history,obj,path){\nif(cljs.core.truth_(devtools.formatters.state.mapping_QMARK_(history,obj))){\nvar or__5025__auto__ \x3d path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.find_path_in_fake_vector \x3d (function devtools$formatters$state$find_path_in_fake_vector(history,path){\nvar second_last_history \x3d devtools.formatters.state.get_second_last_object_from_current_history();\nif(cljs.core.truth_(devtools.formatters.state.mapping_QMARK_(second_last_history,history))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.nth.cljs$core$IFn$_invoke$arity$3(history,(0),null));\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.find_path \x3d (function devtools$formatters$state$find_path(history,obj,path){\nvar path_segment \x3d devtools.formatters.state.build_path_segment(history,obj);\nif((!((path_segment \x3d\x3d null)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),path_segment);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.state.extend_path_info \x3d (function devtools$formatters$state$extend_path_info(path_info,object){\nvar parent_object \x3d devtools.formatters.state.get_last_object_from_current_history();\nvar or__5025__auto__ \x3d devtools.formatters.state.ignore_path_in_fake_vector(parent_object,object,path_info);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d devtools.formatters.state.find_path_in_fake_vector(parent_object,path_info);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d devtools.formatters.state.find_path(parent_object,object,path_info);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn path_info;\n}\n}\n}\n});\ndevtools.formatters.state.add_object_to_current_path_info_BANG_ \x3d (function devtools$formatters$state$add_object_to_current_path_info_BANG_(object){\nreturn devtools.formatters.state.update_current_state_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22path-info\x22,\x22path-info\x22,-1932254250),devtools.formatters.state.extend_path_info,object], 0));\n});\ndevtools.formatters.state.get_current_path_info \x3d (function devtools$formatters$state$get_current_path_info(){\nreturn new cljs.core.Keyword(null,\x22path-info\x22,\x22path-info\x22,-1932254250).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.prevent_recursion_QMARK_ \x3d (function devtools$formatters$state$prevent_recursion_QMARK_(){\nreturn cljs.core.boolean$(new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state()));\n});\ndevtools.formatters.state.set_prevent_recursion \x3d (function devtools$formatters$state$set_prevent_recursion(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22prevent-recursion\x22,\x22prevent-recursion\x22,-1498371606));\n}\n});\ndevtools.formatters.state.get_managed_print_level \x3d (function devtools$formatters$state$get_managed_print_level(){\nreturn new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.set_managed_print_level \x3d (function devtools$formatters$state$set_managed_print_level(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22managed-print-level\x22,\x22managed-print-level\x22,-844058473));\n}\n});\ndevtools.formatters.state.get_depth_budget \x3d (function devtools$formatters$state$get_depth_budget(){\nreturn new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888).cljs$core$IFn$_invoke$arity$1(devtools.formatters.state.get_current_state());\n});\ndevtools.formatters.state.set_depth_budget \x3d (function devtools$formatters$state$set_depth_budget(state,val){\nif((!((val \x3d\x3d null)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888),val);\n} else {\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.Keyword(null,\x22depth-budget\x22,\x22depth-budget\x22,-335905888));\n}\n});\ndevtools.formatters.state.reset_depth_limits \x3d (function devtools$formatters$state$reset_depth_limits(state){\nreturn devtools.formatters.state.set_managed_print_level(devtools.formatters.state.set_depth_budget(state,null),null);\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.templating.js", true, "goog.provide(\x27devtools.formatters.templating\x27);\ndevtools.formatters.templating.mark_as_group_BANG_ \x3d (function devtools$formatters$templating$mark_as_group_BANG_(value){\nvar x31502_31907 \x3d value;\n(x31502_31907.devtools$protocols$IGroup$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.group_QMARK_ \x3d (function devtools$formatters$templating$group_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IGroup$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IGroup,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IGroup,value);\n}\n});\ndevtools.formatters.templating.mark_as_template_BANG_ \x3d (function devtools$formatters$templating$mark_as_template_BANG_(value){\nvar x31521_31910 \x3d value;\n(x31521_31910.devtools$protocols$ITemplate$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.template_QMARK_ \x3d (function devtools$formatters$templating$template_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$ITemplate$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ITemplate,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ITemplate,value);\n}\n});\ndevtools.formatters.templating.mark_as_surrogate_BANG_ \x3d (function devtools$formatters$templating$mark_as_surrogate_BANG_(value){\nvar x31551_31919 \x3d value;\n(x31551_31919.devtools$protocols$ISurrogate$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n\nreturn value;\n});\ndevtools.formatters.templating.surrogate_QMARK_ \x3d (function devtools$formatters$templating$surrogate_QMARK_(value){\nif((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$ISurrogate$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ISurrogate,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.ISurrogate,value);\n}\n});\ndevtools.formatters.templating.reference_QMARK_ \x3d (function devtools$formatters$templating$reference_QMARK_(value){\nreturn ((devtools.formatters.templating.group_QMARK_(value)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((value[(0)]),\x22object\x22)));\n});\ndevtools.formatters.templating.make_group \x3d (function devtools$formatters$templating$make_group(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___31924 \x3d arguments.length;\nvar i__5750__auto___31925 \x3d (0);\nwhile(true){\nif((i__5750__auto___31925 \x3c len__5749__auto___31924)){\nargs__5755__auto__.push((arguments[i__5750__auto___31925]));\n\nvar G__31926 \x3d (i__5750__auto___31925 + (1));\ni__5750__auto___31925 \x3d G__31926;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic \x3d (function (items){\nvar group \x3d devtools.formatters.templating.mark_as_group_BANG_([]);\nvar seq__31583_31927 \x3d cljs.core.seq(items);\nvar chunk__31584_31928 \x3d null;\nvar count__31585_31929 \x3d (0);\nvar i__31586_31930 \x3d (0);\nwhile(true){\nif((i__31586_31930 \x3c count__31585_31929)){\nvar item_31986 \x3d chunk__31584_31928.cljs$core$IIndexed$_nth$arity$2(null,i__31586_31930);\nif((!((item_31986 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(item_31986)){\n(group[\x22push\x22]).apply(group,devtools.formatters.templating.mark_as_group_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(item_31986)));\n} else {\ngroup.push(devtools.formatters.helpers.pref(item_31986));\n}\n} else {\n}\n\n\nvar G__31987 \x3d seq__31583_31927;\nvar G__31988 \x3d chunk__31584_31928;\nvar G__31989 \x3d count__31585_31929;\nvar G__31990 \x3d (i__31586_31930 + (1));\nseq__31583_31927 \x3d G__31987;\nchunk__31584_31928 \x3d G__31988;\ncount__31585_31929 \x3d G__31989;\ni__31586_31930 \x3d G__31990;\ncontinue;\n} else {\nvar temp__5823__auto___31991 \x3d cljs.core.seq(seq__31583_31927);\nif(temp__5823__auto___31991){\nvar seq__31583_31992__$1 \x3d temp__5823__auto___31991;\nif(cljs.core.chunked_seq_QMARK_(seq__31583_31992__$1)){\nvar c__5548__auto___31993 \x3d cljs.core.chunk_first(seq__31583_31992__$1);\nvar G__31994 \x3d cljs.core.chunk_rest(seq__31583_31992__$1);\nvar G__31995 \x3d c__5548__auto___31993;\nvar G__31996 \x3d cljs.core.count(c__5548__auto___31993);\nvar G__31997 \x3d (0);\nseq__31583_31927 \x3d G__31994;\nchunk__31584_31928 \x3d G__31995;\ncount__31585_31929 \x3d G__31996;\ni__31586_31930 \x3d G__31997;\ncontinue;\n} else {\nvar item_31998 \x3d cljs.core.first(seq__31583_31992__$1);\nif((!((item_31998 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(item_31998)){\n(group[\x22push\x22]).apply(group,devtools.formatters.templating.mark_as_group_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(item_31998)));\n} else {\ngroup.push(devtools.formatters.helpers.pref(item_31998));\n}\n} else {\n}\n\n\nvar G__31999 \x3d cljs.core.next(seq__31583_31992__$1);\nvar G__32000 \x3d null;\nvar G__32001 \x3d (0);\nvar G__32002 \x3d (0);\nseq__31583_31927 \x3d G__31999;\nchunk__31584_31928 \x3d G__32000;\ncount__31585_31929 \x3d G__32001;\ni__31586_31930 \x3d G__32002;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn group;\n}));\n\n(devtools.formatters.templating.make_group.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_group.cljs$lang$applyTo \x3d (function (seq31580){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq31580));\n}));\n\ndevtools.formatters.templating.make_template \x3d (function devtools$formatters$templating$make_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32008 \x3d arguments.length;\nvar i__5750__auto___32009 \x3d (0);\nwhile(true){\nif((i__5750__auto___32009 \x3c len__5749__auto___32008)){\nargs__5755__auto__.push((arguments[i__5750__auto___32009]));\n\nvar G__32010 \x3d (i__5750__auto___32009 + (1));\ni__5750__auto___32009 \x3d G__32010;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (tag,style,children){\nvar tag__$1 \x3d devtools.formatters.helpers.pref(tag);\nvar style__$1 \x3d devtools.formatters.helpers.pref(style);\nvar template \x3d devtools.formatters.templating.mark_as_template_BANG_([tag__$1,((cljs.core.empty_QMARK_(style__$1))?({}):({\x22style\x22: style__$1}))]);\nvar seq__31633_32011 \x3d cljs.core.seq(children);\nvar chunk__31634_32012 \x3d null;\nvar count__31635_32013 \x3d (0);\nvar i__31636_32014 \x3d (0);\nwhile(true){\nif((i__31636_32014 \x3c count__31635_32013)){\nvar child_32015 \x3d chunk__31634_32012.cljs$core$IIndexed$_nth$arity$2(null,i__31636_32014);\nif((!((child_32015 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(child_32015)){\n(template[\x22push\x22]).apply(template,devtools.formatters.templating.mark_as_template_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,child_32015))));\n} else {\nvar temp__5821__auto___32016 \x3d devtools.formatters.helpers.pref(child_32015);\nif(cljs.core.truth_(temp__5821__auto___32016)){\nvar child_value_32017 \x3d temp__5821__auto___32016;\ntemplate.push(child_value_32017);\n} else {\n}\n}\n} else {\n}\n\n\nvar G__32019 \x3d seq__31633_32011;\nvar G__32020 \x3d chunk__31634_32012;\nvar G__32021 \x3d count__31635_32013;\nvar G__32022 \x3d (i__31636_32014 + (1));\nseq__31633_32011 \x3d G__32019;\nchunk__31634_32012 \x3d G__32020;\ncount__31635_32013 \x3d G__32021;\ni__31636_32014 \x3d G__32022;\ncontinue;\n} else {\nvar temp__5823__auto___32023 \x3d cljs.core.seq(seq__31633_32011);\nif(temp__5823__auto___32023){\nvar seq__31633_32024__$1 \x3d temp__5823__auto___32023;\nif(cljs.core.chunked_seq_QMARK_(seq__31633_32024__$1)){\nvar c__5548__auto___32025 \x3d cljs.core.chunk_first(seq__31633_32024__$1);\nvar G__32026 \x3d cljs.core.chunk_rest(seq__31633_32024__$1);\nvar G__32027 \x3d c__5548__auto___32025;\nvar G__32028 \x3d cljs.core.count(c__5548__auto___32025);\nvar G__32029 \x3d (0);\nseq__31633_32011 \x3d G__32026;\nchunk__31634_32012 \x3d G__32027;\ncount__31635_32013 \x3d G__32028;\ni__31636_32014 \x3d G__32029;\ncontinue;\n} else {\nvar child_32030 \x3d cljs.core.first(seq__31633_32024__$1);\nif((!((child_32030 \x3d\x3d null)))){\nif(cljs.core.coll_QMARK_(child_32030)){\n(template[\x22push\x22]).apply(template,devtools.formatters.templating.mark_as_template_BANG_(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,child_32030))));\n} else {\nvar temp__5821__auto___32031 \x3d devtools.formatters.helpers.pref(child_32030);\nif(cljs.core.truth_(temp__5821__auto___32031)){\nvar child_value_32032 \x3d temp__5821__auto___32031;\ntemplate.push(child_value_32032);\n} else {\n}\n}\n} else {\n}\n\n\nvar G__32033 \x3d cljs.core.next(seq__31633_32024__$1);\nvar G__32034 \x3d null;\nvar G__32035 \x3d (0);\nvar G__32036 \x3d (0);\nseq__31633_32011 \x3d G__32033;\nchunk__31634_32012 \x3d G__32034;\ncount__31635_32013 \x3d G__32035;\ni__31636_32014 \x3d G__32036;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn template;\n}));\n\n(devtools.formatters.templating.make_template.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_template.cljs$lang$applyTo \x3d (function (seq31623){\nvar G__31624 \x3d cljs.core.first(seq31623);\nvar seq31623__$1 \x3d cljs.core.next(seq31623);\nvar G__31625 \x3d cljs.core.first(seq31623__$1);\nvar seq31623__$2 \x3d cljs.core.next(seq31623__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31624,G__31625,seq31623__$2);\n}));\n\ndevtools.formatters.templating.concat_templates_BANG_ \x3d (function devtools$formatters$templating$concat_templates_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32037 \x3d arguments.length;\nvar i__5750__auto___32038 \x3d (0);\nwhile(true){\nif((i__5750__auto___32038 \x3c len__5749__auto___32037)){\nargs__5755__auto__.push((arguments[i__5750__auto___32038]));\n\nvar G__32039 \x3d (i__5750__auto___32038 + (1));\ni__5750__auto___32038 \x3d G__32039;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (template,templates){\nreturn devtools.formatters.templating.mark_as_template_BANG_((template[\x22concat\x22]).apply(template,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.into_array,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,templates)))));\n}));\n\n(devtools.formatters.templating.concat_templates_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.concat_templates_BANG_.cljs$lang$applyTo \x3d (function (seq31662){\nvar G__31663 \x3d cljs.core.first(seq31662);\nvar seq31662__$1 \x3d cljs.core.next(seq31662);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31663,seq31662__$1);\n}));\n\ndevtools.formatters.templating.extend_template_BANG_ \x3d (function devtools$formatters$templating$extend_template_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32041 \x3d arguments.length;\nvar i__5750__auto___32042 \x3d (0);\nwhile(true){\nif((i__5750__auto___32042 \x3c len__5749__auto___32041)){\nargs__5755__auto__.push((arguments[i__5750__auto___32042]));\n\nvar G__32043 \x3d (i__5750__auto___32042 + (1));\ni__5750__auto___32042 \x3d G__32043;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.extend_template_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (template,args){\nreturn devtools.formatters.templating.concat_templates_BANG_.cljs$core$IFn$_invoke$arity$variadic(template,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n}));\n\n(devtools.formatters.templating.extend_template_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.extend_template_BANG_.cljs$lang$applyTo \x3d (function (seq31670){\nvar G__31671 \x3d cljs.core.first(seq31670);\nvar seq31670__$1 \x3d cljs.core.next(seq31670);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31671,seq31670__$1);\n}));\n\ndevtools.formatters.templating.make_surrogate \x3d (function devtools$formatters$templating$make_surrogate(var_args){\nvar G__31689 \x3d arguments.length;\nswitch (G__31689) {\ncase 1:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$1 \x3d (function (object){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2(object,null);\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$2 \x3d (function (object,header){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3(object,header,null);\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$3 \x3d (function (object,header,body){\nreturn devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4(object,header,body,(0));\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$core$IFn$_invoke$arity$4 \x3d (function (object,header,body,start_index){\nreturn devtools.formatters.templating.mark_as_surrogate_BANG_((function (){var obj31697 \x3d ({\x22target\x22:object,\x22header\x22:header,\x22body\x22:body,\x22startIndex\x22:(function (){var or__5025__auto__ \x3d start_index;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})()});\nreturn obj31697;\n})());\n}));\n\n(devtools.formatters.templating.make_surrogate.cljs$lang$maxFixedArity \x3d 4);\n\ndevtools.formatters.templating.get_surrogate_target \x3d (function devtools$formatters$templating$get_surrogate_target(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22target\x22]);\n});\ndevtools.formatters.templating.get_surrogate_header \x3d (function devtools$formatters$templating$get_surrogate_header(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22header\x22]);\n});\ndevtools.formatters.templating.get_surrogate_body \x3d (function devtools$formatters$templating$get_surrogate_body(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22body\x22]);\n});\ndevtools.formatters.templating.get_surrogate_start_index \x3d (function devtools$formatters$templating$get_surrogate_start_index(surrogate){\nif(devtools.formatters.templating.surrogate_QMARK_(surrogate)){\n} else {\nthrow (new Error(\x22Assert failed: (surrogate? surrogate)\x22));\n}\n\nreturn (surrogate[\x22startIndex\x22]);\n});\ndevtools.formatters.templating.make_reference \x3d (function devtools$formatters$templating$make_reference(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32050 \x3d arguments.length;\nvar i__5750__auto___32051 \x3d (0);\nwhile(true){\nif((i__5750__auto___32051 \x3c len__5749__auto___32050)){\nargs__5755__auto__.push((arguments[i__5750__auto___32051]));\n\nvar G__32052 \x3d (i__5750__auto___32051 + (1));\ni__5750__auto___32051 \x3d G__32052;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.templating.make_reference.cljs$core$IFn$_invoke$arity$variadic \x3d (function (object,p__31718){\nvar vec__31720 \x3d p__31718;\nvar state_override_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31720,(0),null);\nif((((state_override_fn \x3d\x3d null)) || (cljs.core.fn_QMARK_(state_override_fn)))){\n} else {\nthrow (new Error(\x22Assert failed: (or (nil? state-override-fn) (fn? state-override-fn))\x22));\n}\n\nif((object \x3d\x3d null)){\nreturn devtools.formatters.templating.make_template.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.Keyword(null,\x22nil-style\x22,\x22nil-style\x22,-1505044832),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203)], 0));\n} else {\nvar sub_state \x3d (((!((state_override_fn \x3d\x3d null))))?(function (){var G__31733 \x3d devtools.formatters.state.get_current_state();\nreturn (state_override_fn.cljs$core$IFn$_invoke$arity$1 ? state_override_fn.cljs$core$IFn$_invoke$arity$1(G__31733) : state_override_fn.call(null,G__31733));\n})():devtools.formatters.state.get_current_state());\nreturn devtools.formatters.templating.make_group.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22object\x22,({\x22object\x22: object, \x22config\x22: sub_state})], 0));\n}\n}));\n\n(devtools.formatters.templating.make_reference.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.templating.make_reference.cljs$lang$applyTo \x3d (function (seq31710){\nvar G__31711 \x3d cljs.core.first(seq31710);\nvar seq31710__$1 \x3d cljs.core.next(seq31710);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__31711,seq31710__$1);\n}));\n\ndevtools.formatters.templating.make_annotation \x3d (function devtools$formatters$templating$make_annotation(data,markups){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.templating.make_group,\x22annotation\x22,cljs.core.clj__GT_js(data),markups);\n});\ndevtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d cljs.core.PersistentVector.EMPTY;\ndevtools.formatters.templating._STAR_current_render_path_STAR_ \x3d cljs.core.PersistentVector.EMPTY;\ndevtools.formatters.templating.print_preview \x3d (function devtools$formatters$templating$print_preview(markup){\nvar _STAR_print_level_STAR__orig_val__31765 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__31766 \x3d (1);\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__31766);\n\ntry{return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([markup], 0));\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__31765);\n}});\ndevtools.formatters.templating.add_stack_separators \x3d (function devtools$formatters$templating$add_stack_separators(stack){\nreturn cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22-------------\x22,stack);\n});\ndevtools.formatters.templating.replace_fns_with_markers \x3d (function devtools$formatters$templating$replace_fns_with_markers(stack){\nvar f \x3d (function (v){\nif(cljs.core.fn_QMARK_(v)){\nreturn \x22##fn##\x22;\n} else {\nreturn v;\n}\n});\nreturn clojure.walk.prewalk(f,stack);\n});\ndevtools.formatters.templating.pprint_render_calls \x3d (function devtools$formatters$templating$pprint_render_calls(stack){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.util.pprint_str,stack);\n});\ndevtools.formatters.templating.pprint_render_stack \x3d (function devtools$formatters$templating$pprint_render_stack(stack){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,devtools.formatters.templating.add_stack_separators(devtools.formatters.templating.pprint_render_calls(devtools.formatters.templating.replace_fns_with_markers(cljs.core.reverse(stack)))));\n});\ndevtools.formatters.templating.pprint_render_path \x3d (function devtools$formatters$templating$pprint_render_path(path){\nreturn devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path], 0));\n});\ndevtools.formatters.templating.assert_markup_error \x3d (function devtools$formatters$templating$assert_markup_error(msg){\nthrow (new Error([\x22Assert failed: \x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg),\x22\\n\x22,\x22Render path: \x22,devtools.formatters.templating.pprint_render_path(devtools.formatters.templating._STAR_current_render_path_STAR_),\x22\\n\x22,\x22Render stack:\\n\x22,devtools.formatters.templating.pprint_render_stack(devtools.formatters.templating._STAR_current_render_stack_STAR_)].join(\x27\x27),\x22\\n\x22,\x22false\x22].join(\x27\x27)));\n\n});\ndevtools.formatters.templating.surrogate_markup_QMARK_ \x3d (function devtools$formatters$templating$surrogate_markup_QMARK_(markup){\nreturn ((cljs.core.sequential_QMARK_(markup)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(markup),\x22surrogate\x22)));\n});\ndevtools.formatters.templating.render_special \x3d (function devtools$formatters$templating$render_special(name,args){\nvar G__31836 \x3d name;\nswitch (G__31836) {\ncase \x22surrogate\x22:\nvar obj \x3d cljs.core.first(args);\nvar converted_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.rest(args));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.make_surrogate,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [obj], null),converted_args));\n\nbreak;\ncase \x22reference\x22:\nvar obj \x3d cljs.core.first(args);\nvar converted_obj \x3d ((devtools.formatters.templating.surrogate_markup_QMARK_(obj))?(devtools.formatters.templating.render_json_ml_STAR_.cljs$core$IFn$_invoke$arity$1 ? devtools.formatters.templating.render_json_ml_STAR_.cljs$core$IFn$_invoke$arity$1(obj) : devtools.formatters.templating.render_json_ml_STAR_.call(null,obj)):obj);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.make_reference,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [converted_obj], null),cljs.core.rest(args)));\n\nbreak;\ncase \x22annotation\x22:\nvar data \x3d cljs.core.first(args);\nvar converted_args \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.rest(args));\nreturn devtools.formatters.templating.make_annotation(data,converted_args);\n\nbreak;\ndefault:\nreturn devtools.formatters.templating.assert_markup_error([\x22no matching special tag name: \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22\x27\x22].join(\x27\x27));\n\n}\n});\ndevtools.formatters.templating.emptyish_QMARK_ \x3d (function devtools$formatters$templating$emptyish_QMARK_(v){\nif(((cljs.core.seqable_QMARK_(v)) || (((cljs.core.array_QMARK_(v)) || (typeof v \x3d\x3d\x3d \x27string\x27))))){\nreturn cljs.core.empty_QMARK_(v);\n} else {\nreturn false;\n}\n});\ndevtools.formatters.templating.render_subtree \x3d (function devtools$formatters$templating$render_subtree(tag,children){\nvar vec__31858 \x3d tag;\nvar html_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31858,(0),null);\nvar style \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31858,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.templating.make_template,html_tag,style,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.render_json_ml_STAR_,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating.emptyish_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.pref,children))));\n});\ndevtools.formatters.templating.render_json_ml_STAR_ \x3d (function devtools$formatters$templating$render_json_ml_STAR_(markup){\nif((!(cljs.core.sequential_QMARK_(markup)))){\nreturn markup;\n} else {\nvar _STAR_current_render_path_STAR__orig_val__31864 \x3d devtools.formatters.templating._STAR_current_render_path_STAR_;\nvar _STAR_current_render_path_STAR__temp_val__31866 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_path_STAR_,cljs.core.first(markup));\n(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__temp_val__31866);\n\ntry{var tag \x3d devtools.formatters.helpers.pref(cljs.core.first(markup));\nif(typeof tag \x3d\x3d\x3d \x27string\x27){\nreturn devtools.formatters.templating.render_special(tag,cljs.core.rest(markup));\n} else {\nif(cljs.core.sequential_QMARK_(tag)){\nreturn devtools.formatters.templating.render_subtree(tag,cljs.core.rest(markup));\n} else {\nreturn devtools.formatters.templating.assert_markup_error([\x22invalid json-ml markup at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.formatters.templating.print_preview(markup)),\x22:\x22].join(\x27\x27));\n\n}\n}\n}finally {(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__orig_val__31864);\n}}\n});\ndevtools.formatters.templating.render_json_ml \x3d (function devtools$formatters$templating$render_json_ml(markup){\nvar _STAR_current_render_stack_STAR__orig_val__31876 \x3d devtools.formatters.templating._STAR_current_render_stack_STAR_;\nvar _STAR_current_render_path_STAR__orig_val__31877 \x3d devtools.formatters.templating._STAR_current_render_path_STAR_;\nvar _STAR_current_render_stack_STAR__temp_val__31878 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_stack_STAR_,markup);\nvar _STAR_current_render_path_STAR__temp_val__31879 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(devtools.formatters.templating._STAR_current_render_path_STAR_,\x22\x3crender-json-ml\x3e\x22);\n(devtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d _STAR_current_render_stack_STAR__temp_val__31878);\n\n(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__temp_val__31879);\n\ntry{return devtools.formatters.templating.render_json_ml_STAR_(markup);\n}finally {(devtools.formatters.templating._STAR_current_render_path_STAR_ \x3d _STAR_current_render_path_STAR__orig_val__31877);\n\n(devtools.formatters.templating._STAR_current_render_stack_STAR_ \x3d _STAR_current_render_stack_STAR__orig_val__31876);\n}});\ndevtools.formatters.templating.assert_failed_markup_rendering \x3d (function devtools$formatters$templating$assert_failed_markup_rendering(initial_value,value){\nthrow (new Error([\x22Assert failed: \x22,[\x22result of markup rendering must be a template,\\n\x22,\x22resolved to \x22,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0)),\x22initial value: \x22,devtools.util.pprint_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([initial_value], 0))].join(\x27\x27),\x22\\n\x22,\x22false\x22].join(\x27\x27)));\n\n});\ndevtools.formatters.templating.render_markup_STAR_ \x3d (function devtools$formatters$templating$render_markup_STAR_(initial_value,value){\nwhile(true){\nif(cljs.core.fn_QMARK_(value)){\nvar G__32149 \x3d initial_value;\nvar G__32150 \x3d (value.cljs$core$IFn$_invoke$arity$0 ? value.cljs$core$IFn$_invoke$arity$0() : value.call(null));\ninitial_value \x3d G__32149;\nvalue \x3d G__32150;\ncontinue;\n} else {\nif((value instanceof cljs.core.Keyword)){\nvar G__32151 \x3d initial_value;\nvar G__32152 \x3d devtools.formatters.helpers.pref(value);\ninitial_value \x3d G__32151;\nvalue \x3d G__32152;\ncontinue;\n} else {\nif(cljs.core.sequential_QMARK_(value)){\nvar G__32153 \x3d initial_value;\nvar G__32154 \x3d devtools.formatters.templating.render_json_ml(value);\ninitial_value \x3d G__32153;\nvalue \x3d G__32154;\ncontinue;\n} else {\nif(devtools.formatters.templating.template_QMARK_(value)){\nreturn value;\n} else {\nif(devtools.formatters.templating.surrogate_QMARK_(value)){\nreturn value;\n} else {\nif(devtools.formatters.templating.reference_QMARK_(value)){\nreturn value;\n} else {\nreturn devtools.formatters.templating.assert_failed_markup_rendering.call(null,initial_value,value);\n\n}\n}\n}\n}\n}\n}\nbreak;\n}\n});\ndevtools.formatters.templating.render_markup \x3d (function devtools$formatters$templating$render_markup(value){\nreturn devtools.formatters.templating.render_markup_STAR_(value,value);\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.printing.js", true, "goog.provide(\x27devtools.formatters.printing\x27);\ndevtools.formatters.printing.markup_QMARK_ \x3d (function devtools$formatters$printing$markup_QMARK_(value){\nreturn new cljs.core.Keyword(\x22devtools.formatters.printing\x22,\x22markup\x22,\x22devtools.formatters.printing/markup\x22,-1990109186).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(value));\n});\ndevtools.formatters.printing.mark_as_markup \x3d (function devtools$formatters$printing$mark_as_markup(value){\nreturn cljs.core.with_meta(value,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22devtools.formatters.printing\x22,\x22markup\x22,\x22devtools.formatters.printing/markup\x22,-1990109186),true], null));\n});\ndevtools.formatters.printing.build_markup \x3d (function devtools$formatters$printing$build_markup(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___29946 \x3d arguments.length;\nvar i__5750__auto___29947 \x3d (0);\nwhile(true){\nif((i__5750__auto___29947 \x3c len__5749__auto___29946)){\nargs__5755__auto__.push((arguments[i__5750__auto___29947]));\n\nvar G__29948 \x3d (i__5750__auto___29947 + (1));\ni__5750__auto___29947 \x3d G__29948;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic \x3d (function (markup_db,fn_key,args){\nvar f \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(markup_db,fn_key);\nif(cljs.core.truth_(f)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22missing markup method in markup-db: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_key)].join(\x27\x27),\x22\\n\x22,\x22f\x22].join(\x27\x27)));\n}\n\nreturn devtools.formatters.printing.mark_as_markup(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args));\n}));\n\n(devtools.formatters.printing.build_markup.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.printing.build_markup.cljs$lang$applyTo \x3d (function (seq29901){\nvar G__29902 \x3d cljs.core.first(seq29901);\nvar seq29901__$1 \x3d cljs.core.next(seq29901);\nvar G__29903 \x3d cljs.core.first(seq29901__$1);\nvar seq29901__$2 \x3d cljs.core.next(seq29901__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__29902,G__29903,seq29901__$2);\n}));\n\ndevtools.formatters.printing.wrap_value_as_reference_if_needed \x3d (function devtools$formatters$printing$wrap_value_as_reference_if_needed(markup_db,value){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d devtools.formatters.helpers.directly_printable_QMARK_(value);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.printing.markup_QMARK_(value);\n}\n})())){\nreturn value;\n} else {\nreturn devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference-surrogate\x22,\x22reference-surrogate\x22,274031791),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0));\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\ndevtools.formatters.printing.TemplateWriter \x3d (function (group,markup_db){\nthis.group \x3d group;\nthis.markup_db \x3d markup_db;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(devtools.formatters.printing.TemplateWriter.prototype.merge \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.group \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(self__.group,a));\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.get_group \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn self__.group;\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,o){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.group \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(self__.group,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.printing.wrap_value_as_reference_if_needed(self__.markup_db,o)], null)));\n}));\n\n(devtools.formatters.printing.TemplateWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(devtools.formatters.printing.TemplateWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22group\x22,\x22group\x22,-2071839637,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22markup-db\x22,\x22markup-db\x22,-1841597035,null)], null);\n}));\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$type \x3d true);\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$ctorStr \x3d \x22devtools.formatters.printing/TemplateWriter\x22);\n\n(devtools.formatters.printing.TemplateWriter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.formatters.printing/TemplateWriter\x22);\n}));\n\n/**\n * Positional factory function for devtools.formatters.printing/TemplateWriter.\n */\ndevtools.formatters.printing.__GT_TemplateWriter \x3d (function devtools$formatters$printing$__GT_TemplateWriter(group,markup_db){\nreturn (new devtools.formatters.printing.TemplateWriter(group,markup_db));\n});\n\ndevtools.formatters.printing.make_template_writer \x3d (function devtools$formatters$printing$make_template_writer(markup_db){\nreturn (new devtools.formatters.printing.TemplateWriter(cljs.core.PersistentVector.EMPTY,markup_db));\n});\ndevtools.formatters.printing.already_reference_QMARK_ \x3d (function devtools$formatters$printing$already_reference_QMARK_(group){\nvar temp__5821__auto__ \x3d cljs.core.first(cljs.core.first(group));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar tag \x3d temp__5821__auto__;\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(tag,\x22reference\x22);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.printing.wrap_group_in_reference_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_reference_if_needed(group,obj,markup_db){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(devtools.formatters.printing.already_reference_QMARK_(group));\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d devtools.formatters.helpers.expandable_QMARK_(obj);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.abbreviated_QMARK_(group);\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar expandable_markup \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.printing.build_markup,markup_db,new cljs.core.Keyword(null,\x22expandable\x22,\x22expandable\x22,-704609097),group);\nvar surrogate_markup \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22raw-surrogate\x22,\x22raw-surrogate\x22,904931181),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj,expandable_markup,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721)], 0));\nvar reference_markup \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([surrogate_markup], 0));\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [reference_markup], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.wrap_group_in_circular_warning_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_circular_warning_if_needed(group,markup_db,circular_QMARK_){\nif(cljs.core.truth_(circular_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$4(devtools.formatters.printing.build_markup,markup_db,new cljs.core.Keyword(null,\x22circular-reference\x22,\x22circular-reference\x22,970308727),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.wrap_group_in_meta_if_needed \x3d (function devtools$formatters$printing$wrap_group_in_meta_if_needed(group,value,markup_db){\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-metas\x22,\x22render-metas\x22,1141294116),value,(function (p1__29912_SHARP_){\nreturn (!((cljs.core.meta(p1__29912_SHARP_) \x3d\x3d null)));\n})))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22meta-wrapper\x22,\x22meta-wrapper\x22,-1989845587).cljs$core$IFn$_invoke$arity$1(markup_db),cljs.core.meta(value)),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.detect_edge_case_and_patch_it \x3d (function devtools$formatters$printing$detect_edge_case_and_patch_it(group,obj,markup_db){\nif(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(5))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(4)),\x22\\\x22]\x22)))))) || (((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(5))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(4)),\x22]\x22)))))) || (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(3))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#object[\x22)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2)),\x22]\x22)))))))))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null);\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(group),(3))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),\x22#\x3c\x22)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(1)))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2)),\x22\x3e\x22)))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(0)),devtools.formatters.printing.build_markup(new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),obj),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(group,(2))], null);\n} else {\nreturn group;\n\n}\n}\n});\ndevtools.formatters.printing.wrap_group_with_path_annotation \x3d (function devtools$formatters$printing$wrap_group_with_path_annotation(group,path_info){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d devtools.prefs.pref(new cljs.core.Keyword(null,\x22render-path-annotations\x22,\x22render-path-annotations\x22,-1890931512));\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!((path_info \x3d\x3d null)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22annotation\x22,new cljs.core.PersistentArrayMap(null, 1, [\x22path\x22,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(path_info)], null)], null),group)], null);\n} else {\nreturn group;\n}\n});\ndevtools.formatters.printing.post_process_printed_output \x3d (function devtools$formatters$printing$post_process_printed_output(output_group,obj,markup_db,circular_QMARK_,path_info){\nreturn devtools.formatters.printing.wrap_group_with_path_annotation(devtools.formatters.printing.wrap_group_in_meta_if_needed(devtools.formatters.printing.wrap_group_in_circular_warning_if_needed(devtools.formatters.printing.wrap_group_in_reference_if_needed(devtools.formatters.printing.detect_edge_case_and_patch_it(output_group,obj,markup_db),obj,markup_db),markup_db,circular_QMARK_),obj,markup_db),path_info);\n});\ndevtools.formatters.printing.alt_printer_job \x3d (function devtools$formatters$printing$alt_printer_job(obj,writer,opts){\nvar map__29920 \x3d opts;\nvar map__29920__$1 \x3d cljs.core.__destructure_map(map__29920);\nvar markup_db \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29920__$1,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734));\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d (function (){try{if((!((obj \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,obj);\n}\n}catch (e29921){var _e__29095__auto__ \x3d e29921;\nreturn false;\n}})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\ntry{if((!((obj \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,obj);\n}\n}catch (e29923){var _e__29095__auto__ \x3d e29923;\nreturn false;\n}}\n})())){\nreturn cljs.core._write(writer,devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n} else {\nvar temp__5821__auto__ \x3d devtools.formatters.printing.build_markup.cljs$core$IFn$_invoke$arity$variadic(markup_db,new cljs.core.Keyword(null,\x22atomic\x22,\x22atomic\x22,-120459460),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar atomic_markup \x3d temp__5821__auto__;\nreturn cljs.core._write(writer,atomic_markup);\n} else {\nvar default_impl \x3d new cljs.core.Keyword(null,\x22fallback-impl\x22,\x22fallback-impl\x22,-1501286995).cljs$core$IFn$_invoke$arity$1(opts);\nvar inner_opts \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._STAR_print_level_STAR_,(1)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),(0)):opts);\nreturn (default_impl.cljs$core$IFn$_invoke$arity$3 ? default_impl.cljs$core$IFn$_invoke$arity$3(obj,writer,inner_opts) : default_impl.call(null,obj,writer,inner_opts));\n}\n}\n});\ndevtools.formatters.printing.alt_printer_impl \x3d (function devtools$formatters$printing$alt_printer_impl(obj,writer,opts){\nvar _STAR_current_state_STAR__orig_val__29926 \x3d devtools.formatters.state._STAR_current_state_STAR_;\nvar _STAR_current_state_STAR__temp_val__29927 \x3d devtools.formatters.state.get_current_state();\n(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__temp_val__29927);\n\ntry{if(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22render-path-annotations\x22,\x22render-path-annotations\x22,-1890931512)))){\ndevtools.formatters.state.add_object_to_current_path_info_BANG_(obj);\n} else {\n}\n\nvar map__29929 \x3d opts;\nvar map__29929__$1 \x3d cljs.core.__destructure_map(map__29929);\nvar markup_db \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__29929__$1,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734));\nvar circular_QMARK_ \x3d devtools.formatters.state.is_circular_QMARK_(obj);\nvar inner_writer \x3d devtools.formatters.printing.make_template_writer(new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734).cljs$core$IFn$_invoke$arity$1(opts));\nvar path_info \x3d devtools.formatters.state.get_current_path_info();\ndevtools.formatters.state.push_object_to_current_history_BANG_(obj);\n\ndevtools.formatters.printing.alt_printer_job(obj,inner_writer,opts);\n\nreturn writer.merge(devtools.formatters.printing.post_process_printed_output(inner_writer.get_group(),obj,markup_db,circular_QMARK_,path_info));\n}finally {(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__orig_val__29926);\n}});\ndevtools.formatters.printing.managed_print \x3d (function devtools$formatters$printing$managed_print(tag,markup_db,printer){\nvar writer \x3d devtools.formatters.printing.make_template_writer(markup_db);\nvar opts \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22alt-impl\x22,\x22alt-impl\x22,670969595),devtools.formatters.printing.alt_printer_impl,new cljs.core.Keyword(null,\x22markup-db\x22,\x22markup-db\x22,812838734),markup_db,new cljs.core.Keyword(null,\x22print-length\x22,\x22print-length\x22,1931866356),devtools.prefs.pref(new cljs.core.Keyword(null,\x22max-header-elements\x22,\x22max-header-elements\x22,713629864)),new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935),devtools.prefs.pref(new cljs.core.Keyword(null,\x22more-marker\x22,\x22more-marker\x22,-14717935))], null);\nvar job_fn \x3d (function (){\nreturn (printer.cljs$core$IFn$_invoke$arity$2 ? printer.cljs$core$IFn$_invoke$arity$2(writer,opts) : printer.call(null,writer,opts));\n});\nvar temp__5821__auto___29962 \x3d devtools.formatters.state.get_managed_print_level();\nif(cljs.core.truth_(temp__5821__auto___29962)){\nvar managed_print_level_29967 \x3d temp__5821__auto___29962;\nvar _STAR_print_level_STAR__orig_val__29941_29968 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__29942_29969 \x3d managed_print_level_29967;\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__29942_29969);\n\ntry{devtools.formatters.state.update_current_state_BANG_((function (p1__29934_SHARP_){\nreturn devtools.formatters.state.set_managed_print_level(p1__29934_SHARP_,null);\n}));\n\njob_fn();\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__29941_29968);\n}} else {\njob_fn();\n}\n\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.prefs.pref(tag)], null),writer.get_group());\n});\ndevtools.formatters.printing.managed_print_via_writer \x3d (function devtools$formatters$printing$managed_print_via_writer(value,tag,markup_db){\nreturn devtools.formatters.printing.managed_print(tag,markup_db,(function (writer,opts){\nreturn cljs.core.pr_seq_writer(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [value], null),writer,opts);\n}));\n});\ndevtools.formatters.printing.managed_print_via_protocol \x3d (function devtools$formatters$printing$managed_print_via_protocol(value,tag,markup_db){\nreturn devtools.formatters.printing.managed_print(tag,markup_db,(function (writer,opts){\nreturn cljs.core._pr_writer(value,writer,opts);\n}));\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.markup.js", true, "goog.provide(\x27devtools.formatters.markup\x27);\ndevtools.formatters.markup.print_with \x3d (function devtools$formatters$markup$print_with(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32808 \x3d arguments.length;\nvar i__5750__auto___32809 \x3d (0);\nwhile(true){\nif((i__5750__auto___32809 \x3c len__5749__auto___32808)){\nargs__5755__auto__.push((arguments[i__5750__auto___32809]));\n\nvar G__32810 \x3d (i__5750__auto___32809 + (1));\ni__5750__auto___32809 \x3d G__32810;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic \x3d (function (method,value,tag,p__32196){\nvar vec__32197 \x3d p__32196;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32197,(0),null);\nvar job_fn \x3d (function (){\nvar G__32207 \x3d value;\nvar G__32208 \x3d tag;\nvar G__32209 \x3d (devtools.formatters.markup.get_markup_db.cljs$core$IFn$_invoke$arity$0 ? devtools.formatters.markup.get_markup_db.cljs$core$IFn$_invoke$arity$0() : devtools.formatters.markup.get_markup_db.call(null));\nreturn (method.cljs$core$IFn$_invoke$arity$3 ? method.cljs$core$IFn$_invoke$arity$3(G__32207,G__32208,G__32209) : method.call(null,G__32207,G__32208,G__32209));\n});\nif((!((max_level \x3d\x3d null)))){\nvar _STAR_print_level_STAR__orig_val__32224 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_level_STAR__temp_val__32225 \x3d (max_level + (1));\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__32225);\n\ntry{return job_fn();\n}finally {(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__32224);\n}} else {\nreturn job_fn();\n}\n}));\n\n(devtools.formatters.markup.print_with.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_with.cljs$lang$applyTo \x3d (function (seq32183){\nvar G__32184 \x3d cljs.core.first(seq32183);\nvar seq32183__$1 \x3d cljs.core.next(seq32183);\nvar G__32185 \x3d cljs.core.first(seq32183__$1);\nvar seq32183__$2 \x3d cljs.core.next(seq32183__$1);\nvar G__32186 \x3d cljs.core.first(seq32183__$2);\nvar seq32183__$3 \x3d cljs.core.next(seq32183__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32184,G__32185,G__32186,seq32183__$3);\n}));\n\ndevtools.formatters.markup.print_via_writer \x3d (function devtools$formatters$markup$print_via_writer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32815 \x3d arguments.length;\nvar i__5750__auto___32816 \x3d (0);\nwhile(true){\nif((i__5750__auto___32816 \x3c len__5749__auto___32815)){\nargs__5755__auto__.push((arguments[i__5750__auto___32816]));\n\nvar G__32817 \x3d (i__5750__auto___32816 + (1));\ni__5750__auto___32816 \x3d G__32817;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,tag,p__32255){\nvar vec__32256 \x3d p__32255;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32256,(0),null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.printing.managed_print_via_writer,value,tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_level], 0));\n}));\n\n(devtools.formatters.markup.print_via_writer.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_via_writer.cljs$lang$applyTo \x3d (function (seq32251){\nvar G__32252 \x3d cljs.core.first(seq32251);\nvar seq32251__$1 \x3d cljs.core.next(seq32251);\nvar G__32253 \x3d cljs.core.first(seq32251__$1);\nvar seq32251__$2 \x3d cljs.core.next(seq32251__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32252,G__32253,seq32251__$2);\n}));\n\ndevtools.formatters.markup.print_via_protocol \x3d (function devtools$formatters$markup$print_via_protocol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32818 \x3d arguments.length;\nvar i__5750__auto___32819 \x3d (0);\nwhile(true){\nif((i__5750__auto___32819 \x3c len__5749__auto___32818)){\nargs__5755__auto__.push((arguments[i__5750__auto___32819]));\n\nvar G__32820 \x3d (i__5750__auto___32819 + (1));\ni__5750__auto___32819 \x3d G__32820;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup.print_via_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup.print_via_protocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (value,tag,p__32275){\nvar vec__32277 \x3d p__32275;\nvar max_level \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32277,(0),null);\nreturn devtools.formatters.markup.print_with.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.printing.managed_print_via_protocol,value,tag,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([max_level], 0));\n}));\n\n(devtools.formatters.markup.print_via_protocol.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup.print_via_protocol.cljs$lang$applyTo \x3d (function (seq32262){\nvar G__32264 \x3d cljs.core.first(seq32262);\nvar seq32262__$1 \x3d cljs.core.next(seq32262);\nvar G__32265 \x3d cljs.core.first(seq32262__$1);\nvar seq32262__$2 \x3d cljs.core.next(seq32262__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32264,G__32265,seq32262__$2);\n}));\n\ndevtools.formatters.markup._LT_expandable_GT_ \x3d (function devtools$formatters$markup$_LT_expandable_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32821 \x3d arguments.length;\nvar i__5750__auto___32822 \x3d (0);\nwhile(true){\nif((i__5750__auto___32822 \x3c len__5749__auto___32821)){\nargs__5755__auto__.push((arguments[i__5750__auto___32822]));\n\nvar G__32823 \x3d (i__5750__auto___32822 + (1));\ni__5750__auto___32822 \x3d G__32823;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nvar inner_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expandable-inner-tag\x22,\x22expandable-inner-tag\x22,-799648560)], null),children);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expandable-tag\x22,\x22expandable-tag\x22,151027578),new cljs.core.Keyword(null,\x22expandable-symbol\x22,\x22expandable-symbol\x22,1644611290),inner_markup], null);\n}));\n\n(devtools.formatters.markup._LT_expandable_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_expandable_GT_.cljs$lang$applyTo \x3d (function (seq32282){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32282));\n}));\n\ndevtools.formatters.markup._LT_raw_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_raw_surrogate_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32830 \x3d arguments.length;\nvar i__5750__auto___32831 \x3d (0);\nwhile(true){\nif((i__5750__auto___32831 \x3c len__5749__auto___32830)){\nargs__5755__auto__.push((arguments[i__5750__auto___32831]));\n\nvar G__32832 \x3d (i__5750__auto___32831 + (1));\ni__5750__auto___32831 \x3d G__32832;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22surrogate\x22], null),args);\n}));\n\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq32288){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32288));\n}));\n\ndevtools.formatters.markup._LT_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32833 \x3d arguments.length;\nvar i__5750__auto___32834 \x3d (0);\nwhile(true){\nif((i__5750__auto___32834 \x3c len__5749__auto___32833)){\nargs__5755__auto__.push((arguments[i__5750__auto___32834]));\n\nvar G__32835 \x3d (i__5750__auto___32834 + (1));\ni__5750__auto___32834 \x3d G__32835;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__32295){\nvar vec__32303 \x3d p__32295;\nvar object \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32303,(0),null);\nvar header \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32303,(1),null);\nvar body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32303,(2),null);\nvar start_index \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32303,(3),null);\nvar header__$1 \x3d (((!((body \x3d\x3d null))))?devtools.formatters.markup._LT_expandable_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([header], 0)):header);\nreturn devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,header__$1,body,start_index], 0));\n}));\n\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq32291){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32291));\n}));\n\ndevtools.formatters.markup._LT_reference_GT_ \x3d (function devtools$formatters$markup$_LT_reference_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32838 \x3d arguments.length;\nvar i__5750__auto___32839 \x3d (0);\nwhile(true){\nif((i__5750__auto___32839 \x3c len__5749__auto___32838)){\nargs__5755__auto__.push((arguments[i__5750__auto___32839]));\n\nvar G__32840 \x3d (i__5750__auto___32839 + (1));\ni__5750__auto___32839 \x3d G__32840;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22reference\x22], null),args);\n}));\n\n(devtools.formatters.markup._LT_reference_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_reference_GT_.cljs$lang$applyTo \x3d (function (seq32308){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32308));\n}));\n\ndevtools.formatters.markup._LT_reference_surrogate_GT_ \x3d (function devtools$formatters$markup$_LT_reference_surrogate_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32841 \x3d arguments.length;\nvar i__5750__auto___32842 \x3d (0);\nwhile(true){\nif((i__5750__auto___32842 \x3c len__5749__auto___32841)){\nargs__5755__auto__.push((arguments[i__5750__auto___32842]));\n\nvar G__32843 \x3d (i__5750__auto___32842 + (1));\ni__5750__auto___32842 \x3d G__32843;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_surrogate_GT_,args)], 0));\n}));\n\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$lang$applyTo \x3d (function (seq32311){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32311));\n}));\n\ndevtools.formatters.markup._LT_circular_reference_GT_ \x3d (function devtools$formatters$markup$_LT_circular_reference_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32850 \x3d arguments.length;\nvar i__5750__auto___32851 \x3d (0);\nwhile(true){\nif((i__5750__auto___32851 \x3c len__5749__auto___32850)){\nargs__5755__auto__.push((arguments[i__5750__auto___32851]));\n\nvar G__32852 \x3d (i__5750__auto___32851 + (1));\ni__5750__auto___32851 \x3d G__32852;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_circular_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circular-reference-tag\x22,\x22circular-reference-tag\x22,858973471),new cljs.core.Keyword(null,\x22circular-ref-icon\x22,\x22circular-ref-icon\x22,-2087682919)], null),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circular-reference-body-tag\x22,\x22circular-reference-body-tag\x22,-1301830023)], null),children)], 0));\n}));\n\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_circular_reference_GT_.cljs$lang$applyTo \x3d (function (seq32316){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32316));\n}));\n\ndevtools.formatters.markup._LT_native_reference_GT_ \x3d (function devtools$formatters$markup$_LT_native_reference_GT_(object){\nvar reference \x3d devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,(function (p1__32319_SHARP_){\nreturn devtools.formatters.state.set_prevent_recursion(p1__32319_SHARP_,true);\n})], 0));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-reference-wrapper-tag\x22,\x22native-reference-wrapper-tag\x22,2047690940),new cljs.core.Keyword(null,\x22native-reference-background\x22,\x22native-reference-background\x22,-286129550),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-reference-tag\x22,\x22native-reference-tag\x22,-1516119079),reference], null)], null);\n});\ndevtools.formatters.markup._LT_header_expander_GT_ \x3d (function devtools$formatters$markup$_LT_header_expander_GT_(object){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_raw_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([object,new cljs.core.Keyword(null,\x22header-expander-symbol\x22,\x22header-expander-symbol\x22,907531743),new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721)], 0)),devtools.formatters.state.reset_depth_limits], 0));\n});\ndevtools.formatters.markup._LT_cljs_land_GT_ \x3d (function devtools$formatters$markup$_LT_cljs_land_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32856 \x3d arguments.length;\nvar i__5750__auto___32857 \x3d (0);\nwhile(true){\nif((i__5750__auto___32857 \x3c len__5749__auto___32856)){\nargs__5755__auto__.push((arguments[i__5750__auto___32857]));\n\nvar G__32858 \x3d (i__5750__auto___32857 + (1));\ni__5750__auto___32857 \x3d G__32858;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (children){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cljs-land-tag\x22,\x22cljs-land-tag\x22,-7524377)], null),children);\n}));\n\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_cljs_land_GT_.cljs$lang$applyTo \x3d (function (seq32323){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32323));\n}));\n\ndevtools.formatters.markup._LT_nil_GT_ \x3d (function devtools$formatters$markup$_LT_nil_GT_(){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22nil-tag\x22,\x22nil-tag\x22,-1587449115),new cljs.core.Keyword(null,\x22nil-label\x22,\x22nil-label\x22,-587789203)], null);\n});\ndevtools.formatters.markup._LT_bool_GT_ \x3d (function devtools$formatters$markup$_LT_bool_GT_(bool){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bool-tag\x22,\x22bool-tag\x22,-10409808),cljs.core.str.cljs$core$IFn$_invoke$arity$1(bool)], null);\n});\ndevtools.formatters.markup._LT_keyword_GT_ \x3d (function devtools$formatters$markup$_LT_keyword_GT_(keyword){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22keyword-tag\x22,\x22keyword-tag\x22,1587228387),cljs.core.str.cljs$core$IFn$_invoke$arity$1(keyword)], null);\n});\ndevtools.formatters.markup._LT_symbol_GT_ \x3d (function devtools$formatters$markup$_LT_symbol_GT_(symbol){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22symbol-tag\x22,\x22symbol-tag\x22,-100807517),cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol)], null);\n});\ndevtools.formatters.markup._LT_number_GT_ \x3d (function devtools$formatters$markup$_LT_number_GT_(number){\nif(cljs.core.truth_(isFinite(number))){\nif(cljs.core.integer_QMARK_(number)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22integer-tag\x22,\x22integer-tag\x22,698000472),number], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-tag\x22,\x22float-tag\x22,-390834106),number], null);\n}\n} else {\nif(cljs.core.truth_(isNaN(number))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-nan-tag\x22,\x22float-nan-tag\x22,557403379),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([number], 0))], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22float-infinity-tag\x22,\x22float-infinity-tag\x22,-289254297),cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([number], 0))], null);\n}\n}\n});\ndevtools.formatters.markup._LT_string_GT_ \x3d (function devtools$formatters$markup$_LT_string_GT_(string){\nvar dq \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22dq\x22,\x22dq\x22,-1690275860));\nvar re_nl \x3d (new RegExp(\x22\\n\x22,\x22g\x22));\nvar nl_marker \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22new-line-string-replacer\x22,\x22new-line-string-replacer\x22,-753206206));\nvar inline_string \x3d string.replace(re_nl,nl_marker);\nvar max_inline_string_size \x3d (devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332)) + devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963)));\nvar quote_string \x3d (function (s){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(dq),cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),cljs.core.str.cljs$core$IFn$_invoke$arity$1(dq)].join(\x27\x27);\n});\nvar should_abbreviate_QMARK_ \x3d (cljs.core.count(inline_string) \x3e max_inline_string_size);\nif(should_abbreviate_QMARK_){\nvar abbreviated_string \x3d devtools.formatters.helpers.abbreviate_long_string(inline_string,devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-abbreviation-marker\x22,\x22string-abbreviation-marker\x22,-347785112)),devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-prefix-limit\x22,\x22string-prefix-limit\x22,1256106332)),devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22string-postfix-limit\x22,\x22string-postfix-limit\x22,-1282205963)));\nvar abbreviated_string_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),quote_string(abbreviated_string)], null);\nvar string_with_nl_markers \x3d string.replace(re_nl,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(nl_marker),\x22\\n\x22].join(\x27\x27));\nvar details_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22expanded-string-tag\x22,\x22expanded-string-tag\x22,-2125162127),string_with_nl_markers], null);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([string,abbreviated_string_markup,details_markup], 0));\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22string-tag\x22,\x22string-tag\x22,1639024494),quote_string(inline_string)], null);\n}\n});\ndevtools.formatters.markup._LT_preview_GT_ \x3d (function devtools$formatters$markup$_LT_preview_GT_(value){\nreturn devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic(value,new cljs.core.Keyword(null,\x22header-tag\x22,\x22header-tag\x22,1594852433),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-print-level\x22,\x22max-print-level\x22,-462237413))], 0));\n});\ndevtools.formatters.markup._LT_body_GT_ \x3d (function devtools$formatters$markup$_LT_body_GT_(markup){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-tag\x22,\x22body-tag\x22,433527431),markup], null);\n});\ndevtools.formatters.markup._LT_aligned_body_GT_ \x3d (function devtools$formatters$markup$_LT_aligned_body_GT_(markups_lists){\nvar prepend_li_tag \x3d (function (line){\nif(cljs.core.truth_(line)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aligned-li-tag\x22,\x22aligned-li-tag\x22,1727029722)], null),line);\n} else {\nreturn null;\n}\n});\nvar aligned_lines \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(prepend_li_tag,markups_lists);\nreturn devtools.formatters.markup._LT_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747)], null),aligned_lines));\n});\ndevtools.formatters.markup._LT_standard_body_GT_ \x3d (function devtools$formatters$markup$_LT_standard_body_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32869 \x3d arguments.length;\nvar i__5750__auto___32870 \x3d (0);\nwhile(true){\nif((i__5750__auto___32870 \x3c len__5749__auto___32869)){\nargs__5755__auto__.push((arguments[i__5750__auto___32870]));\n\nvar G__32871 \x3d (i__5750__auto___32870 + (1));\ni__5750__auto___32870 \x3d G__32871;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (markups_lists,p__32371){\nvar vec__32372 \x3d p__32371;\nvar no_margin_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32372,(0),null);\nvar ol_tag \x3d (cljs.core.truth_(no_margin_QMARK_)?new cljs.core.Keyword(null,\x22standard-ol-no-margin-tag\x22,\x22standard-ol-no-margin-tag\x22,583023747):new cljs.core.Keyword(null,\x22standard-ol-tag\x22,\x22standard-ol-tag\x22,1120081433));\nvar li_tag \x3d (cljs.core.truth_(no_margin_QMARK_)?new cljs.core.Keyword(null,\x22standard-li-no-margin-tag\x22,\x22standard-li-no-margin-tag\x22,-844555468):new cljs.core.Keyword(null,\x22standard-li-tag\x22,\x22standard-li-tag\x22,-932749876));\nvar prepend_li_tag \x3d (function (line){\nif(cljs.core.truth_(line)){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [li_tag], null),line);\n} else {\nreturn null;\n}\n});\nvar lines_markups \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(prepend_li_tag,markups_lists);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ol_tag], null),lines_markups);\n}));\n\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_standard_body_GT_.cljs$lang$applyTo \x3d (function (seq32357){\nvar G__32358 \x3d cljs.core.first(seq32357);\nvar seq32357__$1 \x3d cljs.core.next(seq32357);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32358,seq32357__$1);\n}));\n\ndevtools.formatters.markup._LT_standard_body_reference_GT_ \x3d (function devtools$formatters$markup$_LT_standard_body_reference_GT_(o){\nreturn devtools.formatters.markup._LT_standard_body_GT_(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([o], 0))], null)], null));\n});\ndevtools.formatters.markup._LT_index_GT_ \x3d (function devtools$formatters$markup$_LT_index_GT_(value){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22index-tag\x22,\x22index-tag\x22,693492486),value,new cljs.core.Keyword(null,\x22line-index-separator\x22,\x22line-index-separator\x22,-1735989246)], null);\n});\ndevtools.formatters.markup.body_line \x3d (function devtools$formatters$markup$body_line(index,value){\nvar index_markup \x3d devtools.formatters.markup._LT_index_GT_(index);\nvar value_markup \x3d devtools.formatters.markup.print_via_writer.cljs$core$IFn$_invoke$arity$variadic(value,new cljs.core.Keyword(null,\x22item-tag\x22,\x22item-tag\x22,-988763304),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22body-line-max-print-level\x22,\x22body-line-max-print-level\x22,571158623))], 0));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [index_markup,value_markup], null);\n});\ndevtools.formatters.markup.prepare_body_lines \x3d (function devtools$formatters$markup$prepare_body_lines(data,starting_index){\nvar work \x3d data;\nvar index \x3d starting_index;\nvar lines \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.empty_QMARK_(work)){\nreturn lines;\n} else {\nvar G__32875 \x3d cljs.core.rest(work);\nvar G__32876 \x3d (index + (1));\nvar G__32877 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines,devtools.formatters.markup.body_line(index,cljs.core.first(work)));\nwork \x3d G__32875;\nindex \x3d G__32876;\nlines \x3d G__32877;\ncontinue;\n}\nbreak;\n}\n});\ndevtools.formatters.markup.body_lines \x3d (function devtools$formatters$markup$body_lines(value,starting_index){\nvar seq \x3d cljs.core.seq(value);\nvar max_number_body_items \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-number-body-items\x22,\x22max-number-body-items\x22,299914624));\nvar chunk \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_number_body_items,seq);\nvar rest \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2(max_number_body_items,seq);\nvar lines \x3d devtools.formatters.markup.prepare_body_lines(chunk,starting_index);\nvar continue_QMARK_ \x3d (!(cljs.core.empty_QMARK_(cljs.core.take.cljs$core$IFn$_invoke$arity$2((1),rest))));\nif((!(continue_QMARK_))){\nreturn lines;\n} else {\nvar more_label_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-items-more-tag\x22,\x22body-items-more-tag\x22,867141569),new cljs.core.Keyword(null,\x22body-items-more-label\x22,\x22body-items-more-label\x22,-1561152123)], null);\nvar start_index \x3d (starting_index + max_number_body_items);\nvar more_markup \x3d devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([rest,more_label_markup,new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),start_index], 0));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lines,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [more_markup], null));\n}\n});\ndevtools.formatters.markup._LT_details_GT_ \x3d (function devtools$formatters$markup$_LT_details_GT_(value,starting_index){\ndevtools.formatters.state.push_object_to_current_history_BANG_(cljs.core.with_meta(value,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915),starting_index], null)));\n\nvar has_continuation_QMARK_ \x3d (starting_index \x3e (0));\nvar body_markup \x3d devtools.formatters.markup._LT_standard_body_GT_.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup.body_lines(value,starting_index),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([has_continuation_QMARK_], 0));\nif(has_continuation_QMARK_){\nreturn body_markup;\n} else {\nreturn devtools.formatters.markup._LT_body_GT_(body_markup);\n}\n});\ndevtools.formatters.markup._LT_list_details_GT_ \x3d (function devtools$formatters$markup$_LT_list_details_GT_(items,_opts){\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.list,items));\n});\ndevtools.formatters.markup._LT_list_GT_ \x3d (function devtools$formatters$markup$_LT_list_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32884 \x3d arguments.length;\nvar i__5750__auto___32886 \x3d (0);\nwhile(true){\nif((i__5750__auto___32886 \x3c len__5749__auto___32884)){\nargs__5755__auto__.push((arguments[i__5750__auto___32886]));\n\nvar G__32888 \x3d (i__5750__auto___32886 + (1));\ni__5750__auto___32886 \x3d G__32888;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (items,max_count,p__32448){\nvar vec__32450 \x3d p__32448;\nvar opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32450,(0),null);\nvar items_markups \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_count,items);\nvar more_count \x3d (cljs.core.count(items) - max_count);\nvar more_QMARK_ \x3d (more_count \x3e (0));\nvar separator \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-separator\x22,\x22list-separator\x22,900562185);\n}\n})();\nvar more_symbol \x3d ((more_QMARK_)?(function (){var temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar more_symbol \x3d temp__5821__auto__;\nif(cljs.core.fn_QMARK_(more_symbol)){\nreturn (more_symbol.cljs$core$IFn$_invoke$arity$1 ? more_symbol.cljs$core$IFn$_invoke$arity$1(more_count) : more_symbol.call(null,more_count));\n} else {\nreturn more_symbol;\n}\n} else {\nreturn devtools.formatters.helpers.get_more_marker(more_count);\n}\n})():null);\nvar preview_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-tag\x22,\x22list-tag\x22,1555796884);\n}\n})(),(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22open-symbol\x22,\x22open-symbol\x22,674247825).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-open-symbol\x22,\x22list-open-symbol\x22,-1162287443);\n}\n})()], null),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(separator,items_markups),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((more_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [separator,more_symbol], null):null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22close-symbol\x22,\x22close-symbol\x22,1051951165).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22list-close-symbol\x22,\x22list-close-symbol\x22,-1120016586);\n}\n})()], null)], 0));\nif(more_QMARK_){\nvar details_markup \x3d new cljs.core.Keyword(null,\x22details\x22,\x22details\x22,1956795411).cljs$core$IFn$_invoke$arity$1(opts);\nvar default_details_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$3(devtools.formatters.markup._LT_list_details_GT_,items,opts);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,preview_markup,(function (){var or__5025__auto__ \x3d details_markup;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn default_details_fn;\n}\n})()], 0));\n} else {\nreturn preview_markup;\n}\n}));\n\n(devtools.formatters.markup._LT_list_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_list_GT_.cljs$lang$applyTo \x3d (function (seq32432){\nvar G__32434 \x3d cljs.core.first(seq32432);\nvar seq32432__$1 \x3d cljs.core.next(seq32432);\nvar G__32435 \x3d cljs.core.first(seq32432__$1);\nvar seq32432__$2 \x3d cljs.core.next(seq32432__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32434,G__32435,seq32432__$2);\n}));\n\ndevtools.formatters.markup._LT_meta_GT_ \x3d (function devtools$formatters$markup$_LT_meta_GT_(metadata){\nvar body_fn \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-body-tag\x22,\x22meta-body-tag\x22,1689183121),devtools.formatters.markup._LT_preview_GT_(metadata)], null);\n});\nvar header \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-header-tag\x22,\x22meta-header-tag\x22,-1207812581),\x22meta\x22], null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-reference-tag\x22,\x22meta-reference-tag\x22,914791936),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([metadata,header,body_fn], 0))], null);\n});\ndevtools.formatters.markup._LT_meta_wrapper_GT_ \x3d (function devtools$formatters$markup$_LT_meta_wrapper_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32925 \x3d arguments.length;\nvar i__5750__auto___32926 \x3d (0);\nwhile(true){\nif((i__5750__auto___32926 \x3c len__5749__auto___32925)){\nargs__5755__auto__.push((arguments[i__5750__auto___32926]));\n\nvar G__32927 \x3d (i__5750__auto___32926 + (1));\ni__5750__auto___32926 \x3d G__32927;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (metadata,children){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22meta-wrapper-tag\x22,\x22meta-wrapper-tag\x22,1927429038)], null),children,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [devtools.formatters.markup._LT_meta_GT_(metadata)], null)], 0));\n}));\n\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_meta_wrapper_GT_.cljs$lang$applyTo \x3d (function (seq32505){\nvar G__32506 \x3d cljs.core.first(seq32505);\nvar seq32505__$1 \x3d cljs.core.next(seq32505);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32506,seq32505__$1);\n}));\n\ndevtools.formatters.markup._LT_function_details_GT_ \x3d (function devtools$formatters$markup$_LT_function_details_GT_(fn_obj,ns,_name,arities,prefix){\nif(cljs.core.fn_QMARK_(fn_obj)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? fn-obj)\x22));\n}\n\nvar arities__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.helpers.wrap_arity,arities);\nvar make_arity_markup_list \x3d (function (arity){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-multi-arity-args-indent-tag\x22,\x22fn-multi-arity-args-indent-tag\x22,-1931373734),prefix], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),arity], null)], null);\n});\nvar arities_markupts_lists \x3d (((cljs.core.count(arities__$1) \x3e (1)))?cljs.core.map.cljs$core$IFn$_invoke$arity$2(make_arity_markup_list,arities__$1):null);\nvar ns_markups_list \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),ns], null)], null):null);\nvar native_markups_list \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(fn_obj)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(arities_markupts_lists,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_markups_list,native_markups_list], null)));\n});\ndevtools.formatters.markup._LT_arities_GT_ \x3d (function devtools$formatters$markup$_LT_arities_GT_(arities){\nvar multi_arity_QMARK_ \x3d (cljs.core.count(arities) \x3e (1));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-args-tag\x22,\x22fn-args-tag\x22,549126831),devtools.formatters.helpers.wrap_arity(((multi_arity_QMARK_)?devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653)):cljs.core.first(arities)))], null);\n});\ndevtools.formatters.markup._LT_function_GT_ \x3d (function devtools$formatters$markup$_LT_function_GT_(fn_obj){\nif(cljs.core.fn_QMARK_(fn_obj)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? fn-obj)\x22));\n}\n\nvar vec__32620 \x3d devtools.munging.parse_fn_info(fn_obj);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32620,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32620,(1),null);\nvar lambda_QMARK_ \x3d cljs.core.empty_QMARK_(name);\nvar spacer_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22spacer\x22,\x22spacer\x22,2067425139));\nvar rest_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22rest-symbol\x22,\x22rest-symbol\x22,1021371174));\nvar multi_arity_symbol \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22multi-arity-symbol\x22,\x22multi-arity-symbol\x22,-420139653));\nvar arities \x3d devtools.munging.extract_arities(fn_obj,true,spacer_symbol,multi_arity_symbol,rest_symbol);\nvar arities_markup \x3d devtools.formatters.markup._LT_arities_GT_(arities);\nvar name_markup \x3d (((!(lambda_QMARK_)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-name-tag\x22,\x22fn-name-tag\x22,555823755),name], null):null);\nvar icon_markup \x3d ((lambda_QMARK_)?new cljs.core.Keyword(null,\x22lambda-icon\x22,\x22lambda-icon\x22,980753546):new cljs.core.Keyword(null,\x22fn-icon\x22,\x22fn-icon\x22,-1412665288));\nvar prefix_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-prefix-tag\x22,\x22fn-prefix-tag\x22,1947411856),icon_markup,name_markup], null);\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-header-tag\x22,\x22fn-header-tag\x22,-1262068349),prefix_markup,arities_markup], null);\nvar details_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_function_details_GT_,fn_obj,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arities,prefix_markup], 0));\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([fn_obj,preview_markup,details_fn], 0));\n});\ndevtools.formatters.markup._LT_type_basis_item_GT_ \x3d (function devtools$formatters$markup$_LT_type_basis_item_GT_(basis_item){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-basis-item-tag\x22,\x22type-basis-item-tag\x22,50612816),cljs.core.name(basis_item)], null);\n});\ndevtools.formatters.markup._LT_type_basis_GT_ \x3d (function devtools$formatters$markup$_LT_type_basis_GT_(basis){\nvar item_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_type_basis_item_GT_,basis);\nvar children_markups \x3d cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type-basis-item-separator\x22,\x22type-basis-item-separator\x22,-2029193896),item_markups);\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-basis-tag\x22,\x22type-basis-tag\x22,-2122159204)], null),children_markups);\n});\ndevtools.formatters.markup._LT_type_details_GT_ \x3d (function devtools$formatters$markup$_LT_type_details_GT_(constructor_fn,ns,_name,basis){\nvar ns_markup \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn-ns-name-tag\x22,\x22fn-ns-name-tag\x22,-900073712),ns], null)], null):null);\nvar basis_markup \x3d ((cljs.core.empty_QMARK_(basis))?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22empty-basis-symbol\x22,\x22empty-basis-symbol\x22,-1971559593)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22basis-icon\x22,\x22basis-icon\x22,1917779567),devtools.formatters.markup._LT_type_basis_GT_(basis)], null));\nvar native_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(constructor_fn)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [basis_markup,ns_markup,native_markup], null));\n});\ndevtools.formatters.markup._LT_type_GT_ \x3d (function devtools$formatters$markup$_LT_type_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32961 \x3d arguments.length;\nvar i__5750__auto___32963 \x3d (0);\nwhile(true){\nif((i__5750__auto___32963 \x3c len__5749__auto___32961)){\nargs__5755__auto__.push((arguments[i__5750__auto___32963]));\n\nvar G__32964 \x3d (i__5750__auto___32963 + (1));\ni__5750__auto___32963 \x3d G__32964;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (constructor_fn,p__32636){\nvar vec__32637 \x3d p__32636;\nvar header_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32637,(0),null);\nvar vec__32640 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32640,(0),null);\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32640,(1),null);\nvar basis \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32640,(2),null);\nvar name_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-name-tag\x22,\x22type-name-tag\x22,-1317275511),name], null);\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d header_tag;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22type-header-tag\x22,\x22type-header-tag\x22,1645372265);\n}\n})(),new cljs.core.Keyword(null,\x22type-symbol\x22,\x22type-symbol\x22,-941894755),name_markup], null);\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_type_details_GT_,constructor_fn,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([basis], 0));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-wrapper-tag\x22,\x22type-wrapper-tag\x22,-1732366004),new cljs.core.Keyword(null,\x22type-header-background\x22,\x22type-header-background\x22,-810861696),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22type-ref-tag\x22,\x22type-ref-tag\x22,2126727355),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([constructor_fn,preview_markup,details_markup_fn], 0))], null)], null);\n}));\n\n(devtools.formatters.markup._LT_type_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_type_GT_.cljs$lang$applyTo \x3d (function (seq32633){\nvar G__32634 \x3d cljs.core.first(seq32633);\nvar seq32633__$1 \x3d cljs.core.next(seq32633);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32634,seq32633__$1);\n}));\n\ndevtools.formatters.markup._LT_standalone_type_GT_ \x3d (function devtools$formatters$markup$_LT_standalone_type_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32972 \x3d arguments.length;\nvar i__5750__auto___32973 \x3d (0);\nwhile(true){\nif((i__5750__auto___32973 \x3c len__5749__auto___32972)){\nargs__5755__auto__.push((arguments[i__5750__auto___32973]));\n\nvar G__32974 \x3d (i__5750__auto___32973 + (1));\ni__5750__auto___32973 \x3d G__32974;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_standalone_type_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (constructor_fn,p__32668){\nvar vec__32669 \x3d p__32668;\nvar header_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32669,(0),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22standalone-type-tag\x22,\x22standalone-type-tag\x22,-1677164791),devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic(constructor_fn,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([header_tag], 0))], null);\n}));\n\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_standalone_type_GT_.cljs$lang$applyTo \x3d (function (seq32664){\nvar G__32665 \x3d cljs.core.first(seq32664);\nvar seq32664__$1 \x3d cljs.core.next(seq32664);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32665,seq32664__$1);\n}));\n\ndevtools.formatters.markup._LT_protocol_method_arity_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arity_GT_(arity_fn){\nreturn devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arity_fn], 0));\n});\ndevtools.formatters.markup._LT_protocol_method_arities_details_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arities_details_GT_(fns){\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arity_GT_,fns));\n});\ndevtools.formatters.markup._LT_protocol_method_arities_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_arities_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32978 \x3d arguments.length;\nvar i__5750__auto___32980 \x3d (0);\nwhile(true){\nif((i__5750__auto___32980 \x3c len__5749__auto___32978)){\nargs__5755__auto__.push((arguments[i__5750__auto___32980]));\n\nvar G__32981 \x3d (i__5750__auto___32980 + (1));\ni__5750__auto___32980 \x3d G__32981;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (fns,p__32695){\nvar vec__32696 \x3d p__32695;\nvar max_fns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32696,(0),null);\nvar max_fns__$1 \x3d (function (){var or__5025__auto__ \x3d max_fns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-protocol-method-arities-list\x22,\x22max-protocol-method-arities-list\x22,-45936465));\n}\n})();\nvar more_QMARK_ \x3d (cljs.core.count(fns) \x3e max_fns__$1);\nvar aritites_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arity_GT_,cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_fns__$1,fns));\nvar preview_markup \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-header-tag\x22,\x22protocol-method-arities-header-tag\x22,734407707),new cljs.core.Keyword(null,\x22protocol-method-arities-header-open-symbol\x22,\x22protocol-method-arities-header-open-symbol\x22,1704200465)], null),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22protocol-method-arities-list-header-separator\x22,\x22protocol-method-arities-list-header-separator\x22,-115158954),aritites_markups),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((more_QMARK_)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-more-symbol\x22,\x22protocol-method-arities-more-symbol\x22,-477018522)], null):null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-arities-header-close-symbol\x22,\x22protocol-method-arities-header-close-symbol\x22,-1375237120)], null)], 0));\nif(more_QMARK_){\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_method_arities_details_GT_,fns);\nreturn devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null,preview_markup,details_markup_fn], 0));\n} else {\nreturn preview_markup;\n}\n}));\n\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocol_method_arities_GT_.cljs$lang$applyTo \x3d (function (seq32680){\nvar G__32681 \x3d cljs.core.first(seq32680);\nvar seq32680__$1 \x3d cljs.core.next(seq32680);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32681,seq32680__$1);\n}));\n\ndevtools.formatters.markup._LT_protocol_method_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_method_GT_(name,arities){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-tag\x22,\x22protocol-method-tag\x22,2032279830),new cljs.core.Keyword(null,\x22method-icon\x22,\x22method-icon\x22,-1678775281),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-method-name-tag\x22,\x22protocol-method-name-tag\x22,-1030376744),name], null),devtools.formatters.markup._LT_protocol_method_arities_GT_(arities)], null);\n});\ndevtools.formatters.markup._LT_protocol_details_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_details_GT_(obj,ns,_name,selector,_fast_QMARK_){\nvar protocol_obj \x3d devtools.munging.get_protocol_object(selector);\nvar ns_markups_list \x3d (((!(cljs.core.empty_QMARK_(ns))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns-icon\x22,\x22ns-icon\x22,725601214),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocol-ns-name-tag\x22,\x22protocol-ns-name-tag\x22,1832081510),ns], null)], null):null);\nvar native_markups_list \x3d (((!((protocol_obj \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(protocol_obj)], null):null);\nvar methods$ \x3d devtools.munging.collect_protocol_methods(obj,selector);\nvar methods_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__32711){\nvar vec__32715 \x3d p__32711;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32715,(0),null);\nvar arities \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32715,(1),null);\nreturn devtools.formatters.markup._LT_protocol_method_GT_(name,arities);\n}),methods$);\nvar methods_markups_lists \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.list,methods_markups);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(methods_markups_lists,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns_markups_list,native_markups_list], null)));\n});\ndevtools.formatters.markup._LT_protocol_GT_ \x3d (function devtools$formatters$markup$_LT_protocol_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32988 \x3d arguments.length;\nvar i__5750__auto___32989 \x3d (0);\nwhile(true){\nif((i__5750__auto___32989 \x3c len__5749__auto___32988)){\nargs__5755__auto__.push((arguments[i__5750__auto___32989]));\n\nvar G__32991 \x3d (i__5750__auto___32989 + (1));\ni__5750__auto___32989 \x3d G__32991;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,protocol,p__32721){\nvar vec__32728 \x3d p__32721;\nvar tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32728,(0),null);\nvar map__32731 \x3d protocol;\nvar map__32731__$1 \x3d cljs.core.__destructure_map(map__32731);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32731__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32731__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar selector \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32731__$1,new cljs.core.Keyword(null,\x22selector\x22,\x22selector\x22,762528866));\nvar fast_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32731__$1,new cljs.core.Keyword(null,\x22fast?\x22,\x22fast?\x22,-1813307150));\nvar preview_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var or__5025__auto__ \x3d tag;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22protocol-name-tag\x22,\x22protocol-name-tag\x22,1508238310);\n}\n})(),name], null);\nvar prefix_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(fast_QMARK_)?new cljs.core.Keyword(null,\x22fast-protocol-tag\x22,\x22fast-protocol-tag\x22,2066025065):new cljs.core.Keyword(null,\x22slow-protocol-tag\x22,\x22slow-protocol-tag\x22,2061129467)),new cljs.core.Keyword(null,\x22protocol-background\x22,\x22protocol-background\x22,1111513794)], null);\nif((!((obj \x3d\x3d null)))){\nvar details_markup_fn \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(devtools.formatters.markup._LT_protocol_details_GT_,obj,ns,name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([selector,fast_QMARK_], 0));\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(prefix_markup,devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj,preview_markup,details_markup_fn], 0)));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(prefix_markup,preview_markup);\n}\n}));\n\n(devtools.formatters.markup._LT_protocol_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocol_GT_.cljs$lang$applyTo \x3d (function (seq32718){\nvar G__32719 \x3d cljs.core.first(seq32718);\nvar seq32718__$1 \x3d cljs.core.next(seq32718);\nvar G__32720 \x3d cljs.core.first(seq32718__$1);\nvar seq32718__$2 \x3d cljs.core.next(seq32718__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32719,G__32720,seq32718__$2);\n}));\n\ndevtools.formatters.markup._LT_more_protocols_GT_ \x3d (function devtools$formatters$markup$_LT_more_protocols_GT_(more_count){\nvar fake_protocol \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),devtools.formatters.helpers.get_more_marker(more_count)], null);\nreturn devtools.formatters.markup._LT_protocol_GT_.cljs$core$IFn$_invoke$arity$variadic(null,fake_protocol,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22protocol-more-tag\x22,\x22protocol-more-tag\x22,2098702865)], 0));\n});\ndevtools.formatters.markup._LT_protocols_list_GT_ \x3d (function devtools$formatters$markup$_LT_protocols_list_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32993 \x3d arguments.length;\nvar i__5750__auto___32994 \x3d (0);\nwhile(true){\nif((i__5750__auto___32994 \x3c len__5749__auto___32993)){\nargs__5755__auto__.push((arguments[i__5750__auto___32994]));\n\nvar G__32995 \x3d (i__5750__auto___32994 + (1));\ni__5750__auto___32994 \x3d G__32995;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn devtools.formatters.markup._LT_protocols_list_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,protocols,p__32738){\nvar vec__32739 \x3d p__32738;\nvar max_protocols \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32739,(0),null);\nvar max_protocols__$1 \x3d (function (){var or__5025__auto__ \x3d max_protocols;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-list-protocols\x22,\x22max-list-protocols\x22,-537135129));\n}\n})();\nvar protocols_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_protocol_GT_,obj),protocols);\nreturn devtools.formatters.markup._LT_list_GT_.cljs$core$IFn$_invoke$arity$variadic(protocols_markups,max_protocols__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22protocols-header-tag\x22,\x22protocols-header-tag\x22,-734413384),new cljs.core.Keyword(null,\x22open-symbol\x22,\x22open-symbol\x22,674247825),new cljs.core.Keyword(null,\x22protocols-list-open-symbol\x22,\x22protocols-list-open-symbol\x22,-729713043),new cljs.core.Keyword(null,\x22close-symbol\x22,\x22close-symbol\x22,1051951165),new cljs.core.Keyword(null,\x22protocols-list-close-symbol\x22,\x22protocols-list-close-symbol\x22,652072902),new cljs.core.Keyword(null,\x22separator\x22,\x22separator\x22,-1628749125),new cljs.core.Keyword(null,\x22header-protocol-separator\x22,\x22header-protocol-separator\x22,445531439),new cljs.core.Keyword(null,\x22more-symbol\x22,\x22more-symbol\x22,-2139760242),devtools.formatters.markup._LT_more_protocols_GT_], null)], 0));\n}));\n\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_protocols_list_GT_.cljs$lang$applyTo \x3d (function (seq32732){\nvar G__32733 \x3d cljs.core.first(seq32732);\nvar seq32732__$1 \x3d cljs.core.next(seq32732);\nvar G__32734 \x3d cljs.core.first(seq32732__$1);\nvar seq32732__$2 \x3d cljs.core.next(seq32732__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32733,G__32734,seq32732__$2);\n}));\n\ndevtools.formatters.markup._LT_field_GT_ \x3d (function devtools$formatters$markup$_LT_field_GT_(name,value){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-tag\x22,\x22header-field-tag\x22,-1403476101),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-name-tag\x22,\x22header-field-name-tag\x22,82291956),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)], null),new cljs.core.Keyword(null,\x22header-field-value-spacer\x22,\x22header-field-value-spacer\x22,-1210630679),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22header-field-value-tag\x22,\x22header-field-value-tag\x22,-1708691701),devtools.formatters.markup._LT_reference_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0)),(function (p1__32747_SHARP_){\nreturn devtools.formatters.state.set_managed_print_level(p1__32747_SHARP_,(1));\n})], 0))], null),new cljs.core.Keyword(null,\x22header-field-separator\x22,\x22header-field-separator\x22,-774444018)], null);\n});\ndevtools.formatters.markup._LT_fields_details_row_GT_ \x3d (function devtools$formatters$markup$_LT_fields_details_row_GT_(field){\nvar vec__32748 \x3d field;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32748,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32748,(1),null);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-tr-tag\x22,\x22body-field-tr-tag\x22,37280691),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td1-tag\x22,\x22body-field-td1-tag\x22,256357429),new cljs.core.Keyword(null,\x22body-field-symbol\x22,\x22body-field-symbol\x22,256897537),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-name-tag\x22,\x22body-field-name-tag\x22,917867601),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td2-tag\x22,\x22body-field-td2-tag\x22,94501500),new cljs.core.Keyword(null,\x22body-field-value-spacer\x22,\x22body-field-value-spacer\x22,1279911362)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-td3-tag\x22,\x22body-field-td3-tag\x22,-803119922),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22body-field-value-tag\x22,\x22body-field-value-tag\x22,800789079),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value], 0))], null)], null)], null);\n});\ndevtools.formatters.markup._LT_fields_GT_ \x3d (function devtools$formatters$markup$_LT_fields_GT_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___32998 \x3d arguments.length;\nvar i__5750__auto___32999 \x3d (0);\nwhile(true){\nif((i__5750__auto___32999 \x3c len__5749__auto___32998)){\nargs__5755__auto__.push((arguments[i__5750__auto___32999]));\n\nvar G__33003 \x3d (i__5750__auto___32999 + (1));\ni__5750__auto___32999 \x3d G__33003;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (fields,p__32756){\nvar vec__32758 \x3d p__32756;\nvar max_fields \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32758,(0),null);\nif((cljs.core.count(fields) \x3d\x3d\x3d (0))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fields-header-no-fields-symbol\x22,\x22fields-header-no-fields-symbol\x22,-1749204979)], null);\n} else {\nvar max_fields__$1 \x3d (function (){var or__5025__auto__ \x3d max_fields;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22max-instance-header-fields\x22,\x22max-instance-header-fields\x22,-126007269));\n}\n})();\nvar more_QMARK_ \x3d (cljs.core.count(fields) \x3e max_fields__$1);\nvar fields_markups \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__32764){\nvar vec__32765 \x3d p__32764;\nvar name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32765,(0),null);\nvar value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32765,(1),null);\nreturn devtools.formatters.markup._LT_field_GT_(name,value);\n}),cljs.core.take.cljs$core$IFn$_invoke$arity$2(max_fields__$1,fields));\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-header-tag\x22,\x22fields-header-tag\x22,1339134308),new cljs.core.Keyword(null,\x22fields-header-open-symbol\x22,\x22fields-header-open-symbol\x22,-26243798)], null),fields_markups,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [((more_QMARK_)?new cljs.core.Keyword(null,\x22more-fields-symbol\x22,\x22more-fields-symbol\x22,720022882):null),new cljs.core.Keyword(null,\x22fields-header-close-symbol\x22,\x22fields-header-close-symbol\x22,1615181116)], null)], 0));\n}\n}));\n\n(devtools.formatters.markup._LT_fields_GT_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(devtools.formatters.markup._LT_fields_GT_.cljs$lang$applyTo \x3d (function (seq32753){\nvar G__32754 \x3d cljs.core.first(seq32753);\nvar seq32753__$1 \x3d cljs.core.next(seq32753);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__32754,seq32753__$1);\n}));\n\ndevtools.formatters.markup._LT_fields_details_GT_ \x3d (function devtools$formatters$markup$_LT_fields_details_GT_(fields,obj){\nvar protocols \x3d devtools.munging.scan_protocols(obj);\nvar has_protocols_QMARK_ \x3d (!(cljs.core.empty_QMARK_(protocols)));\nvar fields_markup \x3d (((!((cljs.core.count(fields) \x3d\x3d\x3d (0)))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fields-icon\x22,\x22fields-icon\x22,-436030420),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-body-fields-table-tag\x22,\x22instance-body-fields-table-tag\x22,1306340776)], null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.markup._LT_fields_details_row_GT_,fields))], null):null);\nvar protocols_list_markup \x3d ((has_protocols_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22protocols-icon\x22,\x22protocols-icon\x22,-517302494),devtools.formatters.markup._LT_protocols_list_GT_(obj,protocols)], null):null);\nvar native_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22native-icon\x22,\x22native-icon\x22,-126040824),devtools.formatters.markup._LT_native_reference_GT_(obj)], null);\nreturn devtools.formatters.markup._LT_aligned_body_GT_(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [fields_markup,protocols_list_markup,native_markup], null));\n});\ndevtools.formatters.markup._LT_instance_GT_ \x3d (function devtools$formatters$markup$_LT_instance_GT_(value){\nvar constructor_fn \x3d devtools.formatters.helpers.get_constructor(value);\nvar vec__32770 \x3d devtools.munging.parse_constructor_info(constructor_fn);\nvar _ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32770,(0),null);\nvar _name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32770,(1),null);\nvar basis \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32770,(2),null);\nvar custom_printing_QMARK_ \x3d (((!((value \x3d\x3d null))))?(((((value.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.cljs$core$IPrintWithWriter$))))?true:false):false);\nvar type_markup \x3d devtools.formatters.markup._LT_type_GT_.cljs$core$IFn$_invoke$arity$variadic(constructor_fn,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22instance-type-header-tag\x22,\x22instance-type-header-tag\x22,-1015702989)], 0));\nvar fields \x3d devtools.formatters.helpers.fetch_fields_values(value,basis);\nvar fields_markup \x3d devtools.formatters.markup._LT_fields_GT_.cljs$core$IFn$_invoke$arity$variadic(fields,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((custom_printing_QMARK_)?(0):null)], 0));\nvar fields_details_markup_fn \x3d (function (){\nreturn devtools.formatters.markup._LT_fields_details_GT_(fields,value);\n});\nvar fields_preview_markup \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-value-tag\x22,\x22instance-value-tag\x22,-1739593896),devtools.formatters.markup._LT_reference_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([value,fields_markup,fields_details_markup_fn], 0))], null);\nvar custom_printing_markup \x3d ((custom_printing_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-custom-printing-wrapper-tag\x22,\x22instance-custom-printing-wrapper-tag\x22,1461890684),new cljs.core.Keyword(null,\x22instance-custom-printing-background\x22,\x22instance-custom-printing-background\x22,-248433646),devtools.formatters.markup.print_via_protocol(value,new cljs.core.Keyword(null,\x22instance-custom-printing-tag\x22,\x22instance-custom-printing-tag\x22,-67034432))], null):null);\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22instance-header-tag\x22,\x22instance-header-tag\x22,903623870),new cljs.core.Keyword(null,\x22instance-header-background\x22,\x22instance-header-background\x22,1510357287),fields_preview_markup,custom_printing_markup,type_markup], null);\n});\ndevtools.formatters.markup._LT_header_GT_ \x3d (function devtools$formatters$markup$_LT_header_GT_(value){\nreturn devtools.formatters.markup._LT_cljs_land_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([devtools.formatters.markup._LT_preview_GT_(value)], 0));\n});\ndevtools.formatters.markup._LT_surrogate_header_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_header_GT_(surrogate){\nvar or__5025__auto__ \x3d devtools.formatters.templating.get_surrogate_header(surrogate);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.markup._LT_preview_GT_(devtools.formatters.templating.get_surrogate_target(surrogate));\n}\n});\ndevtools.formatters.markup._LT_surrogate_target_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_target_GT_(surrogate){\nvar target \x3d devtools.formatters.templating.get_surrogate_target(surrogate);\nif(cljs.core.seqable_QMARK_(target)){\nvar starting_index \x3d devtools.formatters.templating.get_surrogate_start_index(surrogate);\nreturn devtools.formatters.markup._LT_details_GT_(target,starting_index);\n} else {\nreturn devtools.formatters.markup._LT_standard_body_reference_GT_(target);\n}\n});\ndevtools.formatters.markup._LT_surrogate_body_GT_ \x3d (function devtools$formatters$markup$_LT_surrogate_body_GT_(surrogate){\nvar temp__5821__auto__ \x3d devtools.formatters.templating.get_surrogate_body(surrogate);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar body \x3d temp__5821__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22target\x22,\x22target\x22,253001721),body)){\nreturn devtools.formatters.markup._LT_surrogate_target_GT_(surrogate);\n} else {\nreturn body;\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.markup._LT_atomic_GT_ \x3d (function devtools$formatters$markup$_LT_atomic_GT_(value){\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-nils\x22,\x22render-nils\x22,1360008699),value,cljs.core.nil_QMARK_))){\nreturn devtools.formatters.markup._LT_nil_GT_();\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-bools\x22,\x22render-bools\x22,1793659724),value,devtools.formatters.helpers.bool_QMARK_))){\nreturn devtools.formatters.markup._LT_bool_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-strings\x22,\x22render-strings\x22,-1497177335),value,cljs.core.string_QMARK_))){\nreturn devtools.formatters.markup._LT_string_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-numbers\x22,\x22render-numbers\x22,-1385392009),value,cljs.core.number_QMARK_))){\nreturn devtools.formatters.markup._LT_number_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-keywords\x22,\x22render-keywords\x22,1200455875),value,cljs.core.keyword_QMARK_))){\nreturn devtools.formatters.markup._LT_keyword_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-symbols\x22,\x22render-symbols\x22,-887705016),value,cljs.core.symbol_QMARK_))){\nreturn devtools.formatters.markup._LT_symbol_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-instances\x22,\x22render-instances\x22,-1803579686),value,devtools.formatters.helpers.should_render_instance_QMARK_))){\nreturn devtools.formatters.markup._LT_instance_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-types\x22,\x22render-types\x22,-129927851),value,devtools.formatters.helpers.cljs_type_QMARK_))){\nreturn devtools.formatters.markup._LT_standalone_type_GT_(value);\n} else {\nif(cljs.core.truth_(devtools.formatters.helpers.should_render_QMARK_(new cljs.core.Keyword(null,\x22render-functions\x22,\x22render-functions\x22,1273333002),value,devtools.formatters.helpers.cljs_function_QMARK_))){\nreturn devtools.formatters.markup._LT_function_GT_(value);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\ndevtools.formatters.markup.get_markup_db \x3d (function devtools$formatters$markup$get_markup_db(){\nif((devtools.formatters.markup._STAR_markup_db_STAR_ \x3d\x3d null)){\n(devtools.formatters.markup._STAR_markup_db_STAR_ \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22aligned-body\x22,\x22aligned-body\x22,-2124118747),new cljs.core.Keyword(null,\x22native-reference\x22,\x22native-reference\x22,-2013708658),new cljs.core.Keyword(null,\x22reference-surrogate\x22,\x22reference-surrogate\x22,274031791),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),new cljs.core.Keyword(null,\x22protocol-method-arities\x22,\x22protocol-method-arities\x22,-545542044),new cljs.core.Keyword(null,\x22surrogate-header\x22,\x22surrogate-header\x22,1705524526),new cljs.core.Keyword(null,\x22details\x22,\x22details\x22,1956795411),new cljs.core.Keyword(null,\x22more-protocols\x22,\x22more-protocols\x22,359555207),new cljs.core.Keyword(null,\x22field\x22,\x22field\x22,-1302436500),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),new cljs.core.Keyword(null,\x22fields-details\x22,\x22fields-details\x22,-269572714),new cljs.core.Keyword(null,\x22atomic\x22,\x22atomic\x22,-120459460),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),new cljs.core.Keyword(null,\x22standard-body\x22,\x22standard-body\x22,-1563020798),new cljs.core.Keyword(null,\x22type-basis\x22,\x22type-basis\x22,-1825246054),new cljs.core.Keyword(null,\x22bool\x22,\x22bool\x22,1444635321),new cljs.core.Keyword(null,\x22standalone-type\x22,\x22standalone-type\x22,-802565278),new cljs.core.Keyword(null,\x22preview\x22,\x22preview\x22,451279890),new cljs.core.Keyword(null,\x22header\x22,\x22header\x22,119441134),new cljs.core.Keyword(null,\x22protocol-method\x22,\x22protocol-method\x22,1794903206),new cljs.core.Keyword(null,\x22cljs-land\x22,\x22cljs-land\x22,1255896927),new cljs.core.Keyword(null,\x22type-basis-item\x22,\x22type-basis-item\x22,-1662150132),new cljs.core.Keyword(null,\x22protocol-method-arities-details\x22,\x22protocol-method-arities-details\x22,1944702118),new cljs.core.Keyword(null,\x22fields-details-row\x22,\x22fields-details-row\x22,2066344936),new cljs.core.Keyword(null,\x22standard-body-reference\x22,\x22standard-body-reference\x22,1513301561),new cljs.core.Keyword(null,\x22surrogate-body\x22,\x22surrogate-body\x22,-1618569585),new cljs.core.Keyword(null,\x22expandable\x22,\x22expandable\x22,-704609097),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22protocol-method-arity\x22,\x22protocol-method-arity\x22,-1861927833),new cljs.core.Keyword(null,\x22raw-surrogate\x22,\x22raw-surrogate\x22,904931181),new cljs.core.Keyword(null,\x22type-details\x22,\x22type-details\x22,477755178),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),new cljs.core.Keyword(null,\x22meta-wrapper\x22,\x22meta-wrapper\x22,-1989845587),new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),new cljs.core.Keyword(null,\x22index\x22,\x22index\x22,-1531685915),new cljs.core.Keyword(null,\x22surrogate\x22,\x22surrogate\x22,2122284260),new cljs.core.Keyword(null,\x22protocols-list\x22,\x22protocols-list\x22,371434187),new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),new cljs.core.Keyword(null,\x22instance\x22,\x22instance\x22,-2121349050),new cljs.core.Keyword(null,\x22reference\x22,\x22reference\x22,-1711695023),new cljs.core.Keyword(null,\x22function-details\x22,\x22function-details\x22,1501147310),new cljs.core.Keyword(null,\x22function\x22,\x22function\x22,-2127255473),new cljs.core.Keyword(null,\x22arities\x22,\x22arities\x22,-1781122917),new cljs.core.Keyword(null,\x22header-expander\x22,\x22header-expander\x22,-1606368578),new cljs.core.Keyword(null,\x22list-details\x22,\x22list-details\x22,46031799),new cljs.core.Keyword(null,\x22circular-reference\x22,\x22circular-reference\x22,970308727),new cljs.core.Keyword(null,\x22surrogate-target\x22,\x22surrogate-target\x22,-1262730220),new cljs.core.Keyword(null,\x22fields\x22,\x22fields\x22,-1932066230),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438),new cljs.core.Keyword(null,\x22protocol-details\x22,\x22protocol-details\x22,-121549824)],[devtools.formatters.markup._LT_aligned_body_GT_,devtools.formatters.markup._LT_native_reference_GT_,devtools.formatters.markup._LT_reference_surrogate_GT_,devtools.formatters.markup._LT_keyword_GT_,devtools.formatters.markup._LT_protocol_method_arities_GT_,devtools.formatters.markup._LT_surrogate_header_GT_,devtools.formatters.markup._LT_details_GT_,devtools.formatters.markup._LT_more_protocols_GT_,devtools.formatters.markup._LT_field_GT_,devtools.formatters.markup._LT_symbol_GT_,devtools.formatters.markup._LT_fields_details_GT_,devtools.formatters.markup._LT_atomic_GT_,devtools.formatters.markup._LT_string_GT_,devtools.formatters.markup._LT_standard_body_GT_,devtools.formatters.markup._LT_type_basis_GT_,devtools.formatters.markup._LT_bool_GT_,devtools.formatters.markup._LT_standalone_type_GT_,devtools.formatters.markup._LT_preview_GT_,devtools.formatters.markup._LT_header_GT_,devtools.formatters.markup._LT_protocol_method_GT_,devtools.formatters.markup._LT_cljs_land_GT_,devtools.formatters.markup._LT_type_basis_item_GT_,devtools.formatters.markup._LT_protocol_method_arities_details_GT_,devtools.formatters.markup._LT_fields_details_row_GT_,devtools.formatters.markup._LT_standard_body_reference_GT_,devtools.formatters.markup._LT_surrogate_body_GT_,devtools.formatters.markup._LT_expandable_GT_,devtools.formatters.markup._LT_type_GT_,devtools.formatters.markup._LT_protocol_method_arity_GT_,devtools.formatters.markup._LT_raw_surrogate_GT_,devtools.formatters.markup._LT_type_details_GT_,devtools.formatters.markup._LT_list_GT_,devtools.formatters.markup._LT_meta_wrapper_GT_,devtools.formatters.markup._LT_protocol_GT_,devtools.formatters.markup._LT_index_GT_,devtools.formatters.markup._LT_surrogate_GT_,devtools.formatters.markup._LT_protocols_list_GT_,devtools.formatters.markup._LT_meta_GT_,devtools.formatters.markup._LT_instance_GT_,devtools.formatters.markup._LT_reference_GT_,devtools.formatters.markup._LT_function_details_GT_,devtools.formatters.markup._LT_function_GT_,devtools.formatters.markup._LT_arities_GT_,devtools.formatters.markup._LT_header_expander_GT_,devtools.formatters.markup._LT_list_details_GT_,devtools.formatters.markup._LT_circular_reference_GT_,devtools.formatters.markup._LT_surrogate_target_GT_,devtools.formatters.markup._LT_fields_GT_,devtools.formatters.markup._LT_nil_GT_,devtools.formatters.markup._LT_body_GT_,devtools.formatters.markup._LT_number_GT_,devtools.formatters.markup._LT_protocol_details_GT_]));\n} else {\n}\n\nreturn devtools.formatters.markup._STAR_markup_db_STAR_;\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.budgeting.js", true, "goog.provide(\x27devtools.formatters.budgeting\x27);\ndevtools.formatters.budgeting.header_expander_depth_cost \x3d (2);\ndevtools.formatters.budgeting.over_budget_values \x3d (((typeof WeakSet !\x3d\x3d \x27undefined\x27))?(new WeakSet()):cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY));\ndevtools.formatters.budgeting.add_over_budget_value_BANG_ \x3d (function devtools$formatters$budgeting$add_over_budget_value_BANG_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value));\n} else {\nvar o__29041__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__29041__auto__[\x22add\x22]).call(o__29041__auto__,value);\n}\n});\ndevtools.formatters.budgeting.delete_over_budget_value_BANG_ \x3d (function devtools$formatters$budgeting$delete_over_budget_value_BANG_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.vreset_BANG_(devtools.formatters.budgeting.over_budget_values,cljs.core.disj.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value));\n} else {\nvar o__29041__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__29041__auto__[\x22delete\x22]).call(o__29041__auto__,value);\n}\n});\ndevtools.formatters.budgeting.has_over_budget_value_QMARK_ \x3d (function devtools$formatters$budgeting$has_over_budget_value_QMARK_(value){\nif(cljs.core.volatile_QMARK_(devtools.formatters.budgeting.over_budget_values)){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(devtools.formatters.budgeting.over_budget_values),value);\n} else {\nvar o__29041__auto__ \x3d devtools.formatters.budgeting.over_budget_values;\nreturn (o__29041__auto__[\x22has\x22]).call(o__29041__auto__,value);\n}\n});\ndevtools.formatters.budgeting.object_reference_QMARK_ \x3d (function devtools$formatters$budgeting$object_reference_QMARK_(json_ml){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(json_ml),\x22object\x22);\n});\ndevtools.formatters.budgeting.determine_depth \x3d (function devtools$formatters$budgeting$determine_depth(json_ml){\nif(cljs.core.array_QMARK_(json_ml)){\nreturn (cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.max,cljs.core.map.cljs$core$IFn$_invoke$arity$2(devtools.formatters.budgeting.determine_depth,json_ml)) + (1));\n} else {\nreturn (0);\n}\n});\ndevtools.formatters.budgeting.has_any_object_reference_QMARK_ \x3d (function devtools$formatters$budgeting$has_any_object_reference_QMARK_(json_ml){\nif(cljs.core.array_QMARK_(json_ml)){\nif(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){\nreturn true;\n} else {\nreturn cljs.core.some(devtools.formatters.budgeting.has_any_object_reference_QMARK_,json_ml);\n}\n} else {\nreturn null;\n}\n});\ndevtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_ \x3d (function devtools$formatters$budgeting$transfer_remaining_depth_budget_BANG_(object_reference,depth_budget){\nif((!((depth_budget \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? depth-budget))\x22));\n}\n\nvar data \x3d cljs.core.second(object_reference);\nvar _ \x3d ((cljs.core.object_QMARK_(data))?null:(function(){throw (new Error(\x22Assert failed: (object? data)\x22))})());\nvar config \x3d (data[\x22config\x22]);\nvar G__32996 \x3d data;\nvar target__29077__auto__ \x3d G__32996;\nif(cljs.core.truth_(target__29077__auto__)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__32996)].join(\x27\x27),\x22\\n\x22,\x22target__29077__auto__\x22].join(\x27\x27)));\n}\n\n(target__29077__auto__[\x22config\x22] \x3d devtools.formatters.state.set_depth_budget(config,depth_budget));\n\nreturn G__32996;\n});\ndevtools.formatters.budgeting.distribute_budget_BANG_ \x3d (function devtools$formatters$budgeting$distribute_budget_BANG_(json_ml,depth_budget){\nif((!((depth_budget \x3c (0))))){\n} else {\nthrow (new Error(\x22Assert failed: (not (neg? depth-budget))\x22));\n}\n\nif(cljs.core.array_QMARK_(json_ml)){\nvar new_depth_budget_33032 \x3d (depth_budget - (1));\nif(devtools.formatters.budgeting.object_reference_QMARK_(json_ml)){\ndevtools.formatters.budgeting.transfer_remaining_depth_budget_BANG_(json_ml,new_depth_budget_33032);\n} else {\nvar seq__33005_33034 \x3d cljs.core.seq(json_ml);\nvar chunk__33006_33035 \x3d null;\nvar count__33007_33036 \x3d (0);\nvar i__33008_33037 \x3d (0);\nwhile(true){\nif((i__33008_33037 \x3c count__33007_33036)){\nvar item_33038 \x3d chunk__33006_33035.cljs$core$IIndexed$_nth$arity$2(null,i__33008_33037);\n(devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_33038,new_depth_budget_33032) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_33038,new_depth_budget_33032));\n\n\nvar G__33040 \x3d seq__33005_33034;\nvar G__33041 \x3d chunk__33006_33035;\nvar G__33042 \x3d count__33007_33036;\nvar G__33043 \x3d (i__33008_33037 + (1));\nseq__33005_33034 \x3d G__33040;\nchunk__33006_33035 \x3d G__33041;\ncount__33007_33036 \x3d G__33042;\ni__33008_33037 \x3d G__33043;\ncontinue;\n} else {\nvar temp__5823__auto___33045 \x3d cljs.core.seq(seq__33005_33034);\nif(temp__5823__auto___33045){\nvar seq__33005_33046__$1 \x3d temp__5823__auto___33045;\nif(cljs.core.chunked_seq_QMARK_(seq__33005_33046__$1)){\nvar c__5548__auto___33047 \x3d cljs.core.chunk_first(seq__33005_33046__$1);\nvar G__33049 \x3d cljs.core.chunk_rest(seq__33005_33046__$1);\nvar G__33050 \x3d c__5548__auto___33047;\nvar G__33051 \x3d cljs.core.count(c__5548__auto___33047);\nvar G__33052 \x3d (0);\nseq__33005_33034 \x3d G__33049;\nchunk__33006_33035 \x3d G__33050;\ncount__33007_33036 \x3d G__33051;\ni__33008_33037 \x3d G__33052;\ncontinue;\n} else {\nvar item_33053 \x3d cljs.core.first(seq__33005_33046__$1);\n(devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2 ? devtools.formatters.budgeting.distribute_budget_BANG_.cljs$core$IFn$_invoke$arity$2(item_33053,new_depth_budget_33032) : devtools.formatters.budgeting.distribute_budget_BANG_.call(null,item_33053,new_depth_budget_33032));\n\n\nvar G__33054 \x3d cljs.core.next(seq__33005_33046__$1);\nvar G__33055 \x3d null;\nvar G__33056 \x3d (0);\nvar G__33057 \x3d (0);\nseq__33005_33034 \x3d G__33054;\nchunk__33006_33035 \x3d G__33055;\ncount__33007_33036 \x3d G__33056;\ni__33008_33037 \x3d G__33057;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n} else {\n}\n\nreturn json_ml;\n});\ndevtools.formatters.budgeting.was_over_budget_QMARK__BANG_ \x3d (function devtools$formatters$budgeting$was_over_budget_QMARK__BANG_(value){\nif(cljs.core.truth_(devtools.formatters.budgeting.has_over_budget_value_QMARK_(value))){\ndevtools.formatters.budgeting.delete_over_budget_value_BANG_(value);\n\nreturn true;\n} else {\nreturn null;\n}\n});\ndevtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_ \x3d (function devtools$formatters$budgeting$alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml){\nvar temp__5821__auto__ \x3d devtools.formatters.helpers.pref(new cljs.core.Keyword(null,\x22initial-hierarchy-depth-budget\x22,\x22initial-hierarchy-depth-budget\x22,-482715807));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar initial_hierarchy_depth_budget \x3d temp__5821__auto__;\nvar remaining_depth_budget \x3d (function (){var or__5025__auto__ \x3d devtools.formatters.state.get_depth_budget();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (initial_hierarchy_depth_budget - (1));\n}\n})();\nvar depth \x3d devtools.formatters.budgeting.determine_depth(json_ml);\nvar final_QMARK_ \x3d cljs.core.not(devtools.formatters.budgeting.has_any_object_reference_QMARK_(json_ml));\nvar needed_depth \x3d ((final_QMARK_)?depth:(depth + devtools.formatters.budgeting.header_expander_depth_cost));\nif((remaining_depth_budget \x3e\x3d needed_depth)){\nreturn devtools.formatters.budgeting.distribute_budget_BANG_(json_ml,remaining_depth_budget);\n} else {\nvar expander_ml \x3d devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_expander_GT_(value));\ndevtools.formatters.budgeting.add_over_budget_value_BANG_(value);\n\nreturn expander_ml;\n}\n} else {\nreturn json_ml;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.formatters.core.js", true, "goog.provide(\x27devtools.formatters.core\x27);\ndevtools.formatters.core.want_value_QMARK__STAR_ \x3d (function devtools$formatters$core$want_value_QMARK__STAR_(value){\nvar and__5023__auto__ \x3d cljs.core.not(devtools.formatters.state.prevent_recursion_QMARK_());\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d devtools.formatters.helpers.cljs_value_QMARK_(value);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.templating.surrogate_QMARK_(value);\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ndevtools.formatters.core.header_STAR_ \x3d (function devtools$formatters$core$header_STAR_(value){\nvar json_ml \x3d ((devtools.formatters.templating.surrogate_QMARK_(value))?devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_header_GT_(value)):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e33018){var _e__29095__auto__ \x3d e33018;\nreturn false;\n}})())?devtools.format._header(value):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e33021){var _e__29095__auto__ \x3d e33021;\nreturn false;\n}})())?devtools.protocols._header(value):devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_header_GT_(value))\n)));\nreturn devtools.formatters.budgeting.alter_json_ml_to_fit_in_remaining_budget_BANG_(value,json_ml);\n});\ndevtools.formatters.core.has_body_STAR_ \x3d (function devtools$formatters$core$has_body_STAR_(value){\nif(cljs.core.truth_(devtools.formatters.budgeting.was_over_budget_QMARK__BANG_(value))){\nreturn false;\n} else {\nreturn cljs.core.boolean$(((devtools.formatters.templating.surrogate_QMARK_(value))?(!((devtools.formatters.templating.get_surrogate_body(value) \x3d\x3d null))):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e33027){var _e__29095__auto__ \x3d e33027;\nreturn false;\n}})())?devtools.format._has_body(value):(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e33030){var _e__29095__auto__ \x3d e33030;\nreturn false;\n}})())?devtools.protocols._has_body(value):false\n))));\n}\n});\ndevtools.formatters.core.body_STAR_ \x3d (function devtools$formatters$core$body_STAR_(value){\ndevtools.formatters.state.update_current_state_BANG_(devtools.formatters.state.reset_depth_limits);\n\nif(devtools.formatters.templating.surrogate_QMARK_(value)){\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_body_GT_(value));\n} else {\nif(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$format$IDevtoolsFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.format.IDevtoolsFormat,value);\n}\n}catch (e33063){var _e__29095__auto__ \x3d e33063;\nreturn false;\n}})())){\nreturn devtools.format._body(value);\n} else {\nif(cljs.core.truth_((function (){try{if((!((value \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d value.devtools$protocols$IFormat$)))){\nreturn true;\n} else {\nif((!value.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(devtools.protocols.IFormat,value);\n}\n}catch (e33067){var _e__29095__auto__ \x3d e33067;\nreturn false;\n}})())){\nreturn devtools.protocols._body(value);\n} else {\nreturn null;\n}\n}\n}\n});\ndevtools.formatters.core.config_wrapper \x3d (function devtools$formatters$core$config_wrapper(raw_fn){\nreturn (function (value,config){\nvar _STAR_current_state_STAR__orig_val__33075 \x3d devtools.formatters.state._STAR_current_state_STAR_;\nvar _STAR_current_state_STAR__temp_val__33076 \x3d (function (){var or__5025__auto__ \x3d config;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn devtools.formatters.state.get_default_state();\n}\n})();\n(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__temp_val__33076);\n\ntry{return (raw_fn.cljs$core$IFn$_invoke$arity$1 ? raw_fn.cljs$core$IFn$_invoke$arity$1(value) : raw_fn.call(null,value));\n}finally {(devtools.formatters.state._STAR_current_state_STAR_ \x3d _STAR_current_state_STAR__orig_val__33075);\n}});\n});\ndevtools.formatters.core.want_value_QMARK_ \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.want_value_QMARK__STAR_);\ndevtools.formatters.core.header \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.header_STAR_);\ndevtools.formatters.core.has_body \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.has_body_STAR_);\ndevtools.formatters.core.body \x3d devtools.formatters.core.config_wrapper(devtools.formatters.core.body_STAR_);\ndevtools.formatters.core.wrap_with_exception_guard \x3d (function devtools$formatters$core$wrap_with_exception_guard(f){\nreturn (function() { \nvar G__33116__delegate \x3d function (args){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e33087){var e \x3d e33087;\ndevtools.reporter.report_internal_error_BANG_.cljs$core$IFn$_invoke$arity$variadic(e,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22an exception was raised during value formatting\x22], 0));\n\nreturn null;\n}};\nvar G__33116 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__33117__i \x3d 0, G__33117__a \x3d new Array(arguments.length - 0);\nwhile (G__33117__i \x3c G__33117__a.length) {G__33117__a[G__33117__i] \x3d arguments[G__33117__i + 0]; ++G__33117__i;}\n args \x3d new cljs.core.IndexedSeq(G__33117__a,0,null);\n} \nreturn G__33116__delegate.call(this,args);};\nG__33116.cljs$lang$maxFixedArity \x3d 0;\nG__33116.cljs$lang$applyTo \x3d (function (arglist__33121){\nvar args \x3d cljs.core.seq(arglist__33121);\nreturn G__33116__delegate(args);\n});\nG__33116.cljs$core$IFn$_invoke$arity$variadic \x3d G__33116__delegate;\nreturn G__33116;\n})()\n;\n});\ndevtools.formatters.core.build_api_call \x3d (function devtools$formatters$core$build_api_call(raw_fn,pre_handler_key,post_handler_key){\n\nvar handler \x3d (function (value,config){\nvar pre_handler \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(pre_handler_key);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.identity;\n}\n})();\nvar post_handler \x3d (function (){var or__5025__auto__ \x3d devtools.prefs.pref(post_handler_key);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.identity;\n}\n})();\nvar preprocessed_value \x3d (pre_handler.cljs$core$IFn$_invoke$arity$1 ? pre_handler.cljs$core$IFn$_invoke$arity$1(value) : pre_handler.call(null,value));\nvar result \x3d (cljs.core.truth_(devtools.formatters.core.want_value_QMARK_(preprocessed_value,config))?(raw_fn.cljs$core$IFn$_invoke$arity$2 ? raw_fn.cljs$core$IFn$_invoke$arity$2(preprocessed_value,config) : raw_fn.call(null,preprocessed_value,config)):null);\nreturn (post_handler.cljs$core$IFn$_invoke$arity$1 ? post_handler.cljs$core$IFn$_invoke$arity$1(result) : post_handler.call(null,result));\n});\nreturn devtools.formatters.core.wrap_with_exception_guard(handler);\n});\ndevtools.formatters.core.header_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.header,new cljs.core.Keyword(null,\x22header-pre-handler\x22,\x22header-pre-handler\x22,-1997722262),new cljs.core.Keyword(null,\x22header-post-handler\x22,\x22header-post-handler\x22,514828618));\ndevtools.formatters.core.has_body_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.has_body,new cljs.core.Keyword(null,\x22has-body-pre-handler\x22,\x22has-body-pre-handler\x22,1787020038),new cljs.core.Keyword(null,\x22has-body-post-handler\x22,\x22has-body-post-handler\x22,-863451271));\ndevtools.formatters.core.body_api_call \x3d devtools.formatters.core.build_api_call(devtools.formatters.core.body,new cljs.core.Keyword(null,\x22body-pre-handler\x22,\x22body-pre-handler\x22,1211926529),new cljs.core.Keyword(null,\x22body-post-handler\x22,\x22body-post-handler\x22,-1040905424));\n");
SHADOW_ENV.evalLoad("devtools.formatters.js", true, "goog.provide(\x27devtools.formatters\x27);\ngoog.scope(function(){\n devtools.formatters.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.formatters._STAR_installed_STAR_ \x3d false;\ndevtools.formatters._STAR_sanitizer_enabled_STAR_ \x3d true;\ndevtools.formatters._STAR_monitor_enabled_STAR_ \x3d false;\ndevtools.formatters.obsolete_formatter_key \x3d \x22devtoolsFormatter\x22;\ndevtools.formatters.available_QMARK_ \x3d (function devtools$formatters$available_QMARK_(){\nvar or__5025__auto__ \x3d devtools.util.in_node_context_QMARK_.call(null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var and__5023__auto__ \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isChrome();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((47));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var and__5023__auto__ \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isFirefox();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((111));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar and__5023__auto__ \x3d (function (){var or__5025__auto____$3 \x3d devtools.formatters.goog$module$goog$labs$userAgent$browser.isEdge();\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isEdgeChromium();\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.formatters.goog$module$goog$labs$userAgent$browser.isVersionOrHigher((79));\n} else {\nreturn and__5023__auto__;\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\ndevtools.formatters.CLJSDevtoolsFormatter \x3d (function (){\n});\n\n(devtools.formatters.CLJSDevtoolsFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$type \x3d true);\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$ctorStr \x3d \x22devtools.formatters/CLJSDevtoolsFormatter\x22);\n\n(devtools.formatters.CLJSDevtoolsFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.formatters/CLJSDevtoolsFormatter\x22);\n}));\n\n/**\n * Positional factory function for devtools.formatters/CLJSDevtoolsFormatter.\n */\ndevtools.formatters.__GT_CLJSDevtoolsFormatter \x3d (function devtools$formatters$__GT_CLJSDevtoolsFormatter(){\nreturn (new devtools.formatters.CLJSDevtoolsFormatter());\n});\n\ndevtools.formatters.find_fn_in_debug_ns \x3d (function devtools$formatters$find_fn_in_debug_ns(fn_name){\ntry{return (devtools.context.get_root.call(null)[\x22devtools\x22][\x22debug\x22][fn_name]);\n}catch (e34954){var _ \x3d e34954;\nreturn null;\n}});\ndevtools.formatters.monitor_api_call_if_avail \x3d (function devtools$formatters$monitor_api_call_if_avail(name,api_call,args){\nvar temp__5821__auto__ \x3d devtools.formatters.find_fn_in_debug_ns(\x22monitor_api_call\x22);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar monitor_api_call \x3d temp__5821__auto__;\nreturn (monitor_api_call.cljs$core$IFn$_invoke$arity$3 ? monitor_api_call.cljs$core$IFn$_invoke$arity$3(name,api_call,args) : monitor_api_call.call(null,name,api_call,args));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n}\n});\ndevtools.formatters.log_exception_if_avail \x3d (function devtools$formatters$log_exception_if_avail(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35023 \x3d arguments.length;\nvar i__5750__auto___35024 \x3d (0);\nwhile(true){\nif((i__5750__auto___35024 \x3c len__5749__auto___35023)){\nargs__5755__auto__.push((arguments[i__5750__auto___35024]));\n\nvar G__35025 \x3d (i__5750__auto___35024 + (1));\ni__5750__auto___35024 \x3d G__35025;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn devtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(devtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nvar temp__5821__auto__ \x3d devtools.formatters.find_fn_in_debug_ns(\x22log_exception\x22);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar log_exception \x3d temp__5821__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(log_exception,args);\n} else {\nreturn null;\n}\n}));\n\n(devtools.formatters.log_exception_if_avail.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(devtools.formatters.log_exception_if_avail.cljs$lang$applyTo \x3d (function (seq34966){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq34966));\n}));\n\ndevtools.formatters.monitor_api_calls \x3d (function devtools$formatters$monitor_api_calls(name,api_call){\nreturn (function() { \nvar G__35035__delegate \x3d function (args){\nif(cljs.core.not(devtools.formatters._STAR_monitor_enabled_STAR_)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n} else {\nreturn devtools.formatters.monitor_api_call_if_avail(name,api_call,args);\n}\n};\nvar G__35035 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__35042__i \x3d 0, G__35042__a \x3d new Array(arguments.length - 0);\nwhile (G__35042__i \x3c G__35042__a.length) {G__35042__a[G__35042__i] \x3d arguments[G__35042__i + 0]; ++G__35042__i;}\n args \x3d new cljs.core.IndexedSeq(G__35042__a,0,null);\n} \nreturn G__35035__delegate.call(this,args);};\nG__35035.cljs$lang$maxFixedArity \x3d 0;\nG__35035.cljs$lang$applyTo \x3d (function (arglist__35043){\nvar args \x3d cljs.core.seq(arglist__35043);\nreturn G__35035__delegate(args);\n});\nG__35035.cljs$core$IFn$_invoke$arity$variadic \x3d G__35035__delegate;\nreturn G__35035;\n})()\n;\n});\ndevtools.formatters.sanitize \x3d (function devtools$formatters$sanitize(name,api_call){\nreturn (function() { \nvar G__35045__delegate \x3d function (args){\nif(cljs.core.not(devtools.formatters._STAR_sanitizer_enabled_STAR_)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n} else {\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(api_call,args);\n}catch (e34975){var e \x3d e34975;\ndevtools.formatters.log_exception_if_avail.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e)].join(\x27\x27)], 0));\n\nreturn null;\n}}\n};\nvar G__35045 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__35050__i \x3d 0, G__35050__a \x3d new Array(arguments.length - 0);\nwhile (G__35050__i \x3c G__35050__a.length) {G__35050__a[G__35050__i] \x3d arguments[G__35050__i + 0]; ++G__35050__i;}\n args \x3d new cljs.core.IndexedSeq(G__35050__a,0,null);\n} \nreturn G__35045__delegate.call(this,args);};\nG__35045.cljs$lang$maxFixedArity \x3d 0;\nG__35045.cljs$lang$applyTo \x3d (function (arglist__35054){\nvar args \x3d cljs.core.seq(arglist__35054);\nreturn G__35045__delegate(args);\n});\nG__35045.cljs$core$IFn$_invoke$arity$variadic \x3d G__35045__delegate;\nreturn G__35045;\n})()\n;\n});\ndevtools.formatters.build_cljs_formatter \x3d (function devtools$formatters$build_cljs_formatter(){\nvar wrap \x3d (function (name,api_call){\nvar monitor \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.monitor_api_calls,name);\nvar sanitizer \x3d cljs.core.partial.cljs$core$IFn$_invoke$arity$2(devtools.formatters.sanitize,name);\ncljs.core.comp.cljs$core$IFn$_invoke$arity$2(monitor,sanitizer)(api_call);\n\nreturn api_call;\n});\nvar formatter \x3d (new devtools.formatters.CLJSDevtoolsFormatter());\nvar define_BANG_ \x3d (function (name,fn){\nreturn (formatter[name] \x3d wrap(name,fn));\n});\ndefine_BANG_(\x22header\x22,devtools.formatters.core.header_api_call);\n\ndefine_BANG_(\x22hasBody\x22,devtools.formatters.core.has_body_api_call);\n\ndefine_BANG_(\x22body\x22,devtools.formatters.core.body_api_call);\n\nreturn formatter;\n});\ndevtools.formatters.is_ours_QMARK_ \x3d (function devtools$formatters$is_ours_QMARK_(o){\nreturn (o instanceof devtools.formatters.CLJSDevtoolsFormatter);\n});\ndevtools.formatters.install_our_formatter_BANG_ \x3d (function devtools$formatters$install_our_formatter_BANG_(formatter){\nvar formatters \x3d devtools.util.get_formatters_safe().slice();\nformatters.push(formatter);\n\ndevtools.util.set_formatters_safe_BANG_(formatters);\n\nif(cljs.core.truth_(devtools.prefs.pref(new cljs.core.Keyword(null,\x22legacy-formatter\x22,\x22legacy-formatter\x22,-1954119499)))){\nreturn (devtools.context.get_root.call(null)[devtools.formatters.obsolete_formatter_key] \x3d formatter);\n} else {\nreturn null;\n}\n});\ndevtools.formatters.uninstall_our_formatters_BANG_ \x3d (function devtools$formatters$uninstall_our_formatters_BANG_(){\nvar new_formatters \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(devtools.formatters.is_ours_QMARK_,cljs.core.vec(devtools.util.get_formatters_safe()));\nvar new_formatters_js \x3d ((cljs.core.empty_QMARK_(new_formatters))?null:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(new_formatters));\nreturn devtools.util.set_formatters_safe_BANG_(new_formatters_js);\n});\ndevtools.formatters.installed_QMARK_ \x3d (function devtools$formatters$installed_QMARK_(){\nreturn devtools.formatters._STAR_installed_STAR_;\n});\ndevtools.formatters.install_BANG_ \x3d (function devtools$formatters$install_BANG_(){\nif(cljs.core.truth_(devtools.formatters._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.formatters._STAR_installed_STAR_ \x3d true);\n\ndevtools.formatters.install_our_formatter_BANG_(devtools.formatters.build_cljs_formatter());\n\nreturn true;\n}\n});\ndevtools.formatters.uninstall_BANG_ \x3d (function devtools$formatters$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.formatters._STAR_installed_STAR_)){\n(devtools.formatters._STAR_installed_STAR_ \x3d false);\n\nreturn devtools.formatters.uninstall_our_formatters_BANG_();\n} else {\nreturn null;\n}\n});\ndevtools.formatters.present_QMARK_ \x3d (function devtools$formatters$present_QMARK_(){\nvar formatters \x3d devtools.util.get_formatters_safe();\nreturn cljs.core.boolean$(cljs.core.some(devtools.formatters.is_ours_QMARK_,formatters));\n});\n");
SHADOW_ENV.evalLoad("goog.debug.entrypointregistry.js", true, "goog.provide(\x22goog.debug.EntryPointMonitor\x22);\ngoog.provide(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.debug.entryPointRegistry.EntryPointMonitor \x3d function() {\n};\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.wrap;\ngoog.debug.entryPointRegistry.EntryPointMonitor.prototype.unwrap;\ngoog.debug.EntryPointMonitor \x3d goog.debug.entryPointRegistry.EntryPointMonitor;\ngoog.debug.entryPointRegistry.refList_ \x3d [];\ngoog.debug.entryPointRegistry.monitors_ \x3d [];\ngoog.debug.entryPointRegistry.monitorsMayExist_ \x3d false;\ngoog.debug.entryPointRegistry.register \x3d function(callback) {\n goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length] \x3d callback;\n if (goog.debug.entryPointRegistry.monitorsMayExist_) {\n var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n var i \x3d 0;\n for (; i \x3c monitors.length; i++) {\n callback(goog.bind(monitors[i].wrap, monitors[i]));\n }\n }\n};\ngoog.debug.entryPointRegistry.monitorAll \x3d function(monitor) {\n goog.debug.entryPointRegistry.monitorsMayExist_ \x3d true;\n var transformer \x3d goog.bind(monitor.wrap, monitor);\n var i \x3d 0;\n for (; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n goog.debug.entryPointRegistry.refList_[i](transformer);\n }\n goog.debug.entryPointRegistry.monitors_.push(monitor);\n};\ngoog.debug.entryPointRegistry.unmonitorAllIfPossible \x3d function(monitor) {\n var monitors \x3d goog.debug.entryPointRegistry.monitors_;\n goog.asserts.assert(monitor \x3d\x3d monitors[monitors.length - 1], \x22Only the most recent monitor can be unwrapped.\x22);\n var transformer \x3d goog.bind(monitor.unwrap, monitor);\n var i \x3d 0;\n for (; i \x3c goog.debug.entryPointRegistry.refList_.length; i++) {\n goog.debug.entryPointRegistry.refList_[i](transformer);\n }\n monitors.length--;\n};\n");
SHADOW_ENV.evalLoad("goog.dom.browserfeature.js", true, "goog.provide(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS \x3d goog.define(\x22goog.dom.ASSUME_NO_OFFSCREEN_CANVAS\x22, false);\ngoog.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS \x3d goog.define(\x22goog.dom.ASSUME_OFFSCREEN_CANVAS\x22, false);\ngoog.dom.BrowserFeature.detectOffscreenCanvas_ \x3d function(contextName) {\n try {\n return Boolean((new self.OffscreenCanvas(0, 0)).getContext(contextName));\n } catch (ex) {\n }\n return false;\n};\ngoog.dom.BrowserFeature.OFFSCREEN_CANVAS_2D \x3d !goog.dom.BrowserFeature.ASSUME_NO_OFFSCREEN_CANVAS \x26\x26 (goog.dom.BrowserFeature.ASSUME_OFFSCREEN_CANVAS || goog.dom.BrowserFeature.detectOffscreenCanvas_(\x222d\x22));\ngoog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES \x3d true;\ngoog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE \x3d true;\ngoog.dom.BrowserFeature.CAN_USE_INNER_TEXT \x3d false;\ngoog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY \x3d goog.userAgent.IE || goog.userAgent.WEBKIT;\ngoog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT \x3d goog.userAgent.IE;\n");
SHADOW_ENV.evalLoad("goog.math.math.js", true, "goog.provide(\x22goog.math\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.math.randomInt \x3d function(a) {\n return Math.floor(Math.random() * a);\n};\ngoog.math.uniformRandom \x3d function(a, b) {\n return a + Math.random() * (b - a);\n};\ngoog.math.clamp \x3d function(value, min, max) {\n return Math.min(Math.max(value, min), max);\n};\ngoog.math.modulo \x3d function(a, b) {\n var r \x3d a % b;\n return r * b \x3c 0 ? r + b : r;\n};\ngoog.math.lerp \x3d function(a, b, x) {\n return a + x * (b - a);\n};\ngoog.math.nearlyEquals \x3d function(a, b, opt_tolerance) {\n return Math.abs(a - b) \x3c\x3d (opt_tolerance || 0.000001);\n};\ngoog.math.standardAngle \x3d function(angle) {\n return goog.math.modulo(angle, 360);\n};\ngoog.math.standardAngleInRadians \x3d function(angle) {\n return goog.math.modulo(angle, 2 * Math.PI);\n};\ngoog.math.toRadians \x3d function(angleDegrees) {\n return angleDegrees * Math.PI / 180;\n};\ngoog.math.toDegrees \x3d function(angleRadians) {\n return angleRadians * 180 / Math.PI;\n};\ngoog.math.angleDx \x3d function(degrees, radius) {\n return radius * Math.cos(goog.math.toRadians(degrees));\n};\ngoog.math.angleDy \x3d function(degrees, radius) {\n return radius * Math.sin(goog.math.toRadians(degrees));\n};\ngoog.math.angle \x3d function(x1, y1, x2, y2) {\n return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(y2 - y1, x2 - x1)));\n};\ngoog.math.angleDifference \x3d function(startAngle, endAngle) {\n var d \x3d goog.math.standardAngle(endAngle) - goog.math.standardAngle(startAngle);\n if (d \x3e 180) {\n d \x3d d - 360;\n } else if (d \x3c\x3d -180) {\n d \x3d 360 + d;\n }\n return d;\n};\ngoog.math.sign \x3d function(x) {\n if (x \x3e 0) {\n return 1;\n }\n if (x \x3c 0) {\n return -1;\n }\n return x;\n};\ngoog.math.longestCommonSubsequence \x3d function(array1, array2, opt_compareFn, opt_collectorFn) {\n var compare \x3d opt_compareFn || function(a, b) {\n return a \x3d\x3d b;\n };\n var collect \x3d opt_collectorFn || function(i1, i2) {\n return array1[i1];\n };\n var length1 \x3d array1.length;\n var length2 \x3d array2.length;\n var arr \x3d [];\n var i \x3d 0;\n for (; i \x3c length1 + 1; i++) {\n arr[i] \x3d [];\n arr[i][0] \x3d 0;\n }\n var j \x3d 0;\n for (; j \x3c length2 + 1; j++) {\n arr[0][j] \x3d 0;\n }\n i \x3d 1;\n for (; i \x3c\x3d length1; i++) {\n j \x3d 1;\n for (; j \x3c\x3d length2; j++) {\n if (compare(array1[i - 1], array2[j - 1])) {\n arr[i][j] \x3d arr[i - 1][j - 1] + 1;\n } else {\n arr[i][j] \x3d Math.max(arr[i - 1][j], arr[i][j - 1]);\n }\n }\n }\n var result \x3d [];\n i \x3d length1;\n j \x3d length2;\n for (; i \x3e 0 \x26\x26 j \x3e 0;) {\n if (compare(array1[i - 1], array2[j - 1])) {\n result.unshift(collect(i - 1, j - 1));\n i--;\n j--;\n } else {\n if (arr[i - 1][j] \x3e arr[i][j - 1]) {\n i--;\n } else {\n j--;\n }\n }\n }\n return result;\n};\ngoog.math.sum \x3d function(var_args) {\n return Array.prototype.reduce.call(arguments, function(sum, value) {\n return sum + value;\n }, 0);\n};\ngoog.math.average \x3d function(var_args) {\n return goog.math.sum.apply(null, arguments) / arguments.length;\n};\ngoog.math.sampleVariance \x3d function(var_args) {\n var sampleSize \x3d arguments.length;\n if (sampleSize \x3c 2) {\n return 0;\n }\n var mean \x3d goog.math.average.apply(null, arguments);\n var variance \x3d goog.math.sum.apply(null, Array.prototype.map.call(arguments, function(val) {\n return Math.pow(val - mean, 2);\n })) / (sampleSize - 1);\n return variance;\n};\ngoog.math.standardDeviation \x3d function(var_args) {\n return Math.sqrt(goog.math.sampleVariance.apply(null, arguments));\n};\ngoog.math.isInt \x3d function(num) {\n return isFinite(num) \x26\x26 num % 1 \x3d\x3d 0;\n};\ngoog.math.isFiniteNumber \x3d function(num) {\n return isFinite(num);\n};\ngoog.math.isNegativeZero \x3d function(num) {\n return num \x3d\x3d 0 \x26\x26 1 / num \x3c 0;\n};\ngoog.math.log10Floor \x3d function(num) {\n if (num \x3e 0) {\n var x \x3d Math.round(Math.log(num) * Math.LOG10E);\n return x - (parseFloat(\x221e\x22 + x) \x3e num ? 1 : 0);\n }\n return num \x3d\x3d 0 ? -Infinity : NaN;\n};\ngoog.math.safeFloor \x3d function(num, opt_epsilon) {\n goog.asserts.assert(opt_epsilon \x3d\x3d\x3d undefined || opt_epsilon \x3e 0);\n return Math.floor(num + (opt_epsilon || 2e-15));\n};\ngoog.math.safeCeil \x3d function(num, opt_epsilon) {\n goog.asserts.assert(opt_epsilon \x3d\x3d\x3d undefined || opt_epsilon \x3e 0);\n return Math.ceil(num - (opt_epsilon || 2e-15));\n};\n");
SHADOW_ENV.evalLoad("goog.math.coordinate.js", true, "goog.provide(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math\x22);\ngoog.math.Coordinate \x3d function(opt_x, opt_y) {\n this.x \x3d opt_x !\x3d\x3d undefined ? opt_x : 0;\n this.y \x3d opt_y !\x3d\x3d undefined ? opt_y : 0;\n};\ngoog.math.Coordinate.prototype.clone \x3d function() {\n return new goog.math.Coordinate(this.x, this.y);\n};\nif (goog.DEBUG) {\n goog.math.Coordinate.prototype.toString \x3d function() {\n return \x22(\x22 + this.x + \x22, \x22 + this.y + \x22)\x22;\n };\n}\ngoog.math.Coordinate.prototype.equals \x3d function(other) {\n return other instanceof goog.math.Coordinate \x26\x26 goog.math.Coordinate.equals(this, other);\n};\ngoog.math.Coordinate.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.x \x3d\x3d b.x \x26\x26 a.y \x3d\x3d b.y;\n};\ngoog.math.Coordinate.distance \x3d function(a, b) {\n var dx \x3d a.x - b.x;\n var dy \x3d a.y - b.y;\n return Math.sqrt(dx * dx + dy * dy);\n};\ngoog.math.Coordinate.magnitude \x3d function(a) {\n return Math.sqrt(a.x * a.x + a.y * a.y);\n};\ngoog.math.Coordinate.azimuth \x3d function(a) {\n return goog.math.angle(0, 0, a.x, a.y);\n};\ngoog.math.Coordinate.squaredDistance \x3d function(a, b) {\n var dx \x3d a.x - b.x;\n var dy \x3d a.y - b.y;\n return dx * dx + dy * dy;\n};\ngoog.math.Coordinate.difference \x3d function(a, b) {\n return new goog.math.Coordinate(a.x - b.x, a.y - b.y);\n};\ngoog.math.Coordinate.sum \x3d function(a, b) {\n return new goog.math.Coordinate(a.x + b.x, a.y + b.y);\n};\ngoog.math.Coordinate.prototype.ceil \x3d function() {\n this.x \x3d Math.ceil(this.x);\n this.y \x3d Math.ceil(this.y);\n return this;\n};\ngoog.math.Coordinate.prototype.floor \x3d function() {\n this.x \x3d Math.floor(this.x);\n this.y \x3d Math.floor(this.y);\n return this;\n};\ngoog.math.Coordinate.prototype.round \x3d function() {\n this.x \x3d Math.round(this.x);\n this.y \x3d Math.round(this.y);\n return this;\n};\ngoog.math.Coordinate.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.x +\x3d tx.x;\n this.y +\x3d tx.y;\n } else {\n this.x +\x3d Number(tx);\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.y +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Coordinate.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.x *\x3d sx;\n this.y *\x3d sy;\n return this;\n};\ngoog.math.Coordinate.prototype.rotateRadians \x3d function(radians, opt_center) {\n var center \x3d opt_center || new goog.math.Coordinate(0, 0);\n var x \x3d this.x;\n var y \x3d this.y;\n var cos \x3d Math.cos(radians);\n var sin \x3d Math.sin(radians);\n this.x \x3d (x - center.x) * cos - (y - center.y) * sin + center.x;\n this.y \x3d (x - center.x) * sin + (y - center.y) * cos + center.y;\n};\ngoog.math.Coordinate.prototype.rotateDegrees \x3d function(degrees, opt_center) {\n this.rotateRadians(goog.math.toRadians(degrees), opt_center);\n};\n");
SHADOW_ENV.evalLoad("goog.math.size.js", true, "goog.provide(\x22goog.math.Size\x22);\ngoog.math.Size \x3d function(width, height) {\n this.width \x3d width;\n this.height \x3d height;\n};\ngoog.math.Size.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.width \x3d\x3d b.width \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Size.prototype.clone \x3d function() {\n return new goog.math.Size(this.width, this.height);\n};\nif (goog.DEBUG) {\n goog.math.Size.prototype.toString \x3d function() {\n return \x22(\x22 + this.width + \x22 x \x22 + this.height + \x22)\x22;\n };\n}\ngoog.math.Size.prototype.getLongest \x3d function() {\n return Math.max(this.width, this.height);\n};\ngoog.math.Size.prototype.getShortest \x3d function() {\n return Math.min(this.width, this.height);\n};\ngoog.math.Size.prototype.area \x3d function() {\n return this.width * this.height;\n};\ngoog.math.Size.prototype.perimeter \x3d function() {\n return (this.width + this.height) * 2;\n};\ngoog.math.Size.prototype.aspectRatio \x3d function() {\n return this.width / this.height;\n};\ngoog.math.Size.prototype.isEmpty \x3d function() {\n return !this.area();\n};\ngoog.math.Size.prototype.ceil \x3d function() {\n this.width \x3d Math.ceil(this.width);\n this.height \x3d Math.ceil(this.height);\n return this;\n};\ngoog.math.Size.prototype.fitsInside \x3d function(target) {\n return this.width \x3c\x3d target.width \x26\x26 this.height \x3c\x3d target.height;\n};\ngoog.math.Size.prototype.floor \x3d function() {\n this.width \x3d Math.floor(this.width);\n this.height \x3d Math.floor(this.height);\n return this;\n};\ngoog.math.Size.prototype.round \x3d function() {\n this.width \x3d Math.round(this.width);\n this.height \x3d Math.round(this.height);\n return this;\n};\ngoog.math.Size.prototype.scale \x3d function(sx, opt_sy) {\n const sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.width *\x3d sx;\n this.height *\x3d sy;\n return this;\n};\ngoog.math.Size.prototype.scaleToCover \x3d function(target) {\n const s \x3d this.aspectRatio() \x3c\x3d target.aspectRatio() ? target.width / this.width : target.height / this.height;\n return this.scale(s);\n};\ngoog.math.Size.prototype.scaleToFit \x3d function(target) {\n const s \x3d this.aspectRatio() \x3e target.aspectRatio() ? target.width / this.width : target.height / this.height;\n return this.scale(s);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.dom.js", true, "goog.provide(\x22goog.dom\x22);\ngoog.provide(\x22goog.dom.Appendable\x22);\ngoog.provide(\x22goog.dom.DomHelper\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.asserts.dom\x22);\ngoog.require(\x22goog.dom.BrowserFeature\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeHtml\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.string.Unicode\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.ASSUME_QUIRKS_MODE \x3d goog.define(\x22goog.dom.ASSUME_QUIRKS_MODE\x22, false);\ngoog.dom.ASSUME_STANDARDS_MODE \x3d goog.define(\x22goog.dom.ASSUME_STANDARDS_MODE\x22, false);\ngoog.dom.COMPAT_MODE_KNOWN_ \x3d goog.dom.ASSUME_QUIRKS_MODE || goog.dom.ASSUME_STANDARDS_MODE;\ngoog.dom.getDomHelper \x3d function(opt_element) {\n return opt_element ? new goog.dom.DomHelper(goog.dom.getOwnerDocument(opt_element)) : goog.dom.defaultDomHelper_ || (goog.dom.defaultDomHelper_ \x3d new goog.dom.DomHelper());\n};\ngoog.dom.defaultDomHelper_;\ngoog.dom.getDocument \x3d function() {\n return document;\n};\ngoog.dom.getElement \x3d function(element) {\n return goog.dom.getElementHelper_(document, element);\n};\ngoog.dom.getHTMLElement \x3d function(id) {\n const element \x3d goog.dom.getElement(id);\n if (!element) {\n return null;\n }\n return goog.asserts.dom.assertIsHtmlElement(element);\n};\ngoog.dom.getElementHelper_ \x3d function(doc, element) {\n return typeof element \x3d\x3d\x3d \x22string\x22 ? doc.getElementById(element) : element;\n};\ngoog.dom.getRequiredElement \x3d function(id) {\n return goog.dom.getRequiredElementHelper_(document, id);\n};\ngoog.dom.getRequiredHTMLElement \x3d function(id) {\n return goog.asserts.dom.assertIsHtmlElement(goog.dom.getRequiredElementHelper_(document, id));\n};\ngoog.dom.getRequiredElementHelper_ \x3d function(doc, id) {\n goog.asserts.assertString(id);\n var element \x3d goog.dom.getElementHelper_(doc, id);\n return goog.asserts.assert(element, \x22No element found with id: \x22 + id);\n};\ngoog.dom.$ \x3d goog.dom.getElement;\ngoog.dom.getElementsByTagName \x3d function(tagName, opt_parent) {\n var parent \x3d opt_parent || document;\n return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementsByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementByTagNameAndClass_(document, opt_tag, opt_class, opt_el);\n};\ngoog.dom.getElementsByClass \x3d function(className, opt_el) {\n var parent \x3d opt_el || document;\n if (goog.dom.canUseQuerySelector_(parent)) {\n return parent.querySelectorAll(\x22.\x22 + className);\n }\n return goog.dom.getElementsByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n};\ngoog.dom.getElementByClass \x3d function(className, opt_el) {\n var parent \x3d opt_el || document;\n var retVal \x3d null;\n if (parent.getElementsByClassName) {\n retVal \x3d parent.getElementsByClassName(className)[0];\n } else {\n retVal \x3d goog.dom.getElementByTagNameAndClass_(document, \x22*\x22, className, opt_el);\n }\n return retVal || null;\n};\ngoog.dom.getHTMLElementByClass \x3d function(className, opt_parent) {\n const element \x3d goog.dom.getElementByClass(className, opt_parent);\n if (!element) {\n return null;\n }\n return goog.asserts.dom.assertIsHtmlElement(element);\n};\ngoog.dom.getRequiredElementByClass \x3d function(className, opt_root) {\n var retValue \x3d goog.dom.getElementByClass(className, opt_root);\n return goog.asserts.assert(retValue, \x22No element found with className: \x22 + className);\n};\ngoog.dom.getRequiredHTMLElementByClass \x3d function(className, opt_parent) {\n const retValue \x3d goog.dom.getElementByClass(className, opt_parent);\n goog.asserts.assert(retValue, \x22No HTMLElement found with className: \x22 + className);\n return goog.asserts.dom.assertIsHtmlElement(retValue);\n};\ngoog.dom.canUseQuerySelector_ \x3d function(parent) {\n return !!(parent.querySelectorAll \x26\x26 parent.querySelector);\n};\ngoog.dom.getElementsByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n var parent \x3d opt_el || doc;\n var tagName \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tagName || opt_class)) {\n var query \x3d tagName + (opt_class ? \x22.\x22 + opt_class : \x22\x22);\n return parent.querySelectorAll(query);\n }\n if (opt_class \x26\x26 parent.getElementsByClassName) {\n var els \x3d parent.getElementsByClassName(opt_class);\n if (tagName) {\n var arrayLike \x3d {};\n var len \x3d 0;\n var i \x3d 0;\n var el;\n for (; el \x3d els[i]; i++) {\n if (tagName \x3d\x3d el.nodeName) {\n arrayLike[len++] \x3d el;\n }\n }\n arrayLike.length \x3d len;\n return arrayLike;\n } else {\n return els;\n }\n }\n els \x3d parent.getElementsByTagName(tagName || \x22*\x22);\n if (opt_class) {\n arrayLike \x3d {};\n len \x3d 0;\n i \x3d 0;\n for (; el \x3d els[i]; i++) {\n var className \x3d el.className;\n if (typeof className.split \x3d\x3d \x22function\x22 \x26\x26 goog.array.contains(className.split(/\\s+/), opt_class)) {\n arrayLike[len++] \x3d el;\n }\n }\n arrayLike.length \x3d len;\n return arrayLike;\n } else {\n return els;\n }\n};\ngoog.dom.getElementByTagNameAndClass_ \x3d function(doc, opt_tag, opt_class, opt_el) {\n var parent \x3d opt_el || doc;\n var tag \x3d opt_tag \x26\x26 opt_tag !\x3d \x22*\x22 ? String(opt_tag).toUpperCase() : \x22\x22;\n if (goog.dom.canUseQuerySelector_(parent) \x26\x26 (tag || opt_class)) {\n return parent.querySelector(tag + (opt_class ? \x22.\x22 + opt_class : \x22\x22));\n }\n var elements \x3d goog.dom.getElementsByTagNameAndClass_(doc, opt_tag, opt_class, opt_el);\n return elements[0] || null;\n};\ngoog.dom.$$ \x3d goog.dom.getElementsByTagNameAndClass;\ngoog.dom.setProperties \x3d function(element, properties) {\n goog.object.forEach(properties, function(val, key) {\n if (val \x26\x26 typeof val \x3d\x3d \x22object\x22 \x26\x26 val.implementsGoogStringTypedString) {\n val \x3d val.getTypedStringValue();\n }\n if (key \x3d\x3d \x22style\x22) {\n element.style.cssText \x3d val;\n } else if (key \x3d\x3d \x22class\x22) {\n element.className \x3d val;\n } else if (key \x3d\x3d \x22for\x22) {\n element.htmlFor \x3d val;\n } else if (goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(key)) {\n element.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[key], val);\n } else if (goog.string.startsWith(key, \x22aria-\x22) || goog.string.startsWith(key, \x22data-\x22)) {\n element.setAttribute(key, val);\n } else {\n element[key] \x3d val;\n }\n });\n};\ngoog.dom.DIRECT_ATTRIBUTE_MAP_ \x3d {\x22cellpadding\x22:\x22cellPadding\x22, \x22cellspacing\x22:\x22cellSpacing\x22, \x22colspan\x22:\x22colSpan\x22, \x22frameborder\x22:\x22frameBorder\x22, \x22height\x22:\x22height\x22, \x22maxlength\x22:\x22maxLength\x22, \x22nonce\x22:\x22nonce\x22, \x22role\x22:\x22role\x22, \x22rowspan\x22:\x22rowSpan\x22, \x22type\x22:\x22type\x22, \x22usemap\x22:\x22useMap\x22, \x22valign\x22:\x22vAlign\x22, \x22width\x22:\x22width\x22};\ngoog.dom.getViewportSize \x3d function(opt_window) {\n return goog.dom.getViewportSize_(opt_window || window);\n};\ngoog.dom.getViewportSize_ \x3d function(win) {\n var doc \x3d win.document;\n var el \x3d goog.dom.isCss1CompatMode_(doc) ? doc.documentElement : doc.body;\n return new goog.math.Size(el.clientWidth, el.clientHeight);\n};\ngoog.dom.getDocumentHeight \x3d function() {\n return goog.dom.getDocumentHeight_(window);\n};\ngoog.dom.getDocumentHeightForWindow \x3d function(win) {\n return goog.dom.getDocumentHeight_(win);\n};\ngoog.dom.getDocumentHeight_ \x3d function(win) {\n var doc \x3d win.document;\n var height \x3d 0;\n if (doc) {\n var body \x3d doc.body;\n var docEl \x3d doc.documentElement;\n if (!(docEl \x26\x26 body)) {\n return 0;\n }\n var vh \x3d goog.dom.getViewportSize_(win).height;\n if (goog.dom.isCss1CompatMode_(doc) \x26\x26 docEl.scrollHeight) {\n height \x3d docEl.scrollHeight !\x3d vh ? docEl.scrollHeight : docEl.offsetHeight;\n } else {\n var sh \x3d docEl.scrollHeight;\n var oh \x3d docEl.offsetHeight;\n if (docEl.clientHeight !\x3d oh) {\n sh \x3d body.scrollHeight;\n oh \x3d body.offsetHeight;\n }\n if (sh \x3e vh) {\n height \x3d sh \x3e oh ? sh : oh;\n } else {\n height \x3d sh \x3c oh ? sh : oh;\n }\n }\n }\n return height;\n};\ngoog.dom.getPageScroll \x3d function(opt_window) {\n var win \x3d opt_window || goog.global || window;\n return goog.dom.getDomHelper(win.document).getDocumentScroll();\n};\ngoog.dom.getDocumentScroll \x3d function() {\n return goog.dom.getDocumentScroll_(document);\n};\ngoog.dom.getDocumentScroll_ \x3d function(doc) {\n var el \x3d goog.dom.getDocumentScrollElement_(doc);\n var win \x3d goog.dom.getWindow_(doc);\n if (goog.userAgent.IE \x26\x26 win.pageYOffset !\x3d el.scrollTop) {\n return new goog.math.Coordinate(el.scrollLeft, el.scrollTop);\n }\n return new goog.math.Coordinate(win.pageXOffset || el.scrollLeft, win.pageYOffset || el.scrollTop);\n};\ngoog.dom.getDocumentScrollElement \x3d function() {\n return goog.dom.getDocumentScrollElement_(document);\n};\ngoog.dom.getDocumentScrollElement_ \x3d function(doc) {\n if (doc.scrollingElement) {\n return doc.scrollingElement;\n }\n if (!goog.userAgent.WEBKIT \x26\x26 goog.dom.isCss1CompatMode_(doc)) {\n return doc.documentElement;\n }\n return doc.body || doc.documentElement;\n};\ngoog.dom.getWindow \x3d function(opt_doc) {\n return opt_doc ? goog.dom.getWindow_(opt_doc) : window;\n};\ngoog.dom.getWindow_ \x3d function(doc) {\n return doc.parentWindow || doc.defaultView;\n};\ngoog.dom.createDom \x3d function(tagName, opt_attributes, var_args) {\n return goog.dom.createDom_(document, arguments);\n};\ngoog.dom.createDom_ \x3d function(doc, args) {\n var tagName \x3d String(args[0]);\n var attributes \x3d args[1];\n var element \x3d goog.dom.createElement_(doc, tagName);\n if (attributes) {\n if (typeof attributes \x3d\x3d\x3d \x22string\x22) {\n element.className \x3d attributes;\n } else if (Array.isArray(attributes)) {\n element.className \x3d attributes.join(\x22 \x22);\n } else {\n goog.dom.setProperties(element, attributes);\n }\n }\n if (args.length \x3e 2) {\n goog.dom.append_(doc, element, args, 2);\n }\n return element;\n};\ngoog.dom.append_ \x3d function(doc, parent, args, startIndex) {\n function childHandler(child) {\n if (child) {\n parent.appendChild(typeof child \x3d\x3d\x3d \x22string\x22 ? doc.createTextNode(child) : child);\n }\n }\n var i \x3d startIndex;\n for (; i \x3c args.length; i++) {\n var arg \x3d args[i];\n if (goog.isArrayLike(arg) \x26\x26 !goog.dom.isNodeLike(arg)) {\n goog.array.forEach(goog.dom.isNodeList(arg) ? goog.array.toArray(arg) : arg, childHandler);\n } else {\n childHandler(arg);\n }\n }\n};\ngoog.dom.$dom \x3d goog.dom.createDom;\ngoog.dom.createElement \x3d function(name) {\n return goog.dom.createElement_(document, name);\n};\ngoog.dom.createElement_ \x3d function(doc, name) {\n name \x3d String(name);\n if (doc.contentType \x3d\x3d\x3d \x22application/xhtml+xml\x22) {\n name \x3d name.toLowerCase();\n }\n return doc.createElement(name);\n};\ngoog.dom.createTextNode \x3d function(content) {\n return document.createTextNode(String(content));\n};\ngoog.dom.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n return goog.dom.createTable_(document, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.createTable_ \x3d function(doc, rows, columns, fillWithNbsp) {\n var table \x3d goog.dom.createElement_(doc, goog.dom.TagName.TABLE);\n var tbody \x3d table.appendChild(goog.dom.createElement_(doc, goog.dom.TagName.TBODY));\n var i \x3d 0;\n for (; i \x3c rows; i++) {\n var tr \x3d goog.dom.createElement_(doc, goog.dom.TagName.TR);\n var j \x3d 0;\n for (; j \x3c columns; j++) {\n var td \x3d goog.dom.createElement_(doc, goog.dom.TagName.TD);\n if (fillWithNbsp) {\n goog.dom.setTextContent(td, goog.string.Unicode.NBSP);\n }\n tr.appendChild(td);\n }\n tbody.appendChild(tr);\n }\n return table;\n};\ngoog.dom.constHtmlToNode \x3d function(var_args) {\n var stringArray \x3d Array.prototype.map.call(arguments, goog.string.Const.unwrap);\n var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22Constant HTML string, that gets turned into a \x22 + \x22Node later, so it will be automatically balanced.\x22), stringArray.join(\x22\x22));\n return goog.dom.safeHtmlToNode(safeHtml);\n};\ngoog.dom.safeHtmlToNode \x3d function(html) {\n return goog.dom.safeHtmlToNode_(document, html);\n};\ngoog.dom.safeHtmlToNode_ \x3d function(doc, html) {\n var tempDiv \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n if (goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT) {\n goog.dom.safe.setInnerHtml(tempDiv, goog.html.SafeHtml.concat(goog.html.SafeHtml.BR, html));\n tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n } else {\n goog.dom.safe.setInnerHtml(tempDiv, html);\n }\n return goog.dom.childrenToNode_(doc, tempDiv);\n};\ngoog.dom.childrenToNode_ \x3d function(doc, tempDiv) {\n if (tempDiv.childNodes.length \x3d\x3d 1) {\n return tempDiv.removeChild(goog.asserts.assert(tempDiv.firstChild));\n } else {\n var fragment \x3d doc.createDocumentFragment();\n for (; tempDiv.firstChild;) {\n fragment.appendChild(tempDiv.firstChild);\n }\n return fragment;\n }\n};\ngoog.dom.isCss1CompatMode \x3d function() {\n return goog.dom.isCss1CompatMode_(document);\n};\ngoog.dom.isCss1CompatMode_ \x3d function(doc) {\n if (goog.dom.COMPAT_MODE_KNOWN_) {\n return goog.dom.ASSUME_STANDARDS_MODE;\n }\n return doc.compatMode \x3d\x3d \x22CSS1Compat\x22;\n};\ngoog.dom.canHaveChildren \x3d function(node) {\n if (node.nodeType !\x3d goog.dom.NodeType.ELEMENT) {\n return false;\n }\n switch(node.tagName) {\n case String(goog.dom.TagName.APPLET):\n case String(goog.dom.TagName.AREA):\n case String(goog.dom.TagName.BASE):\n case String(goog.dom.TagName.BR):\n case String(goog.dom.TagName.COL):\n case String(goog.dom.TagName.COMMAND):\n case String(goog.dom.TagName.EMBED):\n case String(goog.dom.TagName.FRAME):\n case String(goog.dom.TagName.HR):\n case String(goog.dom.TagName.IMG):\n case String(goog.dom.TagName.INPUT):\n case String(goog.dom.TagName.IFRAME):\n case String(goog.dom.TagName.ISINDEX):\n case String(goog.dom.TagName.KEYGEN):\n case String(goog.dom.TagName.LINK):\n case String(goog.dom.TagName.NOFRAMES):\n case String(goog.dom.TagName.NOSCRIPT):\n case String(goog.dom.TagName.META):\n case String(goog.dom.TagName.OBJECT):\n case String(goog.dom.TagName.PARAM):\n case String(goog.dom.TagName.SCRIPT):\n case String(goog.dom.TagName.SOURCE):\n case String(goog.dom.TagName.STYLE):\n case String(goog.dom.TagName.TRACK):\n case String(goog.dom.TagName.WBR):\n return false;\n }\n return true;\n};\ngoog.dom.appendChild \x3d function(parent, child) {\n goog.asserts.assert(parent !\x3d null \x26\x26 child !\x3d null, \x22goog.dom.appendChild expects non-null arguments\x22);\n parent.appendChild(child);\n};\ngoog.dom.append \x3d function(parent, var_args) {\n goog.dom.append_(goog.dom.getOwnerDocument(parent), parent, arguments, 1);\n};\ngoog.dom.removeChildren \x3d function(node) {\n var child;\n for (; child \x3d node.firstChild;) {\n node.removeChild(child);\n }\n};\ngoog.dom.insertSiblingBefore \x3d function(newNode, refNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingBefore expects non-null arguments\x22);\n if (refNode.parentNode) {\n refNode.parentNode.insertBefore(newNode, refNode);\n }\n};\ngoog.dom.insertSiblingAfter \x3d function(newNode, refNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 refNode !\x3d null, \x22goog.dom.insertSiblingAfter expects non-null arguments\x22);\n if (refNode.parentNode) {\n refNode.parentNode.insertBefore(newNode, refNode.nextSibling);\n }\n};\ngoog.dom.insertChildAt \x3d function(parent, child, index) {\n goog.asserts.assert(parent !\x3d null, \x22goog.dom.insertChildAt expects a non-null parent\x22);\n parent.insertBefore(child, parent.childNodes[index] || null);\n};\ngoog.dom.removeNode \x3d function(node) {\n return node \x26\x26 node.parentNode ? node.parentNode.removeChild(node) : null;\n};\ngoog.dom.replaceNode \x3d function(newNode, oldNode) {\n goog.asserts.assert(newNode !\x3d null \x26\x26 oldNode !\x3d null, \x22goog.dom.replaceNode expects non-null arguments\x22);\n var parent \x3d oldNode.parentNode;\n if (parent) {\n parent.replaceChild(newNode, oldNode);\n }\n};\ngoog.dom.copyContents \x3d function(target, source) {\n goog.asserts.assert(target !\x3d null \x26\x26 source !\x3d null, \x22goog.dom.copyContents expects non-null arguments\x22);\n var childNodes \x3d source.cloneNode(true).childNodes;\n goog.dom.removeChildren(target);\n for (; childNodes.length;) {\n target.appendChild(childNodes[0]);\n }\n};\ngoog.dom.flattenElement \x3d function(element) {\n var child;\n var parent \x3d element.parentNode;\n if (parent \x26\x26 parent.nodeType !\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT) {\n if (element.removeNode) {\n return element.removeNode(false);\n } else {\n for (; child \x3d element.firstChild;) {\n parent.insertBefore(child, element);\n }\n return goog.dom.removeNode(element);\n }\n }\n};\ngoog.dom.getChildren \x3d function(element) {\n if (element.children !\x3d undefined) {\n return element.children;\n }\n return Array.prototype.filter.call(element.childNodes, function(node) {\n return node.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n });\n};\ngoog.dom.getFirstElementChild \x3d function(node) {\n if (node.firstElementChild !\x3d\x3d undefined) {\n return node.firstElementChild;\n }\n return goog.dom.getNextElementNode_(node.firstChild, true);\n};\ngoog.dom.getLastElementChild \x3d function(node) {\n if (node.lastElementChild !\x3d\x3d undefined) {\n return node.lastElementChild;\n }\n return goog.dom.getNextElementNode_(node.lastChild, false);\n};\ngoog.dom.getNextElementSibling \x3d function(node) {\n if (node.nextElementSibling !\x3d\x3d undefined) {\n return node.nextElementSibling;\n }\n return goog.dom.getNextElementNode_(node.nextSibling, true);\n};\ngoog.dom.getPreviousElementSibling \x3d function(node) {\n if (node.previousElementSibling !\x3d\x3d undefined) {\n return node.previousElementSibling;\n }\n return goog.dom.getNextElementNode_(node.previousSibling, false);\n};\ngoog.dom.getNextElementNode_ \x3d function(node, forward) {\n for (; node \x26\x26 node.nodeType !\x3d goog.dom.NodeType.ELEMENT;) {\n node \x3d forward ? node.nextSibling : node.previousSibling;\n }\n return node;\n};\ngoog.dom.getNextNode \x3d function(node) {\n if (!node) {\n return null;\n }\n if (node.firstChild) {\n return node.firstChild;\n }\n for (; node \x26\x26 !node.nextSibling;) {\n node \x3d node.parentNode;\n }\n return node ? node.nextSibling : null;\n};\ngoog.dom.getPreviousNode \x3d function(node) {\n if (!node) {\n return null;\n }\n if (!node.previousSibling) {\n return node.parentNode;\n }\n node \x3d node.previousSibling;\n for (; node \x26\x26 node.lastChild;) {\n node \x3d node.lastChild;\n }\n return node;\n};\ngoog.dom.isNodeLike \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj.nodeType \x3e 0;\n};\ngoog.dom.isElement \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n};\ngoog.dom.isWindow \x3d function(obj) {\n return goog.isObject(obj) \x26\x26 obj[\x22window\x22] \x3d\x3d obj;\n};\ngoog.dom.getParentElement \x3d function(element) {\n var parent;\n if (goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY) {\n parent \x3d element.parentElement;\n if (parent) {\n return parent;\n }\n }\n parent \x3d element.parentNode;\n return goog.dom.isElement(parent) ? parent : null;\n};\ngoog.dom.contains \x3d function(parent, descendant) {\n if (!parent || !descendant) {\n return false;\n }\n if (parent.contains \x26\x26 descendant.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n return parent \x3d\x3d descendant || parent.contains(descendant);\n }\n if (typeof parent.compareDocumentPosition !\x3d \x22undefined\x22) {\n return parent \x3d\x3d descendant || Boolean(parent.compareDocumentPosition(descendant) \x26 16);\n }\n for (; descendant \x26\x26 parent !\x3d descendant;) {\n descendant \x3d descendant.parentNode;\n }\n return descendant \x3d\x3d parent;\n};\ngoog.dom.compareNodeOrder \x3d function(node1, node2) {\n if (node1 \x3d\x3d node2) {\n return 0;\n }\n if (node1.compareDocumentPosition) {\n return node1.compareDocumentPosition(node2) \x26 2 ? 1 : -1;\n }\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n if (node1.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return -1;\n }\n if (node2.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return 1;\n }\n }\n if (\x22sourceIndex\x22 in node1 || node1.parentNode \x26\x26 \x22sourceIndex\x22 in node1.parentNode) {\n var isElement1 \x3d node1.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n var isElement2 \x3d node2.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT;\n if (isElement1 \x26\x26 isElement2) {\n return node1.sourceIndex - node2.sourceIndex;\n } else {\n var parent1 \x3d node1.parentNode;\n var parent2 \x3d node2.parentNode;\n if (parent1 \x3d\x3d parent2) {\n return goog.dom.compareSiblingOrder_(node1, node2);\n }\n if (!isElement1 \x26\x26 goog.dom.contains(parent1, node2)) {\n return -1 * goog.dom.compareParentsDescendantNodeIe_(node1, node2);\n }\n if (!isElement2 \x26\x26 goog.dom.contains(parent2, node1)) {\n return goog.dom.compareParentsDescendantNodeIe_(node2, node1);\n }\n return (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex);\n }\n }\n var doc \x3d goog.dom.getOwnerDocument(node1);\n var range1;\n var range2;\n range1 \x3d doc.createRange();\n range1.selectNode(node1);\n range1.collapse(true);\n range2 \x3d doc.createRange();\n range2.selectNode(node2);\n range2.collapse(true);\n return range1.compareBoundaryPoints(goog.global[\x22Range\x22].START_TO_END, range2);\n};\ngoog.dom.compareParentsDescendantNodeIe_ \x3d function(textNode, node) {\n var parent \x3d textNode.parentNode;\n if (parent \x3d\x3d node) {\n return -1;\n }\n var sibling \x3d node;\n for (; sibling.parentNode !\x3d parent;) {\n sibling \x3d sibling.parentNode;\n }\n return goog.dom.compareSiblingOrder_(sibling, textNode);\n};\ngoog.dom.compareSiblingOrder_ \x3d function(node1, node2) {\n var s \x3d node2;\n for (; s \x3d s.previousSibling;) {\n if (s \x3d\x3d node1) {\n return -1;\n }\n }\n return 1;\n};\ngoog.dom.findCommonAncestor \x3d function(var_args) {\n var i;\n var count \x3d arguments.length;\n if (!count) {\n return null;\n } else if (count \x3d\x3d 1) {\n return arguments[0];\n }\n var paths \x3d [];\n var minLength \x3d Infinity;\n i \x3d 0;\n for (; i \x3c count; i++) {\n var ancestors \x3d [];\n var node \x3d arguments[i];\n for (; node;) {\n ancestors.unshift(node);\n node \x3d node.parentNode;\n }\n paths.push(ancestors);\n minLength \x3d Math.min(minLength, ancestors.length);\n }\n var output \x3d null;\n i \x3d 0;\n for (; i \x3c minLength; i++) {\n var first \x3d paths[0][i];\n var j \x3d 1;\n for (; j \x3c count; j++) {\n if (first !\x3d paths[j][i]) {\n return output;\n }\n }\n output \x3d first;\n }\n return output;\n};\ngoog.dom.isInDocument \x3d function(node) {\n return (node.ownerDocument.compareDocumentPosition(node) \x26 16) \x3d\x3d 16;\n};\ngoog.dom.getOwnerDocument \x3d function(node) {\n goog.asserts.assert(node, \x22Node cannot be null or undefined.\x22);\n return node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT ? node : node.ownerDocument || node.document;\n};\ngoog.dom.getFrameContentDocument \x3d function(frame) {\n return frame.contentDocument || frame.contentWindow.document;\n};\ngoog.dom.getFrameContentWindow \x3d function(frame) {\n try {\n return frame.contentWindow || (frame.contentDocument ? goog.dom.getWindow(frame.contentDocument) : null);\n } catch (e) {\n }\n return null;\n};\ngoog.dom.setTextContent \x3d function(node, text) {\n goog.asserts.assert(node !\x3d null, \x22goog.dom.setTextContent expects a non-null value for node\x22);\n if (\x22textContent\x22 in node) {\n node.textContent \x3d text;\n } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n node.data \x3d String(text);\n } else if (node.firstChild \x26\x26 node.firstChild.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n for (; node.lastChild !\x3d node.firstChild;) {\n node.removeChild(goog.asserts.assert(node.lastChild));\n }\n node.firstChild.data \x3d String(text);\n } else {\n goog.dom.removeChildren(node);\n var doc \x3d goog.dom.getOwnerDocument(node);\n node.appendChild(doc.createTextNode(String(text)));\n }\n};\ngoog.dom.getOuterHtml \x3d function(element) {\n goog.asserts.assert(element !\x3d\x3d null, \x22goog.dom.getOuterHtml expects a non-null value for element\x22);\n if (\x22outerHTML\x22 in element) {\n return element.outerHTML;\n } else {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var div \x3d goog.dom.createElement_(doc, goog.dom.TagName.DIV);\n div.appendChild(element.cloneNode(true));\n return div.innerHTML;\n }\n};\ngoog.dom.findNode \x3d function(root, p) {\n var rv \x3d [];\n var found \x3d goog.dom.findNodes_(root, p, rv, true);\n return found ? rv[0] : undefined;\n};\ngoog.dom.findNodes \x3d function(root, p) {\n var rv \x3d [];\n goog.dom.findNodes_(root, p, rv, false);\n return rv;\n};\ngoog.dom.findNodes_ \x3d function(root, p, rv, findOne) {\n if (root !\x3d null) {\n var child \x3d root.firstChild;\n for (; child;) {\n if (p(child)) {\n rv.push(child);\n if (findOne) {\n return true;\n }\n }\n if (goog.dom.findNodes_(child, p, rv, findOne)) {\n return true;\n }\n child \x3d child.nextSibling;\n }\n }\n return false;\n};\ngoog.dom.findElement \x3d function(root, pred) {\n var stack \x3d goog.dom.getChildrenReverse_(root);\n for (; stack.length \x3e 0;) {\n var next \x3d stack.pop();\n if (pred(next)) {\n return next;\n }\n var c \x3d next.lastElementChild;\n for (; c; c \x3d c.previousElementSibling) {\n stack.push(c);\n }\n }\n return null;\n};\ngoog.dom.findElements \x3d function(root, pred) {\n var result \x3d [];\n var stack \x3d goog.dom.getChildrenReverse_(root);\n for (; stack.length \x3e 0;) {\n var next \x3d stack.pop();\n if (pred(next)) {\n result.push(next);\n }\n var c \x3d next.lastElementChild;\n for (; c; c \x3d c.previousElementSibling) {\n stack.push(c);\n }\n }\n return result;\n};\ngoog.dom.getChildrenReverse_ \x3d function(node) {\n if (node.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT) {\n return [node.documentElement];\n } else {\n var children \x3d [];\n var c \x3d node.lastElementChild;\n for (; c; c \x3d c.previousElementSibling) {\n children.push(c);\n }\n return children;\n }\n};\ngoog.dom.TAGS_TO_IGNORE_ \x3d {\x22SCRIPT\x22:1, \x22STYLE\x22:1, \x22HEAD\x22:1, \x22IFRAME\x22:1, \x22OBJECT\x22:1};\ngoog.dom.PREDEFINED_TAG_VALUES_ \x3d {\x22IMG\x22:\x22 \x22, \x22BR\x22:\x22\\n\x22};\ngoog.dom.isFocusableTabIndex \x3d function(element) {\n return goog.dom.hasSpecifiedTabIndex_(element) \x26\x26 goog.dom.isTabIndexFocusable_(element);\n};\ngoog.dom.setFocusableTabIndex \x3d function(element, enable) {\n if (enable) {\n element.tabIndex \x3d 0;\n } else {\n element.tabIndex \x3d -1;\n element.removeAttribute(\x22tabIndex\x22);\n }\n};\ngoog.dom.isFocusable \x3d function(element) {\n var focusable;\n if (goog.dom.nativelySupportsFocus_(element)) {\n focusable \x3d !element.disabled \x26\x26 (!goog.dom.hasSpecifiedTabIndex_(element) || goog.dom.isTabIndexFocusable_(element));\n } else {\n focusable \x3d goog.dom.isFocusableTabIndex(element);\n }\n return focusable \x26\x26 goog.userAgent.IE ? goog.dom.hasNonZeroBoundingRect_(element) : focusable;\n};\ngoog.dom.hasSpecifiedTabIndex_ \x3d function(element) {\n return element.hasAttribute(\x22tabindex\x22);\n};\ngoog.dom.isTabIndexFocusable_ \x3d function(element) {\n var index \x3d element.tabIndex;\n return typeof index \x3d\x3d\x3d \x22number\x22 \x26\x26 index \x3e\x3d 0 \x26\x26 index \x3c 32768;\n};\ngoog.dom.nativelySupportsFocus_ \x3d function(element) {\n return element.tagName \x3d\x3d goog.dom.TagName.A \x26\x26 element.hasAttribute(\x22href\x22) || element.tagName \x3d\x3d goog.dom.TagName.INPUT || element.tagName \x3d\x3d goog.dom.TagName.TEXTAREA || element.tagName \x3d\x3d goog.dom.TagName.SELECT || element.tagName \x3d\x3d goog.dom.TagName.BUTTON;\n};\ngoog.dom.hasNonZeroBoundingRect_ \x3d function(element) {\n var rect;\n if (typeof element[\x22getBoundingClientRect\x22] !\x3d\x3d \x22function\x22 || goog.userAgent.IE \x26\x26 element.parentElement \x3d\x3d null) {\n rect \x3d {\x22height\x22:element.offsetHeight, \x22width\x22:element.offsetWidth};\n } else {\n rect \x3d element.getBoundingClientRect();\n }\n return rect !\x3d null \x26\x26 rect.height \x3e 0 \x26\x26 rect.width \x3e 0;\n};\ngoog.dom.getTextContent \x3d function(node) {\n var textContent;\n var buf \x3d [];\n goog.dom.getTextContent_(node, buf, true);\n textContent \x3d buf.join(\x22\x22);\n textContent \x3d textContent.replace(/ \\xAD /g, \x22 \x22).replace(/\\xAD/g, \x22\x22);\n textContent \x3d textContent.replace(/\\u200B/g, \x22\x22);\n textContent \x3d textContent.replace(/ +/g, \x22 \x22);\n if (textContent !\x3d \x22 \x22) {\n textContent \x3d textContent.replace(/^\\s*/, \x22\x22);\n }\n return textContent;\n};\ngoog.dom.getRawTextContent \x3d function(node) {\n var buf \x3d [];\n goog.dom.getTextContent_(node, buf, false);\n return buf.join(\x22\x22);\n};\ngoog.dom.getTextContent_ \x3d function(node, buf, normalizeWhitespace) {\n if (node.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n } else if (node.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n if (normalizeWhitespace) {\n buf.push(String(node.nodeValue).replace(/(\\r\\n|\\r|\\n)/g, \x22\x22));\n } else {\n buf.push(node.nodeValue);\n }\n } else if (node.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n buf.push(goog.dom.PREDEFINED_TAG_VALUES_[node.nodeName]);\n } else {\n var child \x3d node.firstChild;\n for (; child;) {\n goog.dom.getTextContent_(child, buf, normalizeWhitespace);\n child \x3d child.nextSibling;\n }\n }\n};\ngoog.dom.getNodeTextLength \x3d function(node) {\n return goog.dom.getTextContent(node).length;\n};\ngoog.dom.getNodeTextOffset \x3d function(node, opt_offsetParent) {\n var root \x3d opt_offsetParent || goog.dom.getOwnerDocument(node).body;\n var buf \x3d [];\n for (; node \x26\x26 node !\x3d root;) {\n var cur \x3d node;\n for (; cur \x3d cur.previousSibling;) {\n buf.unshift(goog.dom.getTextContent(cur));\n }\n node \x3d node.parentNode;\n }\n return goog.string.trimLeft(buf.join(\x22\x22)).replace(/ +/g, \x22 \x22).length;\n};\ngoog.dom.getNodeAtOffset \x3d function(parent, offset, opt_result) {\n var stack \x3d [parent];\n var pos \x3d 0;\n var cur \x3d null;\n for (; stack.length \x3e 0 \x26\x26 pos \x3c offset;) {\n cur \x3d stack.pop();\n if (cur.nodeName in goog.dom.TAGS_TO_IGNORE_) {\n } else if (cur.nodeType \x3d\x3d goog.dom.NodeType.TEXT) {\n var text \x3d cur.nodeValue.replace(/(\\r\\n|\\r|\\n)/g, \x22\x22).replace(/ +/g, \x22 \x22);\n pos \x3d pos + text.length;\n } else if (cur.nodeName in goog.dom.PREDEFINED_TAG_VALUES_) {\n pos \x3d pos + goog.dom.PREDEFINED_TAG_VALUES_[cur.nodeName].length;\n } else {\n var i \x3d cur.childNodes.length - 1;\n for (; i \x3e\x3d 0; i--) {\n stack.push(cur.childNodes[i]);\n }\n }\n }\n if (goog.isObject(opt_result)) {\n opt_result.remainder \x3d cur ? cur.nodeValue.length + offset - pos - 1 : 0;\n opt_result.node \x3d cur;\n }\n return cur;\n};\ngoog.dom.isNodeList \x3d function(val) {\n if (val \x26\x26 typeof val.length \x3d\x3d \x22number\x22) {\n if (goog.isObject(val)) {\n return typeof val.item \x3d\x3d \x22function\x22 || typeof val.item \x3d\x3d \x22string\x22;\n } else if (typeof val \x3d\x3d\x3d \x22function\x22) {\n return typeof val.item \x3d\x3d \x22function\x22;\n }\n }\n return false;\n};\ngoog.dom.getAncestorByTagNameAndClass \x3d function(element, opt_tag, opt_class, opt_maxSearchSteps) {\n if (!opt_tag \x26\x26 !opt_class) {\n return null;\n }\n var tagName \x3d opt_tag ? String(opt_tag).toUpperCase() : null;\n return goog.dom.getAncestor(element, function(node) {\n return (!tagName || node.nodeName \x3d\x3d tagName) \x26\x26 (!opt_class || typeof node.className \x3d\x3d\x3d \x22string\x22 \x26\x26 goog.array.contains(node.className.split(/\\s+/), opt_class));\n }, true, opt_maxSearchSteps);\n};\ngoog.dom.getAncestorByClass \x3d function(element, className, opt_maxSearchSteps) {\n return goog.dom.getAncestorByTagNameAndClass(element, null, className, opt_maxSearchSteps);\n};\ngoog.dom.getAncestor \x3d function(element, matcher, opt_includeNode, opt_maxSearchSteps) {\n if (element \x26\x26 !opt_includeNode) {\n element \x3d element.parentNode;\n }\n var steps \x3d 0;\n for (; element \x26\x26 (opt_maxSearchSteps \x3d\x3d null || steps \x3c\x3d opt_maxSearchSteps);) {\n goog.asserts.assert(element.name !\x3d \x22parentNode\x22);\n if (matcher(element)) {\n return element;\n }\n element \x3d element.parentNode;\n steps++;\n }\n return null;\n};\ngoog.dom.getActiveElement \x3d function(doc) {\n try {\n var activeElement \x3d doc \x26\x26 doc.activeElement;\n return activeElement \x26\x26 activeElement.nodeName ? activeElement : null;\n } catch (e) {\n return null;\n }\n};\ngoog.dom.getPixelRatio \x3d function() {\n var win \x3d goog.dom.getWindow();\n if (win.devicePixelRatio !\x3d\x3d undefined) {\n return win.devicePixelRatio;\n } else if (win.matchMedia) {\n return goog.dom.matchesPixelRatio_(3) || goog.dom.matchesPixelRatio_(2) || goog.dom.matchesPixelRatio_(1.5) || goog.dom.matchesPixelRatio_(1) || .75;\n }\n return 1;\n};\ngoog.dom.matchesPixelRatio_ \x3d function(pixelRatio) {\n var win \x3d goog.dom.getWindow();\n var dpiPerDppx \x3d 96;\n var query \x3d \x22(min-resolution: \x22 + pixelRatio + \x22dppx),\x22 + \x22(min--moz-device-pixel-ratio: \x22 + pixelRatio + \x22),\x22 + \x22(min-resolution: \x22 + pixelRatio * dpiPerDppx + \x22dpi)\x22;\n return win.matchMedia(query).matches ? pixelRatio : 0;\n};\ngoog.dom.getCanvasContext2D \x3d function(canvas) {\n return canvas.getContext(\x222d\x22);\n};\ngoog.dom.DomHelper \x3d function(opt_document) {\n this.document_ \x3d opt_document || goog.global.document || document;\n};\ngoog.dom.DomHelper.prototype.getDomHelper \x3d goog.dom.getDomHelper;\ngoog.dom.DomHelper.prototype.setDocument \x3d function(document) {\n this.document_ \x3d document;\n};\ngoog.dom.DomHelper.prototype.getDocument \x3d function() {\n return this.document_;\n};\ngoog.dom.DomHelper.prototype.getElement \x3d function(element) {\n return goog.dom.getElementHelper_(this.document_, element);\n};\ngoog.dom.DomHelper.prototype.getRequiredElement \x3d function(id) {\n return goog.dom.getRequiredElementHelper_(this.document_, id);\n};\ngoog.dom.DomHelper.prototype.$ \x3d goog.dom.DomHelper.prototype.getElement;\ngoog.dom.DomHelper.prototype.getElementsByTagName \x3d function(tagName, opt_parent) {\n var parent \x3d opt_parent || this.document_;\n return parent.getElementsByTagName(String(tagName));\n};\ngoog.dom.DomHelper.prototype.getElementsByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementsByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementByTagNameAndClass \x3d function(opt_tag, opt_class, opt_el) {\n return goog.dom.getElementByTagNameAndClass_(this.document_, opt_tag, opt_class, opt_el);\n};\ngoog.dom.DomHelper.prototype.getElementsByClass \x3d function(className, opt_el) {\n var doc \x3d opt_el || this.document_;\n return goog.dom.getElementsByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getElementByClass \x3d function(className, opt_el) {\n var doc \x3d opt_el || this.document_;\n return goog.dom.getElementByClass(className, doc);\n};\ngoog.dom.DomHelper.prototype.getRequiredElementByClass \x3d function(className, opt_root) {\n var root \x3d opt_root || this.document_;\n return goog.dom.getRequiredElementByClass(className, root);\n};\ngoog.dom.DomHelper.prototype.$$ \x3d goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;\ngoog.dom.DomHelper.prototype.setProperties \x3d goog.dom.setProperties;\ngoog.dom.DomHelper.prototype.getViewportSize \x3d function(opt_window) {\n return goog.dom.getViewportSize(opt_window || this.getWindow());\n};\ngoog.dom.DomHelper.prototype.getDocumentHeight \x3d function() {\n return goog.dom.getDocumentHeight_(this.getWindow());\n};\ngoog.dom.Appendable;\ngoog.dom.DomHelper.prototype.createDom \x3d function(tagName, opt_attributes, var_args) {\n return goog.dom.createDom_(this.document_, arguments);\n};\ngoog.dom.DomHelper.prototype.$dom \x3d goog.dom.DomHelper.prototype.createDom;\ngoog.dom.DomHelper.prototype.createElement \x3d function(name) {\n return goog.dom.createElement_(this.document_, name);\n};\ngoog.dom.DomHelper.prototype.createTextNode \x3d function(content) {\n return this.document_.createTextNode(String(content));\n};\ngoog.dom.DomHelper.prototype.createTable \x3d function(rows, columns, opt_fillWithNbsp) {\n return goog.dom.createTable_(this.document_, rows, columns, !!opt_fillWithNbsp);\n};\ngoog.dom.DomHelper.prototype.safeHtmlToNode \x3d function(html) {\n return goog.dom.safeHtmlToNode_(this.document_, html);\n};\ngoog.dom.DomHelper.prototype.isCss1CompatMode \x3d function() {\n return goog.dom.isCss1CompatMode_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getWindow \x3d function() {\n return goog.dom.getWindow_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScrollElement \x3d function() {\n return goog.dom.getDocumentScrollElement_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getDocumentScroll \x3d function() {\n return goog.dom.getDocumentScroll_(this.document_);\n};\ngoog.dom.DomHelper.prototype.getActiveElement \x3d function(opt_doc) {\n return goog.dom.getActiveElement(opt_doc || this.document_);\n};\ngoog.dom.DomHelper.prototype.appendChild \x3d goog.dom.appendChild;\ngoog.dom.DomHelper.prototype.append \x3d goog.dom.append;\ngoog.dom.DomHelper.prototype.canHaveChildren \x3d goog.dom.canHaveChildren;\ngoog.dom.DomHelper.prototype.removeChildren \x3d goog.dom.removeChildren;\ngoog.dom.DomHelper.prototype.insertSiblingBefore \x3d goog.dom.insertSiblingBefore;\ngoog.dom.DomHelper.prototype.insertSiblingAfter \x3d goog.dom.insertSiblingAfter;\ngoog.dom.DomHelper.prototype.insertChildAt \x3d goog.dom.insertChildAt;\ngoog.dom.DomHelper.prototype.removeNode \x3d goog.dom.removeNode;\ngoog.dom.DomHelper.prototype.replaceNode \x3d goog.dom.replaceNode;\ngoog.dom.DomHelper.prototype.copyContents \x3d goog.dom.copyContents;\ngoog.dom.DomHelper.prototype.flattenElement \x3d goog.dom.flattenElement;\ngoog.dom.DomHelper.prototype.getChildren \x3d goog.dom.getChildren;\ngoog.dom.DomHelper.prototype.getFirstElementChild \x3d goog.dom.getFirstElementChild;\ngoog.dom.DomHelper.prototype.getLastElementChild \x3d goog.dom.getLastElementChild;\ngoog.dom.DomHelper.prototype.getNextElementSibling \x3d goog.dom.getNextElementSibling;\ngoog.dom.DomHelper.prototype.getPreviousElementSibling \x3d goog.dom.getPreviousElementSibling;\ngoog.dom.DomHelper.prototype.getNextNode \x3d goog.dom.getNextNode;\ngoog.dom.DomHelper.prototype.getPreviousNode \x3d goog.dom.getPreviousNode;\ngoog.dom.DomHelper.prototype.isNodeLike \x3d goog.dom.isNodeLike;\ngoog.dom.DomHelper.prototype.isElement \x3d goog.dom.isElement;\ngoog.dom.DomHelper.prototype.isWindow \x3d goog.dom.isWindow;\ngoog.dom.DomHelper.prototype.getParentElement \x3d goog.dom.getParentElement;\ngoog.dom.DomHelper.prototype.contains \x3d goog.dom.contains;\ngoog.dom.DomHelper.prototype.compareNodeOrder \x3d goog.dom.compareNodeOrder;\ngoog.dom.DomHelper.prototype.findCommonAncestor \x3d goog.dom.findCommonAncestor;\ngoog.dom.DomHelper.prototype.getOwnerDocument \x3d goog.dom.getOwnerDocument;\ngoog.dom.DomHelper.prototype.getFrameContentDocument \x3d goog.dom.getFrameContentDocument;\ngoog.dom.DomHelper.prototype.getFrameContentWindow \x3d goog.dom.getFrameContentWindow;\ngoog.dom.DomHelper.prototype.setTextContent \x3d goog.dom.setTextContent;\ngoog.dom.DomHelper.prototype.getOuterHtml \x3d goog.dom.getOuterHtml;\ngoog.dom.DomHelper.prototype.findNode \x3d goog.dom.findNode;\ngoog.dom.DomHelper.prototype.findNodes \x3d goog.dom.findNodes;\ngoog.dom.DomHelper.prototype.isFocusableTabIndex \x3d goog.dom.isFocusableTabIndex;\ngoog.dom.DomHelper.prototype.setFocusableTabIndex \x3d goog.dom.setFocusableTabIndex;\ngoog.dom.DomHelper.prototype.isFocusable \x3d goog.dom.isFocusable;\ngoog.dom.DomHelper.prototype.getTextContent \x3d goog.dom.getTextContent;\ngoog.dom.DomHelper.prototype.getNodeTextLength \x3d goog.dom.getNodeTextLength;\ngoog.dom.DomHelper.prototype.getNodeTextOffset \x3d goog.dom.getNodeTextOffset;\ngoog.dom.DomHelper.prototype.getNodeAtOffset \x3d goog.dom.getNodeAtOffset;\ngoog.dom.DomHelper.prototype.isNodeList \x3d goog.dom.isNodeList;\ngoog.dom.DomHelper.prototype.getAncestorByTagNameAndClass \x3d goog.dom.getAncestorByTagNameAndClass;\ngoog.dom.DomHelper.prototype.getAncestorByClass \x3d goog.dom.getAncestorByClass;\ngoog.dom.DomHelper.prototype.getAncestor \x3d goog.dom.getAncestor;\ngoog.dom.DomHelper.prototype.getCanvasContext2D \x3d goog.dom.getCanvasContext2D;\n");
SHADOW_ENV.evalLoad("goog.async.nexttick.js", true, "goog.provide(\x22goog.async.nextTick\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.engine\x22);\ngoog.async.nextTick \x3d function(callback, opt_context, opt_useSetImmediate) {\n var cb \x3d callback;\n if (opt_context) {\n cb \x3d goog.bind(callback, opt_context);\n }\n cb \x3d goog.async.nextTick.wrapCallback_(cb);\n if (typeof goog.global.setImmediate \x3d\x3d\x3d \x22function\x22 \x26\x26 (opt_useSetImmediate || goog.async.nextTick.useSetImmediate_())) {\n goog.global.setImmediate(cb);\n return;\n }\n if (!goog.async.nextTick.nextTickImpl) {\n goog.async.nextTick.nextTickImpl \x3d goog.async.nextTick.getNextTickImpl_();\n }\n goog.async.nextTick.nextTickImpl(cb);\n};\ngoog.async.nextTick.useSetImmediate_ \x3d function() {\n if (!goog.global.Window || !goog.global.Window.prototype) {\n return true;\n }\n if (goog.labs.userAgent.browser.isEdge() || goog.global.Window.prototype.setImmediate !\x3d goog.global.setImmediate) {\n return true;\n }\n return false;\n};\ngoog.async.nextTick.nextTickImpl;\ngoog.async.nextTick.getNextTickImpl_ \x3d function() {\n var Channel \x3d goog.global[\x22MessageChannel\x22];\n if (typeof Channel \x3d\x3d\x3d \x22undefined\x22 \x26\x26 typeof window !\x3d\x3d \x22undefined\x22 \x26\x26 window.postMessage \x26\x26 window.addEventListener \x26\x26 !goog.labs.userAgent.engine.isPresto()) {\n Channel \x3d function() {\n var iframe \x3d goog.dom.createElement(goog.dom.TagName.IFRAME);\n iframe.style.display \x3d \x22none\x22;\n document.documentElement.appendChild(iframe);\n var win \x3d iframe.contentWindow;\n var doc \x3d win.document;\n doc.open();\n doc.close();\n var message \x3d \x22callImmediate\x22 + Math.random();\n var origin \x3d win.location.protocol \x3d\x3d \x22file:\x22 ? \x22*\x22 : win.location.protocol + \x22//\x22 + win.location.host;\n var onmessage \x3d goog.bind(function(e) {\n if (origin !\x3d \x22*\x22 \x26\x26 e.origin !\x3d origin || e.data !\x3d message) {\n return;\n }\n this[\x22port1\x22].onmessage();\n }, this);\n win.addEventListener(\x22message\x22, onmessage, false);\n this[\x22port1\x22] \x3d {};\n this[\x22port2\x22] \x3d {postMessage:function() {\n win.postMessage(message, origin);\n }};\n };\n }\n if (typeof Channel !\x3d\x3d \x22undefined\x22 \x26\x26 !goog.labs.userAgent.browser.isIE()) {\n var channel \x3d new Channel();\n var head \x3d {};\n var tail \x3d head;\n channel[\x22port1\x22].onmessage \x3d function() {\n if (head.next !\x3d\x3d undefined) {\n head \x3d head.next;\n var cb \x3d head.cb;\n head.cb \x3d null;\n cb();\n }\n };\n return function(cb) {\n tail.next \x3d {cb:cb};\n tail \x3d tail.next;\n channel[\x22port2\x22].postMessage(0);\n };\n }\n return function(cb) {\n goog.global.setTimeout(cb, 0);\n };\n};\ngoog.async.nextTick.wrapCallback_ \x3d goog.functions.identity;\ngoog.debug.entryPointRegistry.register(function(transformer) {\n goog.async.nextTick.wrapCallback_ \x3d transformer;\n});\n");
SHADOW_ENV.evalLoad("devtools.async.js", true, "goog.provide(\x27devtools.async\x27);\ngoog.scope(function(){\n devtools.async.goog$module$goog$labs$userAgent$browser \x3d goog.module.get(\x27goog.labs.userAgent.browser\x27);\n});\ndevtools.async.available_QMARK_ \x3d (function devtools$async$available_QMARK_(){\nreturn (typeof Promise !\x3d\x3d \x27undefined\x27);\n});\ndevtools.async.fixed_chrome_version_for_async \x3d \x2265.0.3321\x22;\ndevtools.async.needed_QMARK_ \x3d (function devtools$async$needed_QMARK_(){\nreturn cljs.core.not((function (){var and__5023__auto__ \x3d devtools.async.goog$module$goog$labs$userAgent$browser.isChrome();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn devtools.async.goog$module$goog$labs$userAgent$browser.isVersionOrHigher(devtools.async.fixed_chrome_version_for_async);\n} else {\nreturn and__5023__auto__;\n}\n})());\n});\ndevtools.async.get_not_needed_message \x3d (function devtools$async$get_not_needed_message(){\nreturn [\x22cljs-devtools: the :async feature is no longer needed since Chrome \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(devtools.async.fixed_chrome_version_for_async),\x22, \x22,\x22see https://github.com/binaryage/cljs-devtools/issues/20\x22].join(\x27\x27);\n});\ndevtools.async._STAR_installed_STAR_ \x3d false;\ndevtools.async._STAR_original_set_immediate_STAR_ \x3d null;\ndevtools.async.rethrow_outside_promise \x3d (function devtools$async$rethrow_outside_promise(e){\nreturn setTimeout((function (){\nthrow e;\n}),(0));\n});\ndevtools.async.promise_based_set_immediate \x3d (function devtools$async$promise_based_set_immediate(callback){\nvar o__29041__auto___29959 \x3d (function (){var o__29041__auto___29959 \x3d (function (){var o__29041__auto___29959 \x3d Promise;\nreturn (o__29041__auto___29959[\x22resolve\x22]).call(o__29041__auto___29959);\n})();\nreturn (o__29041__auto___29959[\x22then\x22]).call(o__29041__auto___29959,callback);\n})();\n(o__29041__auto___29959[\x22catch\x22]).call(o__29041__auto___29959,devtools.async.rethrow_outside_promise);\n\nreturn null;\n});\ndevtools.async.install_async_set_immediate_BANG_ \x3d (function devtools$async$install_async_set_immediate_BANG_(){\n(devtools.async._STAR_original_set_immediate_STAR_ \x3d goog.async.nextTick.setImmediate_);\n\nreturn (goog.async.nextTick.setImmediate_ \x3d devtools.async.promise_based_set_immediate);\n});\ndevtools.async.uninstall_async_set_immediate_BANG_ \x3d (function devtools$async$uninstall_async_set_immediate_BANG_(){\nreturn (goog.async.nextTick.setImmediate_ \x3d devtools.async._STAR_original_set_immediate_STAR_);\n});\ndevtools.async.installed_QMARK_ \x3d (function devtools$async$installed_QMARK_(){\nreturn devtools.async._STAR_installed_STAR_;\n});\ndevtools.async.install_BANG_ \x3d (function devtools$async$install_BANG_(){\nif(cljs.core.truth_(devtools.async._STAR_installed_STAR_)){\nreturn null;\n} else {\n(devtools.async._STAR_installed_STAR_ \x3d true);\n\nvar G__29951_29960 \x3d Error;\nvar target__29077__auto___29961 \x3d G__29951_29960;\nif(cljs.core.truth_(target__29077__auto___29961)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22unable to locate object path \x22,null,\x22 in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__29951_29960)].join(\x27\x27),\x22\\n\x22,\x22target__29077__auto__\x22].join(\x27\x27)));\n}\n\n(target__29077__auto___29961[\x22stackTraceLimit\x22] \x3d Infinity);\n\n\ndevtools.async.install_async_set_immediate_BANG_();\n\nif(devtools.async.needed_QMARK_.call(null)){\n} else {\ndevtools.context.get_console.call(null).info(devtools.async.get_not_needed_message.call(null));\n}\n\nreturn true;\n}\n});\ndevtools.async.uninstall_BANG_ \x3d (function devtools$async$uninstall_BANG_(){\nif(cljs.core.truth_(devtools.async._STAR_installed_STAR_)){\n(devtools.async._STAR_installed_STAR_ \x3d false);\n\nreturn devtools.async.uninstall_async_set_immediate_BANG_();\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("devtools.toolbox.js", true, "goog.provide(\x27devtools.toolbox\x27);\n\n/**\n* @constructor\n * @implements {devtools.protocols.IFormat}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ndevtools.toolbox.t_devtools$toolbox32975 \x3d (function (obj,header,style,tag,meta32976){\nthis.obj \x3d obj;\nthis.header \x3d header;\nthis.style \x3d style;\nthis.tag \x3d tag;\nthis.meta32976 \x3d meta32976;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(devtools.toolbox.t_devtools$toolbox32975.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_32977,meta32976__$1){\nvar self__ \x3d this;\nvar _32977__$1 \x3d this;\nreturn (new devtools.toolbox.t_devtools$toolbox32975(self__.obj,self__.header,self__.style,self__.tag,meta32976__$1));\n}));\n\n(devtools.toolbox.t_devtools$toolbox32975.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_32977){\nvar self__ \x3d this;\nvar _32977__$1 \x3d this;\nreturn self__.meta32976;\n}));\n\n(devtools.toolbox.t_devtools$toolbox32975.prototype.devtools$protocols$IFormat$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(devtools.toolbox.t_devtools$toolbox32975.prototype.devtools$protocols$IFormat$_header$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn devtools.formatters.templating.render_markup(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.tag,self__.style], null),((cljs.core.fn_QMARK_(self__.header))?(self__.header.cljs$core$IFn$_invoke$arity$1 ? self__.header.cljs$core$IFn$_invoke$arity$1(self__.obj) : self__.header.call(null,self__.obj)):self__.header)], null));\n}));\n\n(devtools.toolbox.t_devtools$toolbox32975.prototype.devtools$protocols$IFormat$_has_body$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(devtools.toolbox.t_devtools$toolbox32975.prototype.devtools$protocols$IFormat$_body$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_body_GT_(devtools.formatters.markup._LT_standard_body_reference_GT_(self__.obj)));\n}));\n\n(devtools.toolbox.t_devtools$toolbox32975.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),new cljs.core.Symbol(null,\x22style\x22,\x22style\x22,1143888791,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta32976\x22,\x22meta32976\x22,-925448084,null)], null);\n}));\n\n(devtools.toolbox.t_devtools$toolbox32975.cljs$lang$type \x3d true);\n\n(devtools.toolbox.t_devtools$toolbox32975.cljs$lang$ctorStr \x3d \x22devtools.toolbox/t_devtools$toolbox32975\x22);\n\n(devtools.toolbox.t_devtools$toolbox32975.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22devtools.toolbox/t_devtools$toolbox32975\x22);\n}));\n\n/**\n * Positional factory function for devtools.toolbox/t_devtools$toolbox32975.\n */\ndevtools.toolbox.__GT_t_devtools$toolbox32975 \x3d (function devtools$toolbox$__GT_t_devtools$toolbox32975(obj,header,style,tag,meta32976){\nreturn (new devtools.toolbox.t_devtools$toolbox32975(obj,header,style,tag,meta32976));\n});\n\n\n/**\n * This is a simple wrapper for logging \x22busy\x22 objects.\n * This is especially handy when you happen to be logging javascript objects with many properties.\n * Standard javascript console renderer tends to print a lot of infomation in the header in some cases and that can make\n * console output pretty busy. By using envelope you can force your own short header and let the details expand on demand\n * via disclosure triangle. The header can be styled and you can optionally specify preferred wrapping tag (advanced).\n */\ndevtools.toolbox.envelope \x3d (function devtools$toolbox$envelope(var_args){\nvar G__32962 \x3d arguments.length;\nswitch (G__32962) {\ncase 1:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$1 \x3d (function (obj){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2(obj,new cljs.core.Keyword(null,\x22default-envelope-header\x22,\x22default-envelope-header\x22,-90723598));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,header){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3(obj,header,new cljs.core.Keyword(null,\x22default-envelope-style\x22,\x22default-envelope-style\x22,-1676750479));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$3 \x3d (function (obj,header,style){\nreturn devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4(obj,header,style,new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991));\n}));\n\n(devtools.toolbox.envelope.cljs$core$IFn$_invoke$arity$4 \x3d (function (obj,header,style,tag){\nreturn (new devtools.toolbox.t_devtools$toolbox32975(obj,header,style,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(devtools.toolbox.envelope.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Forces object to be rendered by cljs-devtools during console logging.\n * \n * Unfortunately custom formatters subsystem in DevTools is not applied to primitive values like numbers, strings, null, etc.\n * This wrapper can be used as a workaround if you really need to force cljs-devtools rendering:\n * \n * (.log js/console nil) ; will render \x27null\x27\n * (.log js/console (force-format nil)) ; will render \x27nil\x27 and not \x27null\x27\n * \n * See https://github.com/binaryage/cljs-devtools/issues/17\n * \n */\ndevtools.toolbox.force_format \x3d (function devtools$toolbox$force_format(obj){\nreturn devtools.formatters.templating.render_markup(devtools.formatters.markup._LT_surrogate_GT_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0)));\n});\n");
SHADOW_ENV.evalLoad("devtools.core.js", true, "goog.provide(\x27devtools.core\x27);\ndevtools.core.is_feature_available_QMARK_ \x3d (function devtools$core$is_feature_available_QMARK_(feature){\nvar G__35096 \x3d feature;\nvar G__35096__$1 \x3d (((G__35096 instanceof cljs.core.Keyword))?G__35096.fqn:null);\nswitch (G__35096__$1) {\ncase \x22formatters\x22:\nreturn devtools.formatters.available_QMARK_.call(null);\n\nbreak;\ncase \x22hints\x22:\nreturn devtools.hints.available_QMARK_.call(null);\n\nbreak;\ncase \x22async\x22:\nreturn devtools.async.available_QMARK_.call(null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__35096__$1)].join(\x27\x27)));\n\n}\n});\ndevtools.core.available_QMARK_ \x3d (function devtools$core$available_QMARK_(var_args){\nvar G__35102 \x3d arguments.length;\nswitch (G__35102) {\ncase 0:\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.available_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\nif(cljs.core.empty_QMARK_(features)){\nreturn false;\n} else {\nreturn cljs.core.every_QMARK_(devtools.core.is_feature_available_QMARK_,features);\n}\n}));\n\n(devtools.core.available_QMARK_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.is_feature_installed_QMARK_ \x3d (function devtools$core$is_feature_installed_QMARK_(feature){\nvar G__35110 \x3d feature;\nvar G__35110__$1 \x3d (((G__35110 instanceof cljs.core.Keyword))?G__35110.fqn:null);\nswitch (G__35110__$1) {\ncase \x22formatters\x22:\nreturn devtools.formatters.installed_QMARK_();\n\nbreak;\ncase \x22hints\x22:\nreturn devtools.hints.installed_QMARK_();\n\nbreak;\ncase \x22async\x22:\nreturn devtools.async.installed_QMARK_();\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__35110__$1)].join(\x27\x27)));\n\n}\n});\ndevtools.core.installed_QMARK_ \x3d (function devtools$core$installed_QMARK_(var_args){\nvar G__35114 \x3d arguments.length;\nswitch (G__35114) {\ncase 0:\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.installed_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\nif(cljs.core.empty_QMARK_(features)){\nreturn false;\n} else {\nreturn cljs.core.every_QMARK_(devtools.core.is_feature_installed_QMARK_,features);\n}\n}));\n\n(devtools.core.installed_QMARK_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.install_BANG_ \x3d (function devtools$core$install_BANG_(var_args){\nvar G__35123 \x3d arguments.length;\nswitch (G__35123) {\ncase 0:\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1(devtools.prefs.pref(new cljs.core.Keyword(null,\x22features-to-install\x22,\x22features-to-install\x22,102899261)));\n}));\n\n(devtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (features_desc){\nif(cljs.core.truth_(devtools.util.under_advanced_build_QMARK_())){\nreturn devtools.util.display_advanced_build_warning_if_needed_BANG_();\n} else {\nvar features \x3d devtools.util.resolve_features_BANG_(features_desc,cljs.core.deref(devtools.defaults.feature_groups));\ndevtools.util.display_banner_if_needed_BANG_(features,cljs.core.deref(devtools.defaults.feature_groups));\n\ndevtools.util.print_config_overrides_if_requested_BANG_(\x22config overrides prior install:\\n\x22);\n\ndevtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22formatters\x22,\x22formatters\x22,-1875637118),features,devtools.core.is_feature_available_QMARK_,devtools.formatters.install_BANG_);\n\ndevtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22hints\x22,\x22hints\x22,-991113151),features,devtools.core.is_feature_available_QMARK_,devtools.hints.install_BANG_);\n\nreturn devtools.util.install_feature_BANG_(new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601),features,devtools.core.is_feature_available_QMARK_,devtools.async.install_BANG_);\n}\n}));\n\n(devtools.core.install_BANG_.cljs$lang$maxFixedArity \x3d 1);\n\ndevtools.core.uninstall_BANG_ \x3d (function devtools$core$uninstall_BANG_(){\ndevtools.formatters.uninstall_BANG_();\n\ndevtools.hints.uninstall_BANG_();\n\nreturn devtools.async.uninstall_BANG_();\n});\ndevtools.core.set_prefs_BANG_ \x3d (function devtools$core$set_prefs_BANG_(new_prefs){\nreturn devtools.prefs.set_prefs_BANG_(new_prefs);\n});\ndevtools.core.get_prefs \x3d (function devtools$core$get_prefs(){\nreturn devtools.prefs.get_prefs();\n});\ndevtools.core.set_pref_BANG_ \x3d (function devtools$core$set_pref_BANG_(pref,val){\nreturn devtools.prefs.set_pref_BANG_(pref,val);\n});\n");
SHADOW_ENV.evalLoad("devtools.preload.js", true, "goog.provide(\x27devtools.preload\x27);\nif(cljs.core.not(devtools.prefs.pref(new cljs.core.Keyword(null,\x22suppress-preload-install\x22,\x22suppress-preload-install\x22,1724845090)))){\ndevtools.core.install_BANG_.cljs$core$IFn$_invoke$arity$0();\n} else {\n}\n");
SHADOW_ENV.evalLoad("goog.useragent.product.js", true, "goog.provide(\x22goog.userAgent.product\x22);\ngoog.require(\x22goog.labs.userAgent.browser\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.userAgent.product.ASSUME_FIREFOX \x3d goog.define(\x22goog.userAgent.product.ASSUME_FIREFOX\x22, false);\ngoog.userAgent.product.ASSUME_IPHONE \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPHONE\x22, false);\ngoog.userAgent.product.ASSUME_IPAD \x3d goog.define(\x22goog.userAgent.product.ASSUME_IPAD\x22, false);\ngoog.userAgent.product.ASSUME_ANDROID \x3d goog.define(\x22goog.userAgent.product.ASSUME_ANDROID\x22, false);\ngoog.userAgent.product.ASSUME_CHROME \x3d goog.define(\x22goog.userAgent.product.ASSUME_CHROME\x22, false);\ngoog.userAgent.product.ASSUME_SAFARI \x3d goog.define(\x22goog.userAgent.product.ASSUME_SAFARI\x22, false);\ngoog.userAgent.product.PRODUCT_KNOWN_ \x3d goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI;\ngoog.userAgent.product.OPERA \x3d goog.userAgent.OPERA;\ngoog.userAgent.product.IE \x3d goog.userAgent.IE;\ngoog.userAgent.product.EDGE \x3d goog.userAgent.EDGE;\ngoog.userAgent.product.FIREFOX \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_FIREFOX : goog.labs.userAgent.browser.isFirefox();\ngoog.userAgent.product.isIphoneOrIpod_ \x3d function() {\n return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent.platform.isIpod();\n};\ngoog.userAgent.product.IPHONE \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPHONE : goog.userAgent.product.isIphoneOrIpod_();\ngoog.userAgent.product.IPAD \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad();\ngoog.userAgent.product.ANDROID \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_ANDROID : goog.labs.userAgent.browser.isAndroidBrowser();\ngoog.userAgent.product.CHROME \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_CHROME : goog.labs.userAgent.browser.isChrome();\ngoog.userAgent.product.isSafariDesktop_ \x3d function() {\n return goog.labs.userAgent.browser.isSafari() \x26\x26 !goog.labs.userAgent.platform.isIos();\n};\ngoog.userAgent.product.SAFARI \x3d goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_SAFARI : goog.userAgent.product.isSafariDesktop_();\n");
SHADOW_ENV.evalLoad("shadow.json.js", true, "goog.provide(\x27shadow.json\x27);\ngoog.scope(function(){\n shadow.json.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n/**\n * simplified js-\x3eclj for JSON data, :key-fn default to keyword\n */\nshadow.json.to_clj \x3d (function shadow$json$to_clj(var_args){\nvar G__31650 \x3d arguments.length;\nswitch (G__31650) {\ncase 1:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(x,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2 \x3d (function (x,opts){\nif((x \x3d\x3d null)){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn x;\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn x;\n} else {\nif(cljs.core.boolean_QMARK_(x)){\nreturn x;\n} else {\nif(cljs.core.array_QMARK_(x)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__31647_SHARP_){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(p1__31647_SHARP_,opts);\n})),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(x));\n} else {\nvar key_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22key-fn\x22,\x22key-fn\x22,-636154479),cljs.core.keyword);\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (result,key){\nvar value \x3d shadow.json.goog$module$goog$object.get(x,key);\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(result,((typeof key \x3d\x3d\x3d \x27string\x27)?(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(key) : key_fn.call(null,key)):shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(key,opts)),shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(value,opts));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.json.goog$module$goog$object.getKeys(x)));\n\n}\n}\n}\n}\n}\n}));\n\n(shadow.json.to_clj.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.json.read_str \x3d (function shadow$json$read_str(str,opts){\nreturn shadow.json.to_clj.cljs$core$IFn$_invoke$arity$2(JSON.parse(str),opts);\n});\nshadow.json.write_str \x3d (function shadow$json$write_str(obj){\nreturn JSON.stringify(cljs.core.clj__GT_js(obj));\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.env.js", true, "goog.provide(\x27shadow.cljs.devtools.client.env\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.env.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.active_modules_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.active_modules_ref \x3d cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.env.module_loaded \x3d (function shadow$cljs$devtools$client$env$module_loaded(name){\nreturn shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.active_modules_ref.cljs$core$IDeref$_deref$arity$1(null),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name)));\n});\nshadow.cljs.devtools.client.env.module_is_active_QMARK_ \x3d (function shadow$cljs$devtools$client$env$module_is_active_QMARK_(module){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.cljs.devtools.client.env.active_modules_ref),module);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.runtime_id !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.runtime_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n}\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.enabled \x3d goog.define(\x22shadow.cljs.devtools.client.env.enabled\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.log \x3d goog.define(\x22shadow.cljs.devtools.client.env.log\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.autoload \x3d goog.define(\x22shadow.cljs.devtools.client.env.autoload\x22,true);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.module_format \x3d goog.define(\x22shadow.cljs.devtools.client.env.module_format\x22,\x22goog\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.reload_with_state \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_with_state\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.build_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.build_id\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.proc_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.proc_id\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.worker_client_id \x3d goog.define(\x22shadow.cljs.devtools.client.env.worker_client_id\x22,(0));\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_host\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_hosts \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_hosts\x22,\x22\x22);\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.connect_timeout \x3d goog.define(\x22shadow.cljs.devtools.client.env.connect_timeout\x22,(1000));\nshadow.cljs.devtools.client.env.selected_host \x3d null;\n/**\n * @define {number}\n */\nshadow.cljs.devtools.client.env.server_port \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_port\x22,(8200));\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.repl_pprint \x3d goog.define(\x22shadow.cljs.devtools.client.env.repl_pprint\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_host \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_host\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.use_document_protocol \x3d goog.define(\x22shadow.cljs.devtools.client.env.use_document_protocol\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.devtools_url \x3d goog.define(\x22shadow.cljs.devtools.client.env.devtools_url\x22,\x22\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.reload_strategy \x3d goog.define(\x22shadow.cljs.devtools.client.env.reload_strategy\x22,\x22optimized\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.server_token \x3d goog.define(\x22shadow.cljs.devtools.client.env.server_token\x22,\x22missing\x22);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ssl \x3d goog.define(\x22shadow.cljs.devtools.client.env.ssl\x22,false);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.env.ignore_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.env.ignore_warnings\x22,false);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.log_style \x3d goog.define(\x22shadow.cljs.devtools.client.env.log_style\x22,\x22font-weight: bold;\x22);\n/**\n * @define {string}\n */\nshadow.cljs.devtools.client.env.custom_notify_fn \x3d goog.define(\x22shadow.cljs.devtools.client.env.custom_notify_fn\x22,\x22\x22);\nshadow.cljs.devtools.client.env.devtools_info \x3d (function shadow$cljs$devtools$client$env$devtools_info(){\nreturn ({\x22server_port\x22: shadow.cljs.devtools.client.env.server_port, \x22server_host\x22: shadow.cljs.devtools.client.env.server_host, \x22build_id\x22: shadow.cljs.devtools.client.env.build_id, \x22proc_id\x22: shadow.cljs.devtools.client.env.proc_id, \x22runtime_id\x22: shadow.cljs.devtools.client.env.runtime_id, \x22ssl\x22: shadow.cljs.devtools.client.env.ssl});\n});\nshadow.cljs.devtools.client.env.get_server_protocol \x3d (function shadow$cljs$devtools$client$env$get_server_protocol(){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d shadow.cljs.devtools.client.env.use_document_protocol;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn cljs.core.seq(goog.global.location.protocol);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn clojure.string.replace(goog.global.location.protocol,\x22:\x22,\x22\x22);\n} else {\nreturn [\x22http\x22,((shadow.cljs.devtools.client.env.ssl)?\x22s\x22:null)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_server_host \x3d (function shadow$cljs$devtools$client$env$get_server_host(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.selected_host)){\nreturn shadow.cljs.devtools.client.env.selected_host;\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d shadow.cljs.devtools.client.env.use_document_host;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d goog.global.location;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn cljs.core.seq(goog.global.location.hostname);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn goog.global.location.hostname;\n} else {\nif(cljs.core.seq(shadow.cljs.devtools.client.env.server_host)){\nreturn shadow.cljs.devtools.client.env.server_host;\n} else {\nreturn \x22localhost\x22;\n\n}\n}\n}\n});\nshadow.cljs.devtools.client.env.get_url_base \x3d (function shadow$cljs$devtools$client$env$get_url_base(){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.devtools_url)){\nreturn shadow.cljs.devtools.client.env.devtools_url;\n} else {\nreturn [shadow.cljs.devtools.client.env.get_server_protocol(),\x22://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.get_server_host()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.server_port)].join(\x27\x27);\n}\n});\nshadow.cljs.devtools.client.env.get_ws_url_base \x3d (function shadow$cljs$devtools$client$env$get_ws_url_base(){\nreturn clojure.string.replace(shadow.cljs.devtools.client.env.get_url_base(),/^http/,\x22ws\x22);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_path \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_path(){\nreturn [\x22/api/remote-relay?server-token\x3d\x22,shadow.cljs.devtools.client.env.server_token].join(\x27\x27);\n});\nshadow.cljs.devtools.client.env.get_ws_relay_url \x3d (function shadow$cljs$devtools$client$env$get_ws_relay_url(){\nreturn [shadow.cljs.devtools.client.env.get_ws_url_base(),shadow.cljs.devtools.client.env.get_ws_relay_path()].join(\x27\x27);\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.reset_print_fn_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.reset_print_fn_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.env.was_print_newline !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.env.was_print_newline \x3d cljs.core._STAR_print_newline_STAR_;\n}\nshadow.cljs.devtools.client.env.set_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$set_print_fns_BANG_(msg_fn){\nvar original_print_fn \x3d cljs.core._STAR_print_fn_STAR_;\nvar original_print_err_fn \x3d cljs.core._STAR_print_err_fn_STAR_;\n(cljs.core._STAR_print_newline_STAR_ \x3d true);\n\n(cljs.core.enable_console_print_BANG_ \x3d (function (){\nreturn null;\n}));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,(function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_reset_print_fns_BANG_(){\n(cljs.core._STAR_print_newline_STAR_ \x3d shadow.cljs.devtools.client.env.was_print_newline);\n\ncljs.core.set_print_fn_BANG_(original_print_fn);\n\nreturn cljs.core.set_print_err_fn_BANG_(original_print_err_fn);\n}));\n\ncljs.core.set_print_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stdout\x22,\x22stdout\x22,-531490018),s));\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d original_print_fn;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (original_print_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n\nreturn cljs.core.set_print_err_fn_BANG_((function shadow$cljs$devtools$client$env$set_print_fns_BANG__$_repl_print_err_fn(s){\n(msg_fn.cljs$core$IFn$_invoke$arity$2 ? msg_fn.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s) : msg_fn.call(null,new cljs.core.Keyword(null,\x22stderr\x22,\x22stderr\x22,-1571650309),s));\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d original_print_err_fn;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\\n\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn (original_print_err_fn.cljs$core$IFn$_invoke$arity$1 ? original_print_err_fn.cljs$core$IFn$_invoke$arity$1(s) : original_print_err_fn.call(null,s));\n} else {\nreturn null;\n}\n}));\n});\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_ \x3d (function shadow$cljs$devtools$client$env$reset_print_fns_BANG_(){\nvar temp__5823__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.env.reset_print_fn_ref);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar x \x3d temp__5823__auto__;\n(x.cljs$core$IFn$_invoke$arity$0 ? x.cljs$core$IFn$_invoke$arity$0() : x.call(null));\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.env.reset_print_fn_ref,null);\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.patch_goog_BANG_ \x3d (function shadow$cljs$devtools$client$env$patch_goog_BANG_(){\n(goog.provide \x3d goog.constructNamespace_);\n\nreturn (goog.require \x3d goog.module.get);\n});\nshadow.cljs.devtools.client.env.add_warnings_to_info \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info(p__31732){\nvar map__31734 \x3d p__31732;\nvar map__31734__$1 \x3d cljs.core.__destructure_map(map__31734);\nvar msg \x3d map__31734__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31734__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31738(s__31739){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31739__$1 \x3d s__31739;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__31739__$1);\nif(temp__5823__auto__){\nvar xs__6383__auto__ \x3d temp__5823__auto__;\nvar map__31759 \x3d cljs.core.first(xs__6383__auto__);\nvar map__31759__$1 \x3d cljs.core.__destructure_map(map__31759);\nvar src \x3d map__31759__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31759__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31759__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5499__auto__ \x3d ((function (s__31739__$1,map__31759,map__31759__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__31734,map__31734__$1,msg,info){\nreturn (function shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31738_$_iter__31741(s__31742){\nreturn (new cljs.core.LazySeq(null,((function (s__31739__$1,map__31759,map__31759__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__31734,map__31734__$1,msg,info){\nreturn (function (){\nvar s__31742__$1 \x3d s__31742;\nwhile(true){\nvar temp__5823__auto____$1 \x3d cljs.core.seq(s__31742__$1);\nif(temp__5823__auto____$1){\nvar s__31742__$2 \x3d temp__5823__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__31742__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31742__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31744 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31743 \x3d (0);\nwhile(true){\nif((i__31743 \x3c size__5502__auto__)){\nvar warning \x3d cljs.core._nth(c__5501__auto__,i__31743);\ncljs.core.chunk_append(b__31744,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__32057 \x3d (i__31743 + (1));\ni__31743 \x3d G__32057;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31744),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31738_$_iter__31741(cljs.core.chunk_rest(s__31742__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31744),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__31742__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31738_$_iter__31741(cljs.core.rest(s__31742__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__31739__$1,map__31759,map__31759__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__31734,map__31734__$1,msg,info))\n,null,null));\n});})(s__31739__$1,map__31759,map__31759__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__31734,map__31734__$1,msg,info))\n;\nvar fs__5500__auto__ \x3d cljs.core.seq(iterys__5499__auto__(warnings));\nif(fs__5500__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5500__auto__,shadow$cljs$devtools$client$env$add_warnings_to_info_$_iter__31738(cljs.core.rest(s__31739__$1)));\n} else {\nvar G__32058 \x3d cljs.core.rest(s__31739__$1);\ns__31739__$1 \x3d G__32058;\ncontinue;\n}\n} else {\nvar G__32059 \x3d cljs.core.rest(s__31739__$1);\ns__31739__$1 \x3d G__32059;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nreturn cljs.core.assoc_in(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651)], null),warnings);\n});\nshadow.cljs.devtools.client.env.custom_notify_types \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472),null,new cljs.core.Keyword(null,\x22build-init\x22,\x22build-init\x22,-1115755563),null,new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466),null,new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480),null], null), null);\nshadow.cljs.devtools.client.env.run_custom_notify_BANG_ \x3d (function shadow$cljs$devtools$client$env$run_custom_notify_BANG_(msg){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.custom_notify_fn)){\nvar fn \x3d goog.getObjectByName(shadow.cljs.devtools.client.env.custom_notify_fn,$CLJS);\nif((!(cljs.core.fn_QMARK_(fn)))){\nreturn console.warn(\x22couldn\x27t find custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n} else {\ntry{return (fn.cljs$core$IFn$_invoke$arity$1 ? fn.cljs$core$IFn$_invoke$arity$1(msg) : fn.call(null,msg));\n}catch (e31785){var e \x3d e31785;\nconsole.error(\x22Failed to run custom :build-notify\x22,shadow.cljs.devtools.client.env.custom_notify_fn);\n\nreturn console.error(e);\n}}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.make_task_fn \x3d (function shadow$cljs$devtools$client$env$make_task_fn(p__31798,p__31799){\nvar map__31807 \x3d p__31798;\nvar map__31807__$1 \x3d cljs.core.__destructure_map(map__31807);\nvar log_missing_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31807__$1,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765));\nvar log_call_async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31807__$1,new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192));\nvar log_call \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31807__$1,new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391));\nvar map__31808 \x3d p__31799;\nvar map__31808__$1 \x3d cljs.core.__destructure_map(map__31808);\nvar fn_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31808__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_str \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31808__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar async \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31808__$1,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\nreturn (function (next){\ntry{var fn_obj \x3d goog.getObjectByName(fn_str,$CLJS);\nif((fn_obj \x3d\x3d null)){\nif(cljs.core.truth_(log_missing_fn)){\n(log_missing_fn.cljs$core$IFn$_invoke$arity$1 ? log_missing_fn.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_missing_fn.call(null,fn_sym));\n} else {\n}\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n} else {\nif(cljs.core.truth_(async)){\nif(cljs.core.truth_(log_call_async)){\n(log_call_async.cljs$core$IFn$_invoke$arity$1 ? log_call_async.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call_async.call(null,fn_sym));\n} else {\n}\n\nreturn (fn_obj.cljs$core$IFn$_invoke$arity$1 ? fn_obj.cljs$core$IFn$_invoke$arity$1(next) : fn_obj.call(null,next));\n} else {\nif(cljs.core.truth_(log_call)){\n(log_call.cljs$core$IFn$_invoke$arity$1 ? log_call.cljs$core$IFn$_invoke$arity$1(fn_sym) : log_call.call(null,fn_sym));\n} else {\n}\n\n(fn_obj.cljs$core$IFn$_invoke$arity$0 ? fn_obj.cljs$core$IFn$_invoke$arity$0() : fn_obj.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n\n}\n}\n}catch (e31813){var ex \x3d e31813;\nconsole.warn(\x22error when calling lifecycle function\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym),ex);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}});\n});\nshadow.cljs.devtools.client.env.do_js_reload_STAR_ \x3d (function shadow$cljs$devtools$client$env$do_js_reload_STAR_(failure_fn,p__31825){\nvar vec__31826 \x3d p__31825;\nvar seq__31827 \x3d cljs.core.seq(vec__31826);\nvar first__31828 \x3d cljs.core.first(seq__31827);\nvar seq__31827__$1 \x3d cljs.core.next(seq__31827);\nvar task \x3d first__31828;\nvar remaining_tasks \x3d seq__31827__$1;\nif(cljs.core.truth_(task)){\ntry{var G__31832 \x3d (function (){\nreturn (shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2 ? shadow.cljs.devtools.client.env.do_js_reload_STAR_.cljs$core$IFn$_invoke$arity$2(failure_fn,remaining_tasks) : shadow.cljs.devtools.client.env.do_js_reload_STAR_.call(null,failure_fn,remaining_tasks));\n});\nreturn (task.cljs$core$IFn$_invoke$arity$1 ? task.cljs$core$IFn$_invoke$arity$1(G__31832) : task.call(null,G__31832));\n}catch (e31831){var e \x3d e31831;\nreturn (failure_fn.cljs$core$IFn$_invoke$arity$3 ? failure_fn.cljs$core$IFn$_invoke$arity$3(e,task,remaining_tasks) : failure_fn.call(null,e,task,remaining_tasks));\n}} else {\nreturn null;\n}\n});\n/**\n * should pass the :build-complete message and an additional callback\n * which performs the actual loading of the code (sync)\n * will call all before/after callbacks in order\n */\nshadow.cljs.devtools.client.env.do_js_reload \x3d (function shadow$cljs$devtools$client$env$do_js_reload(var_args){\nvar G__31838 \x3d arguments.length;\nswitch (G__31838) {\ncase 2:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,load_code_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3(msg,load_code_fn,(function (){\nreturn null;\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,load_code_fn,complete_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(msg,load_code_fn,complete_fn,(function (error,task,remaining){\nreturn console.warn(\x22JS reload failed\x22,error);\n}));\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__31844,load_code_fn,complete_fn,failure_fn){\nvar map__31849 \x3d p__31844;\nvar map__31849__$1 \x3d cljs.core.__destructure_map(map__31849);\nvar msg \x3d map__31849__$1;\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31849__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar load_tasks \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.reverse(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__31834_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__31834_SHARP_);\n}),new cljs.core.Keyword(null,\x22before-load\x22,\x22before-load\x22,-2060117064).cljs$core$IFn$_invoke$arity$1(reload_info)))),load_code_fn),cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__31835_SHARP_){\nreturn shadow.cljs.devtools.client.env.make_task_fn(msg,p1__31835_SHARP_);\n})),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285).cljs$core$IFn$_invoke$arity$1(reload_info)),(function (next){\n(complete_fn.cljs$core$IFn$_invoke$arity$0 ? complete_fn.cljs$core$IFn$_invoke$arity$0() : complete_fn.call(null));\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}));\nreturn shadow.cljs.devtools.client.env.do_js_reload_STAR_(failure_fn,load_tasks);\n}));\n\n(shadow.cljs.devtools.client.env.do_js_reload.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.cljs.devtools.client.env.before_load_src \x3d (function shadow$cljs$devtools$client$env$before_load_src(p__31862){\nvar map__31863 \x3d p__31862;\nvar map__31863__$1 \x3d cljs.core.__destructure_map(map__31863);\nvar src \x3d map__31863__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31863__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31863__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),type)){\nvar seq__31869 \x3d cljs.core.seq(goog.global.SHADOW_NS_RESET);\nvar chunk__31870 \x3d null;\nvar count__31871 \x3d (0);\nvar i__31872 \x3d (0);\nwhile(true){\nif((i__31872 \x3c count__31871)){\nvar x \x3d chunk__31870.cljs$core$IIndexed$_nth$arity$2(null,i__31872);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__32112 \x3d seq__31869;\nvar G__32113 \x3d chunk__31870;\nvar G__32114 \x3d count__31871;\nvar G__32115 \x3d (i__31872 + (1));\nseq__31869 \x3d G__32112;\nchunk__31870 \x3d G__32113;\ncount__31871 \x3d G__32114;\ni__31872 \x3d G__32115;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__31869);\nif(temp__5823__auto__){\nvar seq__31869__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31869__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31869__$1);\nvar G__32116 \x3d cljs.core.chunk_rest(seq__31869__$1);\nvar G__32117 \x3d c__5548__auto__;\nvar G__32118 \x3d cljs.core.count(c__5548__auto__);\nvar G__32119 \x3d (0);\nseq__31869 \x3d G__32116;\nchunk__31870 \x3d G__32117;\ncount__31871 \x3d G__32118;\ni__31872 \x3d G__32119;\ncontinue;\n} else {\nvar x \x3d cljs.core.first(seq__31869__$1);\n(x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(ns) : x.call(null,ns));\n\n\nvar G__32120 \x3d cljs.core.next(seq__31869__$1);\nvar G__32121 \x3d null;\nvar G__32122 \x3d (0);\nvar G__32123 \x3d (0);\nseq__31869 \x3d G__32120;\nchunk__31870 \x3d G__32121;\ncount__31871 \x3d G__32122;\ni__31872 \x3d G__32123;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.env.goog_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$goog_is_loaded_QMARK_(name){\nreturn $CLJS.SHADOW_ENV.isLoaded(name);\n});\nshadow.cljs.devtools.client.env.goog_base_rc \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.build.classpath\x22,\x22resource\x22,\x22shadow.build.classpath/resource\x22,-879517823),\x22goog/base.js\x22], null);\nshadow.cljs.devtools.client.env.src_is_loaded_QMARK_ \x3d (function shadow$cljs$devtools$client$env$src_is_loaded_QMARK_(p__31888){\nvar map__31891 \x3d p__31888;\nvar map__31891__$1 \x3d cljs.core.__destructure_map(map__31891);\nvar src \x3d map__31891__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31891__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31891__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.goog_base_rc,resource_id);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn shadow.cljs.devtools.client.env.goog_is_loaded_QMARK_(output_name);\n}\n});\nshadow.cljs.devtools.client.env.prefilter_sources \x3d (function shadow$cljs$devtools$client$env$prefilter_sources(reload_info,sources){\nreturn cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__31903){\nvar map__31904 \x3d p__31903;\nvar map__31904__$1 \x3d cljs.core.__destructure_map(map__31904);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31904__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nreturn cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22never-load\x22,\x22never-load\x22,1300896819).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__31905){\nvar map__31906 \x3d p__31905;\nvar map__31906__$1 \x3d cljs.core.__destructure_map(map__31906);\nvar rc \x3d map__31906__$1;\nvar module__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31906__$1,new cljs.core.Keyword(null,\x22module\x22,\x22module\x22,1424618191));\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,shadow.cljs.devtools.client.env.module_format)) || (shadow.cljs.devtools.client.env.module_is_active_QMARK_(module__$1)));\n}),sources));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_optimized \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_optimized(p__31908,reload_info){\nvar map__31909 \x3d p__31908;\nvar map__31909__$1 \x3d cljs.core.__destructure_map(map__31909);\nvar info \x3d map__31909__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31909__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31909__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p__31914){\nvar map__31915 \x3d p__31914;\nvar map__31915__$1 \x3d cljs.core.__destructure_map(map__31915);\nvar src \x3d map__31915__$1;\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31915__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31915__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nreturn ((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns)) || (((cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src))) || (((cljs.core.contains_QMARK_(compiled,resource_id)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))))))));\n}),shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources)));\n});\nshadow.cljs.devtools.client.env.filter_sources_to_get_full \x3d (function shadow$cljs$devtools$client$env$filter_sources_to_get_full(p__31931,reload_info){\nvar map__31932 \x3d p__31931;\nvar map__31932__$1 \x3d cljs.core.__destructure_map(map__31932);\nvar info \x3d map__31932__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31932__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar compiled \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31932__$1,new cljs.core.Keyword(null,\x22compiled\x22,\x22compiled\x22,850043082));\nvar affected \x3d cljs.core.PersistentHashSet.EMPTY;\nvar sources_to_get \x3d cljs.core.PersistentVector.EMPTY;\nvar G__31936 \x3d shadow.cljs.devtools.client.env.prefilter_sources(reload_info,sources);\nvar vec__31937 \x3d G__31936;\nvar seq__31938 \x3d cljs.core.seq(vec__31937);\nvar first__31939 \x3d cljs.core.first(seq__31938);\nvar seq__31938__$1 \x3d cljs.core.next(seq__31938);\nvar src \x3d first__31939;\nvar more \x3d seq__31938__$1;\nvar affected__$1 \x3d affected;\nvar sources_to_get__$1 \x3d sources_to_get;\nvar G__31936__$1 \x3d G__31936;\nwhile(true){\nvar affected__$2 \x3d affected__$1;\nvar sources_to_get__$2 \x3d sources_to_get__$1;\nvar vec__31951 \x3d G__31936__$1;\nvar seq__31952 \x3d cljs.core.seq(vec__31951);\nvar first__31953 \x3d cljs.core.first(seq__31952);\nvar seq__31952__$1 \x3d cljs.core.next(seq__31952);\nvar src__$1 \x3d first__31953;\nvar more__$1 \x3d seq__31952__$1;\nif(cljs.core.not(src__$1)){\nreturn sources_to_get__$2;\n} else {\nvar map__31954 \x3d src__$1;\nvar map__31954__$1 \x3d cljs.core.__destructure_map(map__31954);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31954__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31954__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar deps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31954__$1,new cljs.core.Keyword(null,\x22deps\x22,\x22deps\x22,1883360319));\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__31954__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar should_reload_QMARK_ \x3d (function (){var or__5025__auto__ \x3d cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22always-load\x22,\x22always-load\x22,66405637).cljs$core$IFn$_invoke$arity$1(reload_info),ns);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.not(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src__$1));\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nvar and__5023__auto__ \x3d (function (){var or__5025__auto____$2 \x3d cljs.core.contains_QMARK_(compiled,resource_id);\nif(or__5025__auto____$2){\nreturn or__5025__auto____$2;\n} else {\nreturn cljs.core.some(affected__$2,deps);\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src__$1));\n} else {\nreturn and__5023__auto__;\n}\n}\n}\n})();\nif(cljs.core.not(should_reload_QMARK_)){\nvar G__32142 \x3d affected__$2;\nvar G__32143 \x3d sources_to_get__$2;\nvar G__32144 \x3d more__$1;\naffected__$1 \x3d G__32142;\nsources_to_get__$1 \x3d G__32143;\nG__31936__$1 \x3d G__32144;\ncontinue;\n} else {\nvar G__32145 \x3d clojure.set.union.cljs$core$IFn$_invoke$arity$2(affected__$2,provides);\nvar G__32146 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sources_to_get__$2,src__$1);\nvar G__32147 \x3d more__$1;\naffected__$1 \x3d G__32145;\nsources_to_get__$1 \x3d G__32146;\nG__31936__$1 \x3d G__32147;\ncontinue;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.env.filter_reload_sources \x3d (function shadow$cljs$devtools$client$env$filter_reload_sources(info,reload_info){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22full\x22,shadow.cljs.devtools.client.env.reload_strategy)){\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_full(info,reload_info);\n} else {\nreturn shadow.cljs.devtools.client.env.filter_sources_to_get_optimized(info,reload_info);\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.console.js", true, "goog.provide(\x27shadow.cljs.devtools.client.console\x27);\nshadow.cljs.devtools.client.console.push_all \x3d (function shadow$cljs$devtools$client$console$push_all(arr,item){\nif(cljs.core.vector_QMARK_(item)){\nvar seq__31690 \x3d cljs.core.seq(item);\nvar chunk__31691 \x3d null;\nvar count__31692 \x3d (0);\nvar i__31693 \x3d (0);\nwhile(true){\nif((i__31693 \x3c count__31692)){\nvar it \x3d chunk__31691.cljs$core$IIndexed$_nth$arity$2(null,i__31693);\narr.push(it);\n\n\nvar G__32065 \x3d seq__31690;\nvar G__32066 \x3d chunk__31691;\nvar G__32067 \x3d count__31692;\nvar G__32068 \x3d (i__31693 + (1));\nseq__31690 \x3d G__32065;\nchunk__31691 \x3d G__32066;\ncount__31692 \x3d G__32067;\ni__31693 \x3d G__32068;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__31690);\nif(temp__5823__auto__){\nvar seq__31690__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__31690__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__31690__$1);\nvar G__32069 \x3d cljs.core.chunk_rest(seq__31690__$1);\nvar G__32070 \x3d c__5548__auto__;\nvar G__32071 \x3d cljs.core.count(c__5548__auto__);\nvar G__32072 \x3d (0);\nseq__31690 \x3d G__32069;\nchunk__31691 \x3d G__32070;\ncount__31692 \x3d G__32071;\ni__31693 \x3d G__32072;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__31690__$1);\narr.push(it);\n\n\nvar G__32073 \x3d cljs.core.next(seq__31690__$1);\nvar G__32074 \x3d null;\nvar G__32075 \x3d (0);\nvar G__32076 \x3d (0);\nseq__31690 \x3d G__32073;\nchunk__31691 \x3d G__32074;\ncount__31692 \x3d G__32075;\ni__31693 \x3d G__32076;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn arr.push(item);\n}\n});\nshadow.cljs.devtools.client.console.object_ref \x3d (function shadow$cljs$devtools$client$console$object_ref(obj){\nif((obj \x3d\x3d null)){\nreturn null;\n} else {\nreturn [\x22object\x22,({\x22object\x22: obj})];\n}\n});\nshadow.cljs.devtools.client.console.map__GT_style \x3d (function shadow$cljs$devtools$client$console$map__GT_style(m){\nreturn ({\x22style\x22: clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__31719){\nvar vec__31723 \x3d p__31719;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31723,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__31723,(1),null);\nreturn [cljs.core.name(k),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22;\x22].join(\x27\x27);\n}),m))});\n});\nshadow.cljs.devtools.client.console.clj__GT_jsonml \x3d (function shadow$cljs$devtools$client$console$clj__GT_jsonml(struct){\nif((struct \x3d\x3d null)){\nreturn null;\n} else {\nif(cljs.core.array_QMARK_(struct)){\nreturn struct;\n} else {\nif(cljs.core.vector_QMARK_(struct)){\nvar vec__31735 \x3d struct;\nvar seq__31736 \x3d cljs.core.seq(vec__31735);\nvar first__31737 \x3d cljs.core.first(seq__31736);\nvar seq__31736__$1 \x3d cljs.core.next(seq__31736);\nvar tag \x3d first__31737;\nvar first__31737__$1 \x3d cljs.core.first(seq__31736__$1);\nvar seq__31736__$2 \x3d cljs.core.next(seq__31736__$1);\nvar attrs \x3d first__31737__$1;\nvar children \x3d seq__31736__$2;\nvar js \x3d [cljs.core.name(tag),shadow.cljs.devtools.client.console.map__GT_style(attrs)];\nvar seq__31745_32080 \x3d cljs.core.seq(children);\nvar chunk__31746_32081 \x3d null;\nvar count__31747_32082 \x3d (0);\nvar i__31748_32083 \x3d (0);\nwhile(true){\nif((i__31748_32083 \x3c count__31747_32082)){\nvar child_32084 \x3d chunk__31746_32081.cljs$core$IIndexed$_nth$arity$2(null,i__31748_32083);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_32084) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_32084)));\n\n\nvar G__32088 \x3d seq__31745_32080;\nvar G__32089 \x3d chunk__31746_32081;\nvar G__32090 \x3d count__31747_32082;\nvar G__32091 \x3d (i__31748_32083 + (1));\nseq__31745_32080 \x3d G__32088;\nchunk__31746_32081 \x3d G__32089;\ncount__31747_32082 \x3d G__32090;\ni__31748_32083 \x3d G__32091;\ncontinue;\n} else {\nvar temp__5823__auto___32092 \x3d cljs.core.seq(seq__31745_32080);\nif(temp__5823__auto___32092){\nvar seq__31745_32093__$1 \x3d temp__5823__auto___32092;\nif(cljs.core.chunked_seq_QMARK_(seq__31745_32093__$1)){\nvar c__5548__auto___32094 \x3d cljs.core.chunk_first(seq__31745_32093__$1);\nvar G__32095 \x3d cljs.core.chunk_rest(seq__31745_32093__$1);\nvar G__32096 \x3d c__5548__auto___32094;\nvar G__32097 \x3d cljs.core.count(c__5548__auto___32094);\nvar G__32098 \x3d (0);\nseq__31745_32080 \x3d G__32095;\nchunk__31746_32081 \x3d G__32096;\ncount__31747_32082 \x3d G__32097;\ni__31748_32083 \x3d G__32098;\ncontinue;\n} else {\nvar child_32099 \x3d cljs.core.first(seq__31745_32093__$1);\nshadow.cljs.devtools.client.console.push_all(js,(shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.console.clj__GT_jsonml.cljs$core$IFn$_invoke$arity$1(child_32099) : shadow.cljs.devtools.client.console.clj__GT_jsonml.call(null,child_32099)));\n\n\nvar G__32108 \x3d cljs.core.next(seq__31745_32093__$1);\nvar G__32109 \x3d null;\nvar G__32110 \x3d (0);\nvar G__32111 \x3d (0);\nseq__31745_32080 \x3d G__32108;\nchunk__31746_32081 \x3d G__32109;\ncount__31747_32082 \x3d G__32110;\ni__31748_32083 \x3d G__32111;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn js;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27string\x27){\nreturn struct;\n} else {\nif(typeof struct \x3d\x3d\x3d \x27number\x27){\nreturn struct;\n} else {\nif(cljs.core.seq_QMARK_(struct)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.console.clj__GT_jsonml),struct);\n} else {\nreturn shadow.cljs.devtools.client.console.object_ref(struct);\n\n}\n}\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SeqFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((cljs.core.sequential_QMARK_(obj)) || (cljs.core.set_QMARK_(obj)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.prototype.body \x3d (function (s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ol\x22,\x22ol\x22,932524051),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),(0)], null),(function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__31840(s__31841){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31841__$1 \x3d s__31841;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__31841__$1);\nif(temp__5823__auto__){\nvar s__31841__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31841__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31841__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31843 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31842 \x3d (0);\nwhile(true){\nif((i__31842 \x3c size__5502__auto__)){\nvar value \x3d cljs.core._nth(c__5501__auto__,i__31842);\ncljs.core.chunk_append(b__31843,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null));\n\nvar G__32125 \x3d (i__31842 + (1));\ni__31842 \x3d G__32125;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31843),shadow$cljs$devtools$client$console$iter__31840(cljs.core.chunk_rest(s__31841__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31843),null);\n}\n} else {\nvar value \x3d cljs.core.first(s__31841__$2);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22li\x22,\x22li\x22,723558921),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null),shadow$cljs$devtools$client$console$iter__31840(cljs.core.rest(s__31841__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(s);\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SeqFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/SeqFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SeqFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SeqFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SeqFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SeqFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.MapFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.PersistentHashMap)) || ((((obj instanceof cljs.core.PersistentArrayMap)) || (cljs.core.record_QMARK_(obj)))))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),cljs.core.PersistentArrayMap.EMPTY,[cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0)),\x22 [count: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(obj)),\x22]\x22].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.boolean$(cljs.core.seq(obj));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22table\x22,\x22table\x22,-564943036),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x22100%\x22,new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),(function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$console$iter__31899(s__31900){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__31900__$1 \x3d s__31900;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__31900__$1);\nif(temp__5823__auto__){\nvar s__31900__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__31900__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__31900__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__31902 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__31901 \x3d (0);\nwhile(true){\nif((i__31901 \x3c size__5502__auto__)){\nvar key \x3d cljs.core._nth(c__5501__auto__,i__31901);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\ncljs.core.chunk_append(b__31902,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null));\n\nvar G__32140 \x3d (i__31901 + (1));\ni__31901 \x3d G__32140;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31902),shadow$cljs$devtools$client$console$iter__31899(cljs.core.chunk_rest(s__31900__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__31902),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__31900__$2);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,key);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22tr\x22,\x22tr\x22,-1424774646),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22vertical-align\x22,\x22vertical-align\x22,651007333),\x22top\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(key)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22td\x22,\x22td\x22,1479933353),cljs.core.PersistentArrayMap.EMPTY,shadow.cljs.devtools.client.console.object_ref(value)], null)], null),shadow$cljs$devtools$client$console$iter__31899(cljs.core.rest(s__31900__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__((function (){var k \x3d cljs.core.keys(m);\ntry{return cljs.core.sort.cljs$core$IFn$_invoke$arity$1(k);\n}catch (e31920){var e \x3d e31920;\nreturn k;\n}})());\n})()], null));\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n\n(shadow.cljs.devtools.client.console.MapFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/MapFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/MapFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_MapFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_MapFormatter(){\nreturn (new shadow.cljs.devtools.client.console.MapFormatter());\n});\n\nshadow.cljs.devtools.client.console.keyword_style \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22var(--sys-color-token-keyword, var(--theme-highlight-pink, rgb(136, 19, 145)))\x22], null);\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.KeywordFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Keyword)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n\n(shadow.cljs.devtools.client.console.KeywordFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/KeywordFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/KeywordFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_KeywordFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_KeywordFormatter(){\nreturn (new shadow.cljs.devtools.client.console.KeywordFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.SymbolFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((obj instanceof cljs.core.Symbol)){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj], 0))], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn false;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.prototype.body \x3d (function (m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn null;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n\n(shadow.cljs.devtools.client.console.SymbolFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/SymbolFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/SymbolFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_SymbolFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_SymbolFormatter(){\nreturn (new shadow.cljs.devtools.client.console.SymbolFormatter());\n});\n\n\n/**\n* @constructor\n*/\nshadow.cljs.devtools.client.console.DerefFormatter \x3d (function (){\n});\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.shadow$formatter \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.header \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif((((obj instanceof cljs.core.Atom)) || ((obj instanceof cljs.core.Volatile)))){\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),shadow.cljs.devtools.client.console.keyword_style,[\x22@DEREF \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0))].join(\x27\x27)], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.hasBody \x3d (function (obj){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn true;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.prototype.body \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn shadow.cljs.devtools.client.console.clj__GT_jsonml(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22margin-left\x22,\x22margin-left\x22,2015598377),\x2214px\x22], null),shadow.cljs.devtools.client.console.object_ref(cljs.core.deref(v))], null));\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorStr \x3d \x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n\n(shadow.cljs.devtools.client.console.DerefFormatter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.cljs.devtools.client.console/DerefFormatter\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.console/DerefFormatter.\n */\nshadow.cljs.devtools.client.console.__GT_DerefFormatter \x3d (function shadow$cljs$devtools$client$console$__GT_DerefFormatter(){\nreturn (new shadow.cljs.devtools.client.console.DerefFormatter());\n});\n\nshadow.cljs.devtools.client.console.install_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$install_all_BANG_(){\nvar temp__5823__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(temp__5823__auto__)){\nvar f \x3d temp__5823__auto__;\nvar G__32049 \x3d f;\nG__32049.push((new shadow.cljs.devtools.client.console.KeywordFormatter()));\n\nG__32049.push((new shadow.cljs.devtools.client.console.MapFormatter()));\n\nG__32049.push((new shadow.cljs.devtools.client.console.SeqFormatter()));\n\nG__32049.push((new shadow.cljs.devtools.client.console.SymbolFormatter()));\n\nG__32049.push((new shadow.cljs.devtools.client.console.DerefFormatter()));\n\nreturn G__32049;\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_ \x3d (function shadow$cljs$devtools$client$console$remove_all_BANG_(){\nvar all \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__32056_SHARP_){\nreturn goog.object.get(p1__32056_SHARP_,\x22shadow$formatter\x22);\n}),cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d goog.global.devtoolsFormatters;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [];\n}\n})())));\nreturn goog.object.set(goog.global,\x22devtoolsFormatters\x22,all);\n});\nshadow.cljs.devtools.client.console.remove_all_BANG_();\nshadow.cljs.devtools.client.console.install_all_BANG_();\n");
SHADOW_ENV.evalLoad("goog.dom.inputtype.js", true, "goog.provide(\x22goog.dom.InputType\x22);\ngoog.dom.InputType \x3d {BUTTON:\x22button\x22, CHECKBOX:\x22checkbox\x22, COLOR:\x22color\x22, DATE:\x22date\x22, DATETIME:\x22datetime\x22, DATETIME_LOCAL:\x22datetime-local\x22, EMAIL:\x22email\x22, FILE:\x22file\x22, HIDDEN:\x22hidden\x22, IMAGE:\x22image\x22, MENU:\x22menu\x22, MONTH:\x22month\x22, NUMBER:\x22number\x22, PASSWORD:\x22password\x22, RADIO:\x22radio\x22, RANGE:\x22range\x22, RESET:\x22reset\x22, SEARCH:\x22search\x22, SELECT_MULTIPLE:\x22select-multiple\x22, SELECT_ONE:\x22select-one\x22, SUBMIT:\x22submit\x22, TEL:\x22tel\x22, TEXT:\x22text\x22, TEXTAREA:\x22textarea\x22, TIME:\x22time\x22, URL:\x22url\x22, WEEK:\x22week\x22};\n");
SHADOW_ENV.evalLoad("goog.collections.iters.js", true, "goog.loadModule(function(exports) {\n function getIterator(iterable) {\n return iterable[goog.global.Symbol.iterator]();\n }\n function forEach(iterator, f) {\n let result;\n for (; !(result \x3d iterator.next()).done;) {\n f(result.value);\n }\n }\n \x22use strict\x22;\n goog.module(\x22goog.collections.iters\x22);\n goog.module.declareLegacyNamespace();\n exports.getIterator \x3d getIterator;\n exports.forEach \x3d forEach;\n class MapIterator {\n constructor(childIter, mapFn) {\n this.childIterator_ \x3d getIterator(childIter);\n this.mapFn_ \x3d mapFn;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n const childResult \x3d this.childIterator_.next();\n return {value:childResult.done ? undefined : this.mapFn_.call(undefined, childResult.value), done:childResult.done};\n }\n }\n exports.map \x3d function(iterable, f) {\n return new MapIterator(iterable, f);\n };\n class FilterIterator {\n constructor(childIter, filterFn) {\n this.childIter_ \x3d getIterator(childIter);\n this.filterFn_ \x3d filterFn;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n for (; true;) {\n const childResult \x3d this.childIter_.next();\n if (childResult.done) {\n return {done:true, value:undefined};\n }\n const passesFilter \x3d this.filterFn_.call(undefined, childResult.value);\n if (passesFilter) {\n return childResult;\n }\n }\n }\n }\n exports.filter \x3d function(iterable, f) {\n return new FilterIterator(iterable, f);\n };\n class ConcatIterator {\n constructor(iterators) {\n this.iterators_ \x3d iterators;\n this.iterIndex_ \x3d 0;\n }\n [Symbol.iterator]() {\n return this;\n }\n next() {\n for (; this.iterIndex_ \x3c this.iterators_.length;) {\n const result \x3d this.iterators_[this.iterIndex_].next();\n if (!result.done) {\n return result;\n }\n this.iterIndex_++;\n }\n return {done:true};\n }\n }\n exports.concat \x3d function(...iterables) {\n return new ConcatIterator(iterables.map(getIterator));\n };\n exports.toArray \x3d function(iterator) {\n const arr \x3d [];\n forEach(iterator, e \x3d\x3e {\n return arr.push(e);\n });\n return arr;\n };\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.debug.errorcontext.js", true, "goog.provide(\x22goog.debug.errorcontext\x22);\ngoog.debug.errorcontext.addErrorContext \x3d function(err, contextKey, contextValue) {\n if (!err[goog.debug.errorcontext.CONTEXT_KEY_]) {\n err[goog.debug.errorcontext.CONTEXT_KEY_] \x3d {};\n }\n err[goog.debug.errorcontext.CONTEXT_KEY_][contextKey] \x3d contextValue;\n};\ngoog.debug.errorcontext.getErrorContext \x3d function(err) {\n return err[goog.debug.errorcontext.CONTEXT_KEY_] || {};\n};\ngoog.debug.errorcontext.CONTEXT_KEY_ \x3d \x22__closure__error__context__984382\x22;\n");
SHADOW_ENV.evalLoad("goog.debug.debug.js", true, "goog.provide(\x22goog.debug\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.debug.errorcontext\x22);\ngoog.debug.LOGGING_ENABLED \x3d goog.define(\x22goog.debug.LOGGING_ENABLED\x22, goog.DEBUG);\ngoog.debug.FORCE_SLOPPY_STACKS \x3d goog.define(\x22goog.debug.FORCE_SLOPPY_STACKS\x22, false);\ngoog.debug.CHECK_FOR_THROWN_EVENT \x3d goog.define(\x22goog.debug.CHECK_FOR_THROWN_EVENT\x22, false);\ngoog.debug.catchErrors \x3d function(logFunc, opt_cancel, opt_target) {\n var target \x3d opt_target || goog.global;\n var oldErrorHandler \x3d target.onerror;\n var retVal \x3d !!opt_cancel;\n target.onerror \x3d function(message, url, line, opt_col, opt_error) {\n if (oldErrorHandler) {\n oldErrorHandler(message, url, line, opt_col, opt_error);\n }\n logFunc({message:message, fileName:url, line:line, lineNumber:line, col:opt_col, error:opt_error});\n return retVal;\n };\n};\ngoog.debug.expose \x3d function(obj, opt_showFn) {\n if (typeof obj \x3d\x3d \x22undefined\x22) {\n return \x22undefined\x22;\n }\n if (obj \x3d\x3d null) {\n return \x22NULL\x22;\n }\n var str \x3d [];\n var x;\n for (x in obj) {\n if (!opt_showFn \x26\x26 typeof obj[x] \x3d\x3d\x3d \x22function\x22) {\n continue;\n }\n var s \x3d x + \x22 \\x3d \x22;\n try {\n s \x3d s + obj[x];\n } catch (e) {\n s \x3d s + (\x22*** \x22 + e + \x22 ***\x22);\n }\n str.push(s);\n }\n return str.join(\x22\\n\x22);\n};\ngoog.debug.deepExpose \x3d function(obj, opt_showFn) {\n var str \x3d [];\n var uidsToCleanup \x3d [];\n var ancestorUids \x3d {};\n var helper \x3d function(obj, space) {\n var nestspace \x3d space + \x22 \x22;\n var indentMultiline \x3d function(str) {\n return str.replace(/\\n/g, \x22\\n\x22 + space);\n };\n try {\n if (obj \x3d\x3d\x3d undefined) {\n str.push(\x22undefined\x22);\n } else if (obj \x3d\x3d\x3d null) {\n str.push(\x22NULL\x22);\n } else if (typeof obj \x3d\x3d\x3d \x22string\x22) {\n str.push(\x27\x22\x27 + indentMultiline(obj) + \x27\x22\x27);\n } else if (typeof obj \x3d\x3d\x3d \x22function\x22) {\n str.push(indentMultiline(String(obj)));\n } else if (goog.isObject(obj)) {\n if (!goog.hasUid(obj)) {\n uidsToCleanup.push(obj);\n }\n var uid \x3d goog.getUid(obj);\n if (ancestorUids[uid]) {\n str.push(\x22*** reference loop detected (id\\x3d\x22 + uid + \x22) ***\x22);\n } else {\n ancestorUids[uid] \x3d true;\n str.push(\x22{\x22);\n var x;\n for (x in obj) {\n if (!opt_showFn \x26\x26 typeof obj[x] \x3d\x3d\x3d \x22function\x22) {\n continue;\n }\n str.push(\x22\\n\x22);\n str.push(nestspace);\n str.push(x + \x22 \\x3d \x22);\n helper(obj[x], nestspace);\n }\n str.push(\x22\\n\x22 + space + \x22}\x22);\n delete ancestorUids[uid];\n }\n } else {\n str.push(obj);\n }\n } catch (e) {\n str.push(\x22*** \x22 + e + \x22 ***\x22);\n }\n };\n helper(obj, \x22\x22);\n var i \x3d 0;\n for (; i \x3c uidsToCleanup.length; i++) {\n goog.removeUid(uidsToCleanup[i]);\n }\n return str.join(\x22\x22);\n};\ngoog.debug.exposeArray \x3d function(arr) {\n var str \x3d [];\n var i \x3d 0;\n for (; i \x3c arr.length; i++) {\n if (Array.isArray(arr[i])) {\n str.push(goog.debug.exposeArray(arr[i]));\n } else {\n str.push(arr[i]);\n }\n }\n return \x22[ \x22 + str.join(\x22, \x22) + \x22 ]\x22;\n};\ngoog.debug.normalizeErrorObject \x3d function(err) {\n var href \x3d goog.getObjectByName(\x22window.location.href\x22);\n if (err \x3d\x3d null) {\n err \x3d \x27Unknown Error of type \x22null/undefined\x22\x27;\n }\n if (typeof err \x3d\x3d\x3d \x22string\x22) {\n return {\x22message\x22:err, \x22name\x22:\x22Unknown error\x22, \x22lineNumber\x22:\x22Not available\x22, \x22fileName\x22:href, \x22stack\x22:\x22Not available\x22};\n }\n var lineNumber;\n var fileName;\n var threwError \x3d false;\n try {\n lineNumber \x3d err.lineNumber || err.line || \x22Not available\x22;\n } catch (e) {\n lineNumber \x3d \x22Not available\x22;\n threwError \x3d true;\n }\n try {\n fileName \x3d err.fileName || err.filename || err.sourceURL || goog.global[\x22$googDebugFname\x22] || href;\n } catch (e) {\n fileName \x3d \x22Not available\x22;\n threwError \x3d true;\n }\n var stack \x3d goog.debug.serializeErrorStack_(err);\n if (threwError || !err.lineNumber || !err.fileName || !err.stack || !err.message || !err.name) {\n var message \x3d err.message;\n if (message \x3d\x3d null) {\n if (err.constructor \x26\x26 err.constructor instanceof Function) {\n var ctorName \x3d err.constructor.name ? err.constructor.name : goog.debug.getFunctionName(err.constructor);\n message \x3d \x27Unknown Error of type \x22\x27 + ctorName + \x27\x22\x27;\n if (goog.debug.CHECK_FOR_THROWN_EVENT \x26\x26 ctorName \x3d\x3d \x22Event\x22) {\n try {\n message \x3d message + \x27 with Event.type \x22\x27 + (err.type || \x22\x22) + \x27\x22\x27;\n } catch (e) {\n }\n }\n } else {\n message \x3d \x22Unknown Error of unknown type\x22;\n }\n if (typeof err.toString \x3d\x3d\x3d \x22function\x22 \x26\x26 Object.prototype.toString !\x3d\x3d err.toString) {\n message \x3d message + (\x22: \x22 + err.toString());\n }\n }\n return {\x22message\x22:message, \x22name\x22:err.name || \x22UnknownError\x22, \x22lineNumber\x22:lineNumber, \x22fileName\x22:fileName, \x22stack\x22:stack || \x22Not available\x22};\n }\n err.stack \x3d stack;\n return {\x22message\x22:err.message, \x22name\x22:err.name, \x22lineNumber\x22:err.lineNumber, \x22fileName\x22:err.fileName, \x22stack\x22:err.stack};\n};\ngoog.debug.serializeErrorStack_ \x3d function(e, seen) {\n if (!seen) {\n seen \x3d {};\n }\n seen[goog.debug.serializeErrorAsKey_(e)] \x3d true;\n var stack \x3d e[\x22stack\x22] || \x22\x22;\n var cause \x3d e.cause;\n if (cause \x26\x26 !seen[goog.debug.serializeErrorAsKey_(cause)]) {\n stack \x3d stack + \x22\\nCaused by: \x22;\n if (!cause.stack || cause.stack.indexOf(cause.toString()) !\x3d 0) {\n stack \x3d stack + (typeof cause \x3d\x3d\x3d \x22string\x22 ? cause : cause.message + \x22\\n\x22);\n }\n stack \x3d stack + goog.debug.serializeErrorStack_(cause, seen);\n }\n return stack;\n};\ngoog.debug.serializeErrorAsKey_ \x3d function(e) {\n var keyPrefix \x3d \x22\x22;\n if (typeof e.toString \x3d\x3d\x3d \x22function\x22) {\n keyPrefix \x3d \x22\x22 + e;\n }\n return keyPrefix + e[\x22stack\x22];\n};\ngoog.debug.enhanceError \x3d function(err, opt_message) {\n var error;\n if (!(err instanceof Error)) {\n error \x3d Error(err);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(error, goog.debug.enhanceError);\n }\n } else {\n error \x3d err;\n }\n if (!error.stack) {\n error.stack \x3d goog.debug.getStacktrace(goog.debug.enhanceError);\n }\n if (opt_message) {\n var x \x3d 0;\n for (; error[\x22message\x22 + x];) {\n ++x;\n }\n error[\x22message\x22 + x] \x3d String(opt_message);\n }\n return error;\n};\ngoog.debug.enhanceErrorWithContext \x3d function(err, opt_context) {\n var error \x3d goog.debug.enhanceError(err);\n if (opt_context) {\n var key;\n for (key in opt_context) {\n goog.debug.errorcontext.addErrorContext(error, key, opt_context[key]);\n }\n }\n return error;\n};\ngoog.debug.getStacktraceSimple \x3d function(opt_depth) {\n if (!goog.debug.FORCE_SLOPPY_STACKS) {\n var stack \x3d goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);\n if (stack) {\n return stack;\n }\n }\n var sb \x3d [];\n var fn \x3d arguments.callee.caller;\n var depth \x3d 0;\n for (; fn \x26\x26 (!opt_depth || depth \x3c opt_depth);) {\n sb.push(goog.debug.getFunctionName(fn));\n sb.push(\x22()\\n\x22);\n try {\n fn \x3d fn.caller;\n } catch (e) {\n sb.push(\x22[exception trying to get caller]\\n\x22);\n break;\n }\n depth++;\n if (depth \x3e\x3d goog.debug.MAX_STACK_DEPTH) {\n sb.push(\x22[...long stack...]\x22);\n break;\n }\n }\n if (opt_depth \x26\x26 depth \x3e\x3d opt_depth) {\n sb.push(\x22[...reached max depth limit...]\x22);\n } else {\n sb.push(\x22[end]\x22);\n }\n return sb.join(\x22\x22);\n};\ngoog.debug.MAX_STACK_DEPTH \x3d 50;\ngoog.debug.getNativeStackTrace_ \x3d function(fn) {\n var tempErr \x3d new Error();\n if (Error.captureStackTrace) {\n Error.captureStackTrace(tempErr, fn);\n return String(tempErr.stack);\n } else {\n try {\n throw tempErr;\n } catch (e) {\n tempErr \x3d e;\n }\n var stack \x3d tempErr.stack;\n if (stack) {\n return String(stack);\n }\n }\n return null;\n};\ngoog.debug.getStacktrace \x3d function(fn) {\n var stack;\n if (!goog.debug.FORCE_SLOPPY_STACKS) {\n var contextFn \x3d fn || goog.debug.getStacktrace;\n stack \x3d goog.debug.getNativeStackTrace_(contextFn);\n }\n if (!stack) {\n stack \x3d goog.debug.getStacktraceHelper_(fn || arguments.callee.caller, []);\n }\n return stack;\n};\ngoog.debug.getStacktraceHelper_ \x3d function(fn, visited) {\n var sb \x3d [];\n if (goog.array.contains(visited, fn)) {\n sb.push(\x22[...circular reference...]\x22);\n } else if (fn \x26\x26 visited.length \x3c goog.debug.MAX_STACK_DEPTH) {\n sb.push(goog.debug.getFunctionName(fn) + \x22(\x22);\n var args \x3d fn.arguments;\n var i \x3d 0;\n for (; args \x26\x26 i \x3c args.length; i++) {\n if (i \x3e 0) {\n sb.push(\x22, \x22);\n }\n var argDesc;\n var arg \x3d args[i];\n switch(typeof arg) {\n case \x22object\x22:\n argDesc \x3d arg ? \x22object\x22 : \x22null\x22;\n break;\n case \x22string\x22:\n argDesc \x3d arg;\n break;\n case \x22number\x22:\n argDesc \x3d String(arg);\n break;\n case \x22boolean\x22:\n argDesc \x3d arg ? \x22true\x22 : \x22false\x22;\n break;\n case \x22function\x22:\n argDesc \x3d goog.debug.getFunctionName(arg);\n argDesc \x3d argDesc ? argDesc : \x22[fn]\x22;\n break;\n case \x22undefined\x22:\n default:\n argDesc \x3d typeof arg;\n break;\n }\n if (argDesc.length \x3e 40) {\n argDesc \x3d argDesc.slice(0, 40) + \x22...\x22;\n }\n sb.push(argDesc);\n }\n visited.push(fn);\n sb.push(\x22)\\n\x22);\n try {\n sb.push(goog.debug.getStacktraceHelper_(fn.caller, visited));\n } catch (e) {\n sb.push(\x22[exception trying to get caller]\\n\x22);\n }\n } else if (fn) {\n sb.push(\x22[...long stack...]\x22);\n } else {\n sb.push(\x22[end]\x22);\n }\n return sb.join(\x22\x22);\n};\ngoog.debug.getFunctionName \x3d function(fn) {\n if (goog.debug.fnNameCache_[fn]) {\n return goog.debug.fnNameCache_[fn];\n }\n var functionSource \x3d String(fn);\n if (!goog.debug.fnNameCache_[functionSource]) {\n var matches \x3d /function\\s+([^\\(]+)/m.exec(functionSource);\n if (matches) {\n var method \x3d matches[1];\n goog.debug.fnNameCache_[functionSource] \x3d method;\n } else {\n goog.debug.fnNameCache_[functionSource] \x3d \x22[Anonymous]\x22;\n }\n }\n return goog.debug.fnNameCache_[functionSource];\n};\ngoog.debug.makeWhitespaceVisible \x3d function(string) {\n return string.replace(/ /g, \x22[_]\x22).replace(/\\f/g, \x22[f]\x22).replace(/\\n/g, \x22[n]\\n\x22).replace(/\\r/g, \x22[r]\x22).replace(/\\t/g, \x22[t]\x22);\n};\ngoog.debug.runtimeType \x3d function(value) {\n if (value instanceof Function) {\n return value.displayName || value.name || \x22unknown type name\x22;\n } else if (value instanceof Object) {\n return value.constructor.displayName || value.constructor.name || Object.prototype.toString.call(value);\n } else {\n return value \x3d\x3d\x3d null ? \x22null\x22 : typeof value;\n }\n};\ngoog.debug.fnNameCache_ \x3d {};\ngoog.debug.freezeInternal_ \x3d goog.DEBUG \x26\x26 Object.freeze || function(arg) {\n return arg;\n};\ngoog.debug.freeze \x3d function(arg) {\n return {valueOf:function() {\n return goog.debug.freezeInternal_(arg);\n }}.valueOf();\n};\n");
SHADOW_ENV.evalLoad("goog.iter.iter.js", true, "goog.provide(\x22goog.iter\x22);\ngoog.provide(\x22goog.iter.Iterable\x22);\ngoog.provide(\x22goog.iter.Iterator\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug\x22);\ngoog.require(\x22goog.functions\x22);\ngoog.require(\x22goog.math\x22);\ngoog.iter.Iterable;\ngoog.iter.Iterator \x3d function() {\n};\ngoog.iter.Iterator.prototype.next \x3d function() {\n return goog.iter.ES6_ITERATOR_DONE;\n};\ngoog.iter.ES6_ITERATOR_DONE \x3d goog.debug.freeze({done:true, value:undefined});\ngoog.iter.createEs6IteratorYield \x3d function(value) {\n return {value, done:false};\n};\ngoog.iter.Iterator.prototype.__iterator__ \x3d function(opt_keys) {\n return this;\n};\ngoog.iter.toIterator \x3d function(iterable) {\n if (iterable instanceof goog.iter.Iterator) {\n return iterable;\n }\n if (typeof iterable.__iterator__ \x3d\x3d \x22function\x22) {\n return iterable.__iterator__(false);\n }\n if (goog.isArrayLike(iterable)) {\n const like \x3d iterable;\n let i \x3d 0;\n const newIter \x3d new goog.iter.Iterator();\n newIter.next \x3d function() {\n for (; true;) {\n if (i \x3e\x3d like.length) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n if (!(i in like)) {\n i++;\n continue;\n }\n return goog.iter.createEs6IteratorYield(like[i++]);\n }\n };\n return newIter;\n }\n throw new Error(\x22Not implemented\x22);\n};\ngoog.iter.forEach \x3d function(iterable, f, opt_obj) {\n if (goog.isArrayLike(iterable)) {\n goog.array.forEach(iterable, f, opt_obj);\n } else {\n const iterator \x3d goog.iter.toIterator(iterable);\n for (; true;) {\n const {done, value} \x3d iterator.next();\n if (done) {\n return;\n }\n f.call(opt_obj, value, undefined, iterator);\n }\n }\n};\ngoog.iter.filter \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n const newIter \x3d new goog.iter.Iterator();\n newIter.next \x3d function() {\n for (; true;) {\n const {done, value} \x3d iterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n if (f.call(opt_obj, value, undefined, iterator)) {\n return goog.iter.createEs6IteratorYield(value);\n }\n }\n };\n return newIter;\n};\ngoog.iter.filterFalse \x3d function(iterable, f, opt_obj) {\n return goog.iter.filter(iterable, goog.functions.not(f), opt_obj);\n};\ngoog.iter.range \x3d function(startOrStop, opt_stop, opt_step) {\n let start \x3d 0;\n let stop \x3d startOrStop;\n let step \x3d opt_step || 1;\n if (arguments.length \x3e 1) {\n start \x3d startOrStop;\n stop \x3d +opt_stop;\n }\n if (step \x3d\x3d 0) {\n throw new Error(\x22Range step argument must not be zero\x22);\n }\n const newIter \x3d new goog.iter.Iterator();\n newIter.next \x3d function() {\n if (step \x3e 0 \x26\x26 start \x3e\x3d stop || step \x3c 0 \x26\x26 start \x3c\x3d stop) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const rv \x3d start;\n start \x3d start + step;\n return goog.iter.createEs6IteratorYield(rv);\n };\n return newIter;\n};\ngoog.iter.join \x3d function(iterable, deliminator) {\n return goog.iter.toArray(iterable).join(deliminator);\n};\ngoog.iter.map \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n const newIter \x3d new goog.iter.Iterator();\n newIter.next \x3d function() {\n const {done, value} \x3d iterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const mappedVal \x3d f.call(opt_obj, value, undefined, iterator);\n return goog.iter.createEs6IteratorYield(mappedVal);\n };\n return newIter;\n};\ngoog.iter.reduce \x3d function(iterable, f, val, opt_obj) {\n let rval \x3d val;\n goog.iter.forEach(iterable, function(val) {\n rval \x3d f.call(opt_obj, rval, val);\n });\n return rval;\n};\ngoog.iter.some \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n for (; true;) {\n const {done, value} \x3d iterator.next();\n if (done) {\n return false;\n }\n if (f.call(opt_obj, value, undefined, iterator)) {\n return true;\n }\n }\n};\ngoog.iter.every \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n for (; true;) {\n const {done, value} \x3d iterator.next();\n if (done) {\n return true;\n }\n if (!f.call(opt_obj, value, undefined, iterator)) {\n return false;\n }\n }\n};\ngoog.iter.chain \x3d function(var_args) {\n return goog.iter.chainFromIterable(arguments);\n};\ngoog.iter.chainFromIterable \x3d function(iterable) {\n const iteratorOfIterators \x3d goog.iter.toIterator(iterable);\n const iter \x3d new goog.iter.Iterator();\n let current \x3d null;\n iter.next \x3d function() {\n for (; true;) {\n if (current \x3d\x3d null) {\n const it \x3d iteratorOfIterators.next();\n if (it.done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const value \x3d it.value;\n current \x3d goog.iter.toIterator(value);\n }\n const it \x3d current.next();\n if (it.done) {\n current \x3d null;\n continue;\n }\n const value \x3d it.value;\n return goog.iter.createEs6IteratorYield(value);\n }\n };\n return iter;\n};\ngoog.iter.dropWhile \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n const newIter \x3d new goog.iter.Iterator();\n let dropping \x3d true;\n newIter.next \x3d function() {\n for (; true;) {\n const {done, value} \x3d iterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n if (dropping \x26\x26 f.call(opt_obj, value, undefined, iterator)) {\n continue;\n } else {\n dropping \x3d false;\n }\n return goog.iter.createEs6IteratorYield(value);\n }\n };\n return newIter;\n};\ngoog.iter.takeWhile \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n const {done, value} \x3d iterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n if (f.call(opt_obj, value, undefined, iterator)) {\n return goog.iter.createEs6IteratorYield(value);\n }\n return goog.iter.ES6_ITERATOR_DONE;\n };\n return iter;\n};\ngoog.iter.toArray \x3d function(iterable) {\n if (goog.isArrayLike(iterable)) {\n return goog.array.toArray(iterable);\n }\n iterable \x3d goog.iter.toIterator(iterable);\n const array \x3d [];\n goog.iter.forEach(iterable, function(val) {\n array.push(val);\n });\n return array;\n};\ngoog.iter.equals \x3d function(iterable1, iterable2, opt_equalsFn) {\n const fillValue \x3d {};\n const pairs \x3d goog.iter.zipLongest(fillValue, iterable1, iterable2);\n const equalsFn \x3d opt_equalsFn || goog.array.defaultCompareEquality;\n return goog.iter.every(pairs, function(pair) {\n return equalsFn(pair[0], pair[1]);\n });\n};\ngoog.iter.nextOrValue \x3d function(iterable, defaultValue) {\n const iterator \x3d goog.iter.toIterator(iterable);\n const {done, value} \x3d iterator.next();\n if (done) {\n return defaultValue;\n }\n return value;\n};\ngoog.iter.product \x3d function(var_args) {\n const someArrayEmpty \x3d Array.prototype.some.call(arguments, function(arr) {\n return !arr.length;\n });\n if (someArrayEmpty || !arguments.length) {\n return new goog.iter.Iterator();\n }\n const iter \x3d new goog.iter.Iterator();\n const arrays \x3d arguments;\n let indices \x3d goog.array.repeat(0, arrays.length);\n iter.next \x3d function() {\n if (indices) {\n const retVal \x3d goog.array.map(indices, function(valueIndex, arrayIndex) {\n return arrays[arrayIndex][valueIndex];\n });\n for (let i \x3d indices.length - 1; i \x3e\x3d 0; i--) {\n goog.asserts.assert(indices);\n if (indices[i] \x3c arrays[i].length - 1) {\n indices[i]++;\n break;\n }\n if (i \x3d\x3d 0) {\n indices \x3d null;\n break;\n }\n indices[i] \x3d 0;\n }\n return goog.iter.createEs6IteratorYield(retVal);\n }\n return goog.iter.ES6_ITERATOR_DONE;\n };\n return iter;\n};\ngoog.iter.cycle \x3d function(iterable) {\n const baseIterator \x3d goog.iter.toIterator(iterable);\n const cache \x3d [];\n let cacheIndex \x3d 0;\n const iter \x3d new goog.iter.Iterator();\n let useCache \x3d false;\n iter.next \x3d function() {\n let returnElement \x3d null;\n if (!useCache) {\n const it \x3d baseIterator.next();\n if (it.done) {\n if (goog.array.isEmpty(cache)) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n useCache \x3d true;\n } else {\n cache.push(it.value);\n return it;\n }\n }\n returnElement \x3d cache[cacheIndex];\n cacheIndex \x3d (cacheIndex + 1) % cache.length;\n return goog.iter.createEs6IteratorYield(returnElement);\n };\n return iter;\n};\ngoog.iter.count \x3d function(opt_start, opt_step) {\n let counter \x3d opt_start || 0;\n const step \x3d opt_step !\x3d\x3d undefined ? opt_step : 1;\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n const returnValue \x3d counter;\n counter \x3d counter + step;\n return goog.iter.createEs6IteratorYield(returnValue);\n };\n return iter;\n};\ngoog.iter.repeat \x3d function(value) {\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n return goog.iter.createEs6IteratorYield(value);\n };\n return iter;\n};\ngoog.iter.accumulate \x3d function(iterable) {\n const iterator \x3d goog.iter.toIterator(iterable);\n let total \x3d 0;\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n const {done, value} \x3d iterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n total \x3d total + value;\n return goog.iter.createEs6IteratorYield(total);\n };\n return iter;\n};\ngoog.iter.zip \x3d function(var_args) {\n const args \x3d arguments;\n const iter \x3d new goog.iter.Iterator();\n if (args.length \x3e 0) {\n const iterators \x3d goog.array.map(args, goog.iter.toIterator);\n let allDone \x3d false;\n iter.next \x3d function() {\n if (allDone) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const arr \x3d [];\n for (let i \x3d 0, iterator; iterator \x3d iterators[i++];) {\n const it \x3d iterator.next();\n if (it.done) {\n allDone \x3d true;\n return goog.iter.ES6_ITERATOR_DONE;\n }\n arr.push(it.value);\n }\n return goog.iter.createEs6IteratorYield(arr);\n };\n }\n return iter;\n};\ngoog.iter.zipLongest \x3d function(fillValue, var_args) {\n const args \x3d Array.prototype.slice.call(arguments, 1);\n const iter \x3d new goog.iter.Iterator();\n if (args.length \x3e 0) {\n const iterators \x3d goog.array.map(args, goog.iter.toIterator);\n let allDone \x3d false;\n iter.next \x3d function() {\n if (allDone) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n let iteratorsHaveValues \x3d false;\n const arr \x3d [];\n for (let i \x3d 0, iterator; iterator \x3d iterators[i++];) {\n const it \x3d iterator.next();\n if (it.done) {\n arr.push(fillValue);\n continue;\n }\n arr.push(it.value);\n iteratorsHaveValues \x3d true;\n }\n if (!iteratorsHaveValues) {\n allDone \x3d true;\n return goog.iter.ES6_ITERATOR_DONE;\n }\n return goog.iter.createEs6IteratorYield(arr);\n };\n }\n return iter;\n};\ngoog.iter.compress \x3d function(iterable, selectors) {\n const valueIterator \x3d goog.iter.toIterator(iterable);\n const selectorIterator \x3d goog.iter.toIterator(selectors);\n const iter \x3d new goog.iter.Iterator();\n let allDone \x3d false;\n iter.next \x3d function() {\n if (allDone) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n for (; true;) {\n const valIt \x3d valueIterator.next();\n if (valIt.done) {\n allDone \x3d true;\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const selectorIt \x3d selectorIterator.next();\n if (selectorIt.done) {\n allDone \x3d true;\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const val \x3d valIt.value;\n const selectorVal \x3d selectorIt.value;\n if (selectorVal) {\n return goog.iter.createEs6IteratorYield(val);\n }\n }\n };\n return iter;\n};\ngoog.iter.GroupByIterator_ \x3d function(iterable, opt_keyFunc) {\n this.iterator \x3d goog.iter.toIterator(iterable);\n this.keyFunc \x3d opt_keyFunc || goog.functions.identity;\n this.targetKey;\n this.currentKey;\n this.currentValue;\n};\ngoog.inherits(goog.iter.GroupByIterator_, goog.iter.Iterator);\ngoog.iter.GroupByIterator_.prototype.next \x3d function() {\n for (; this.currentKey \x3d\x3d this.targetKey;) {\n const it \x3d this.iterator.next();\n if (it.done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n this.currentValue \x3d it.value;\n this.currentKey \x3d this.keyFunc(this.currentValue);\n }\n this.targetKey \x3d this.currentKey;\n return goog.iter.createEs6IteratorYield([this.currentKey, this.groupItems_(this.targetKey)]);\n};\ngoog.iter.GroupByIterator_.prototype.groupItems_ \x3d function(targetKey) {\n const arr \x3d [];\n for (; this.currentKey \x3d\x3d targetKey;) {\n arr.push(this.currentValue);\n const it \x3d this.iterator.next();\n if (it.done) {\n break;\n }\n this.currentValue \x3d it.value;\n this.currentKey \x3d this.keyFunc(this.currentValue);\n }\n return arr;\n};\ngoog.iter.groupBy \x3d function(iterable, opt_keyFunc) {\n return new goog.iter.GroupByIterator_(iterable, opt_keyFunc);\n};\ngoog.iter.starMap \x3d function(iterable, f, opt_obj) {\n const iterator \x3d goog.iter.toIterator(iterable);\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n const it \x3d iterator.next();\n if (it.done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n const args \x3d goog.iter.toArray(it.value);\n const value \x3d f.apply(opt_obj, [].concat(args, undefined, iterator));\n return goog.iter.createEs6IteratorYield(value);\n };\n return iter;\n};\ngoog.iter.tee \x3d function(iterable, opt_num) {\n function addNextIteratorValueToBuffers() {\n const {done, value} \x3d iterator.next();\n if (done) {\n return false;\n }\n for (let i \x3d 0, buffer; buffer \x3d buffers[i++];) {\n buffer.push(value);\n }\n return true;\n }\n function createIterator(buffer) {\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n if (goog.array.isEmpty(buffer)) {\n const added \x3d addNextIteratorValueToBuffers();\n if (!added) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n }\n goog.asserts.assert(!goog.array.isEmpty(buffer));\n return goog.iter.createEs6IteratorYield(buffer.shift());\n };\n return iter;\n }\n const iterator \x3d goog.iter.toIterator(iterable);\n const num \x3d typeof opt_num \x3d\x3d\x3d \x22number\x22 ? opt_num : 2;\n const buffers \x3d goog.array.map(goog.array.range(num), function() {\n return [];\n });\n return goog.array.map(buffers, createIterator);\n};\ngoog.iter.enumerate \x3d function(iterable, opt_start) {\n return goog.iter.zip(goog.iter.count(opt_start), iterable);\n};\ngoog.iter.limit \x3d function(iterable, limitSize) {\n goog.asserts.assert(goog.math.isInt(limitSize) \x26\x26 limitSize \x3e\x3d 0);\n const iterator \x3d goog.iter.toIterator(iterable);\n const iter \x3d new goog.iter.Iterator();\n let remaining \x3d limitSize;\n iter.next \x3d function() {\n if (remaining-- \x3e 0) {\n return iterator.next();\n }\n return goog.iter.ES6_ITERATOR_DONE;\n };\n return iter;\n};\ngoog.iter.consume \x3d function(iterable, count) {\n goog.asserts.assert(goog.math.isInt(count) \x26\x26 count \x3e\x3d 0);\n const iterator \x3d goog.iter.toIterator(iterable);\n for (; count-- \x3e 0;) {\n goog.iter.nextOrValue(iterator, null);\n }\n return iterator;\n};\ngoog.iter.slice \x3d function(iterable, start, opt_end) {\n goog.asserts.assert(goog.math.isInt(start) \x26\x26 start \x3e\x3d 0);\n let iterator \x3d goog.iter.consume(iterable, start);\n if (typeof opt_end \x3d\x3d\x3d \x22number\x22) {\n goog.asserts.assert(goog.math.isInt(opt_end) \x26\x26 opt_end \x3e\x3d start);\n iterator \x3d goog.iter.limit(iterator, opt_end - start);\n }\n return iterator;\n};\ngoog.iter.hasDuplicates_ \x3d function(arr) {\n const deduped \x3d [];\n goog.array.removeDuplicates(arr, deduped);\n return arr.length !\x3d deduped.length;\n};\ngoog.iter.permutations \x3d function(iterable, opt_length) {\n const elements \x3d goog.iter.toArray(iterable);\n const length \x3d typeof opt_length \x3d\x3d\x3d \x22number\x22 ? opt_length : elements.length;\n const sets \x3d goog.array.repeat(elements, length);\n const product \x3d goog.iter.product.apply(undefined, sets);\n return goog.iter.filter(product, function(arr) {\n return !goog.iter.hasDuplicates_(arr);\n });\n};\ngoog.iter.combinations \x3d function(iterable, length) {\n function getIndexFromElements(index) {\n return elements[index];\n }\n const elements \x3d goog.iter.toArray(iterable);\n const indexes \x3d goog.iter.range(elements.length);\n const indexIterator \x3d goog.iter.permutations(indexes, length);\n const sortedIndexIterator \x3d goog.iter.filter(indexIterator, function(arr) {\n return goog.array.isSorted(arr);\n });\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n const {done, value} \x3d sortedIndexIterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n return goog.iter.createEs6IteratorYield(goog.array.map(value, getIndexFromElements));\n };\n return iter;\n};\ngoog.iter.combinationsWithReplacement \x3d function(iterable, length) {\n function getIndexFromElements(index) {\n return elements[index];\n }\n const elements \x3d goog.iter.toArray(iterable);\n const indexes \x3d goog.array.range(elements.length);\n const sets \x3d goog.array.repeat(indexes, length);\n const indexIterator \x3d goog.iter.product.apply(undefined, sets);\n const sortedIndexIterator \x3d goog.iter.filter(indexIterator, function(arr) {\n return goog.array.isSorted(arr);\n });\n const iter \x3d new goog.iter.Iterator();\n iter.next \x3d function() {\n const {done, value} \x3d sortedIndexIterator.next();\n if (done) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n return goog.iter.createEs6IteratorYield(goog.array.map(value, getIndexFromElements));\n };\n return iter;\n};\n");
SHADOW_ENV.evalLoad("goog.iter.es6.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.iter.es6\x22);\n goog.module.declareLegacyNamespace();\n const GoogIterable \x3d goog.require(\x22goog.iter.Iterable\x22);\n const GoogIterator \x3d goog.require(\x22goog.iter.Iterator\x22);\n class ShimIterable {\n __iterator__() {\n }\n toGoog() {\n }\n toEs6() {\n }\n static of(iter) {\n if (iter instanceof ShimIterableImpl || iter instanceof ShimGoogIterator || iter instanceof ShimEs6Iterator) {\n return iter;\n } else if (typeof iter.next \x3d\x3d \x22function\x22) {\n return new ShimIterableImpl(() \x3d\x3e {\n return iter;\n });\n } else if (typeof iter[Symbol.iterator] \x3d\x3d \x22function\x22) {\n return new ShimIterableImpl(() \x3d\x3e {\n return iter[Symbol.iterator]();\n });\n } else if (typeof iter.__iterator__ \x3d\x3d \x22function\x22) {\n return new ShimIterableImpl(() \x3d\x3e {\n return iter.__iterator__();\n });\n }\n throw new Error(\x22Not an iterator or iterable.\x22);\n }\n }\n class ShimIterableImpl {\n constructor(func) {\n this.func_ \x3d func;\n }\n __iterator__() {\n return new ShimGoogIterator(this.func_());\n }\n toGoog() {\n return new ShimGoogIterator(this.func_());\n }\n [Symbol.iterator]() {\n return new ShimEs6Iterator(this.func_());\n }\n toEs6() {\n return new ShimEs6Iterator(this.func_());\n }\n }\n class ShimGoogIterator extends GoogIterator {\n constructor(iter) {\n super();\n this.iter_ \x3d iter;\n }\n next() {\n return this.iter_.next();\n }\n toGoog() {\n return this;\n }\n [Symbol.iterator]() {\n return new ShimEs6Iterator(this.iter_);\n }\n toEs6() {\n return new ShimEs6Iterator(this.iter_);\n }\n }\n class ShimEs6Iterator extends ShimIterableImpl {\n constructor(iter) {\n super(() \x3d\x3e {\n return iter;\n });\n this.iter_ \x3d iter;\n }\n next() {\n return this.iter_.next();\n }\n }\n exports \x3d {ShimIterable, ShimEs6Iterator, ShimGoogIterator};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.structs.map.js", true, "goog.provide(\x22goog.structs.Map\x22);\ngoog.require(\x22goog.collections.iters\x22);\ngoog.require(\x22goog.iter\x22);\ngoog.require(\x22goog.iter.Iterator\x22);\ngoog.require(\x22goog.iter.es6\x22);\ngoog.structs.Map \x3d function(opt_map, var_args) {\n this.map_ \x3d {};\n this.keys_ \x3d [];\n this.size \x3d 0;\n this.version_ \x3d 0;\n var argLength \x3d arguments.length;\n if (argLength \x3e 1) {\n if (argLength % 2) {\n throw new Error(\x22Uneven number of arguments\x22);\n }\n var i \x3d 0;\n for (; i \x3c argLength; i \x3d i + 2) {\n this.set(arguments[i], arguments[i + 1]);\n }\n } else if (opt_map) {\n this.addAll(opt_map);\n }\n};\ngoog.structs.Map.prototype.getCount \x3d function() {\n return this.size;\n};\ngoog.structs.Map.prototype.getValues \x3d function() {\n this.cleanupKeysArray_();\n var rv \x3d [];\n var i \x3d 0;\n for (; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n rv.push(this.map_[key]);\n }\n return rv;\n};\ngoog.structs.Map.prototype.getKeys \x3d function() {\n this.cleanupKeysArray_();\n return this.keys_.concat();\n};\ngoog.structs.Map.prototype.containsKey \x3d function(key) {\n return this.has(key);\n};\ngoog.structs.Map.prototype.has \x3d function(key) {\n return goog.structs.Map.hasKey_(this.map_, key);\n};\ngoog.structs.Map.prototype.containsValue \x3d function(val) {\n var i \x3d 0;\n for (; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n if (goog.structs.Map.hasKey_(this.map_, key) \x26\x26 this.map_[key] \x3d\x3d val) {\n return true;\n }\n }\n return false;\n};\ngoog.structs.Map.prototype.equals \x3d function(otherMap, opt_equalityFn) {\n if (this \x3d\x3d\x3d otherMap) {\n return true;\n }\n if (this.size !\x3d otherMap.getCount()) {\n return false;\n }\n var equalityFn \x3d opt_equalityFn || goog.structs.Map.defaultEquals;\n this.cleanupKeysArray_();\n var key;\n var i \x3d 0;\n for (; key \x3d this.keys_[i]; i++) {\n if (!equalityFn(this.get(key), otherMap.get(key))) {\n return false;\n }\n }\n return true;\n};\ngoog.structs.Map.defaultEquals \x3d function(a, b) {\n return a \x3d\x3d\x3d b;\n};\ngoog.structs.Map.prototype.isEmpty \x3d function() {\n return this.size \x3d\x3d 0;\n};\ngoog.structs.Map.prototype.clear \x3d function() {\n this.map_ \x3d {};\n this.keys_.length \x3d 0;\n this.setSizeInternal_(0);\n this.version_ \x3d 0;\n};\ngoog.structs.Map.prototype.remove \x3d function(key) {\n return this.delete(key);\n};\ngoog.structs.Map.prototype.delete \x3d function(key) {\n if (goog.structs.Map.hasKey_(this.map_, key)) {\n delete this.map_[key];\n this.setSizeInternal_(this.size - 1);\n this.version_++;\n if (this.keys_.length \x3e 2 * this.size) {\n this.cleanupKeysArray_();\n }\n return true;\n }\n return false;\n};\ngoog.structs.Map.prototype.cleanupKeysArray_ \x3d function() {\n if (this.size !\x3d this.keys_.length) {\n var srcIndex \x3d 0;\n var destIndex \x3d 0;\n for (; srcIndex \x3c this.keys_.length;) {\n var key \x3d this.keys_[srcIndex];\n if (goog.structs.Map.hasKey_(this.map_, key)) {\n this.keys_[destIndex++] \x3d key;\n }\n srcIndex++;\n }\n this.keys_.length \x3d destIndex;\n }\n if (this.size !\x3d this.keys_.length) {\n var seen \x3d {};\n srcIndex \x3d 0;\n destIndex \x3d 0;\n for (; srcIndex \x3c this.keys_.length;) {\n key \x3d this.keys_[srcIndex];\n if (!goog.structs.Map.hasKey_(seen, key)) {\n this.keys_[destIndex++] \x3d key;\n seen[key] \x3d 1;\n }\n srcIndex++;\n }\n this.keys_.length \x3d destIndex;\n }\n};\ngoog.structs.Map.prototype.get \x3d function(key, opt_val) {\n if (goog.structs.Map.hasKey_(this.map_, key)) {\n return this.map_[key];\n }\n return opt_val;\n};\ngoog.structs.Map.prototype.set \x3d function(key, value) {\n if (!goog.structs.Map.hasKey_(this.map_, key)) {\n this.setSizeInternal_(this.size + 1);\n this.keys_.push(key);\n this.version_++;\n }\n this.map_[key] \x3d value;\n};\ngoog.structs.Map.prototype.addAll \x3d function(map) {\n if (map instanceof goog.structs.Map) {\n var keys \x3d map.getKeys();\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n this.set(keys[i], map.get(keys[i]));\n }\n } else {\n var key;\n for (key in map) {\n this.set(key, map[key]);\n }\n }\n};\ngoog.structs.Map.prototype.forEach \x3d function(f, opt_obj) {\n var keys \x3d this.getKeys();\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var value \x3d this.get(key);\n f.call(opt_obj, value, key, this);\n }\n};\ngoog.structs.Map.prototype.clone \x3d function() {\n return new goog.structs.Map(this);\n};\ngoog.structs.Map.prototype.transpose \x3d function() {\n var transposed \x3d new goog.structs.Map();\n var i \x3d 0;\n for (; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n var value \x3d this.map_[key];\n transposed.set(value, key);\n }\n return transposed;\n};\ngoog.structs.Map.prototype.toObject \x3d function() {\n this.cleanupKeysArray_();\n var obj \x3d {};\n var i \x3d 0;\n for (; i \x3c this.keys_.length; i++) {\n var key \x3d this.keys_[i];\n obj[key] \x3d this.map_[key];\n }\n return obj;\n};\ngoog.structs.Map.prototype.getKeyIterator \x3d function() {\n return this.__iterator__(true);\n};\ngoog.structs.Map.prototype.keys \x3d function() {\n return goog.iter.es6.ShimIterable.of(this.getKeyIterator()).toEs6();\n};\ngoog.structs.Map.prototype.getValueIterator \x3d function() {\n return this.__iterator__(false);\n};\ngoog.structs.Map.prototype.values \x3d function() {\n return goog.iter.es6.ShimIterable.of(this.getValueIterator()).toEs6();\n};\ngoog.structs.Map.prototype.entries \x3d function() {\n const self \x3d this;\n return goog.collections.iters.map(this.keys(), function(key) {\n return [key, self.get(key)];\n });\n};\ngoog.structs.Map.prototype.__iterator__ \x3d function(opt_keys) {\n this.cleanupKeysArray_();\n var i \x3d 0;\n var version \x3d this.version_;\n var selfObj \x3d this;\n var newIter \x3d new goog.iter.Iterator();\n newIter.next \x3d function() {\n if (version !\x3d selfObj.version_) {\n throw new Error(\x22The map has changed since the iterator was created\x22);\n }\n if (i \x3e\x3d selfObj.keys_.length) {\n return goog.iter.ES6_ITERATOR_DONE;\n }\n var key \x3d selfObj.keys_[i++];\n return goog.iter.createEs6IteratorYield(opt_keys ? key : selfObj.map_[key]);\n };\n return newIter;\n};\ngoog.structs.Map.prototype.setSizeInternal_ \x3d function(newSize) {\n this.size \x3d newSize;\n};\ngoog.structs.Map.hasKey_ \x3d function(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n");
SHADOW_ENV.evalLoad("goog.window.window.js", true, "goog.provide(\x22goog.window\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.html.SafeUrl\x22);\ngoog.require(\x22goog.html.uncheckedconversions\x22);\ngoog.require(\x22goog.labs.userAgent.platform\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.string.Const\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.string.TypedString\x22);\ngoog.window.DEFAULT_POPUP_HEIGHT \x3d 500;\ngoog.window.DEFAULT_POPUP_WIDTH \x3d 690;\ngoog.window.DEFAULT_POPUP_TARGET \x3d \x22google_popup\x22;\ngoog.window.createFakeWindow_ \x3d function() {\n return {};\n};\ngoog.window.open \x3d function(linkRef, opt_options, opt_parentWin) {\n if (!opt_options) {\n opt_options \x3d {};\n }\n var parentWin \x3d opt_parentWin || window;\n var safeLinkRef;\n if (linkRef instanceof goog.html.SafeUrl) {\n safeLinkRef \x3d linkRef;\n } else {\n var url \x3d typeof linkRef.href !\x3d \x22undefined\x22 ? linkRef.href : String(linkRef);\n safeLinkRef \x3d goog.html.SafeUrl.sanitize(url);\n }\n const browserSupportsCoop \x3d self.crossOriginIsolated !\x3d\x3d undefined;\n let referrerPolicy \x3d \x22strict-origin-when-cross-origin\x22;\n if (window.Request) {\n referrerPolicy \x3d (new Request(\x22/\x22)).referrerPolicy;\n }\n const pageSetsUnsafeReferrerPolicy \x3d referrerPolicy \x3d\x3d\x3d \x22unsafe-url\x22;\n let noReferrerOption \x3d opt_options[\x22noreferrer\x22];\n if (browserSupportsCoop \x26\x26 noReferrerOption) {\n if (pageSetsUnsafeReferrerPolicy) {\n throw new Error(\x22Cannot use the noreferrer option on a page that sets a referrer-policy of `unsafe-url` in modern browsers!\x22);\n }\n noReferrerOption \x3d false;\n }\n var target \x3d opt_options.target || linkRef.target;\n var sb \x3d [];\n var option;\n for (option in opt_options) {\n switch(option) {\n case \x22width\x22:\n case \x22height\x22:\n case \x22top\x22:\n case \x22left\x22:\n sb.push(option + \x22\\x3d\x22 + opt_options[option]);\n break;\n case \x22target\x22:\n case \x22noopener\x22:\n case \x22noreferrer\x22:\n break;\n default:\n sb.push(option + \x22\\x3d\x22 + (opt_options[option] ? 1 : 0));\n }\n }\n var optionString \x3d sb.join(\x22,\x22);\n var newWin;\n if (goog.labs.userAgent.platform.isIos() \x26\x26 parentWin.navigator \x26\x26 parentWin.navigator[\x22standalone\x22] \x26\x26 target \x26\x26 target !\x3d \x22_self\x22) {\n var a \x3d goog.dom.createElement(goog.dom.TagName.A);\n goog.dom.safe.setAnchorHref(a, safeLinkRef);\n a.target \x3d target;\n if (noReferrerOption) {\n a.rel \x3d \x22noreferrer\x22;\n }\n var click \x3d document.createEvent(\x22MouseEvent\x22);\n click.initMouseEvent(\x22click\x22, true, true, parentWin, 1);\n a.dispatchEvent(click);\n newWin \x3d goog.window.createFakeWindow_();\n } else if (noReferrerOption) {\n newWin \x3d goog.dom.safe.openInWindow(\x22\x22, parentWin, target, optionString);\n var sanitizedLinkRef \x3d goog.html.SafeUrl.unwrap(safeLinkRef);\n if (newWin) {\n if (goog.userAgent.EDGE_OR_IE) {\n if (goog.string.contains(sanitizedLinkRef, \x22;\x22)) {\n sanitizedLinkRef \x3d \x22\x27\x22 + sanitizedLinkRef.replace(/\x27/g, \x22%27\x22) + \x22\x27\x22;\n }\n }\n newWin.opener \x3d null;\n if (sanitizedLinkRef \x3d\x3d\x3d \x22\x22) {\n sanitizedLinkRef \x3d \x22javascript:\x27\x27\x22;\n }\n var safeHtml \x3d goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(\x22b/12014412, meta tag with sanitized URL\x22), \x27\\x3cmeta name\\x3d\x22referrer\x22 content\\x3d\x22no-referrer\x22\\x3e\x27 + \x27\\x3cmeta http-equiv\\x3d\x22refresh\x22 content\\x3d\x220; url\\x3d\x27 + goog.string.htmlEscape(sanitizedLinkRef) + \x27\x22\\x3e\x27);\n var newDoc \x3d newWin.document;\n if (newDoc \x26\x26 newDoc.write) {\n goog.dom.safe.documentWrite(newDoc, safeHtml);\n newDoc.close();\n }\n }\n } else {\n newWin \x3d goog.dom.safe.openInWindow(safeLinkRef, parentWin, target, optionString);\n if (newWin \x26\x26 opt_options[\x22noopener\x22]) {\n newWin.opener \x3d null;\n }\n if (newWin \x26\x26 opt_options[\x22noreferrer\x22]) {\n newWin.opener \x3d null;\n }\n }\n return newWin;\n};\ngoog.window.openBlank \x3d function(opt_message, opt_options, opt_parentWin) {\n const win \x3d goog.window.open(\x22\x22, opt_options, opt_parentWin);\n if (win \x26\x26 opt_message) {\n const body \x3d win.document.body;\n if (body) {\n body.textContent \x3d opt_message;\n }\n }\n return win;\n};\ngoog.window.popup \x3d function(linkRef, opt_options) {\n if (!opt_options) {\n opt_options \x3d {};\n }\n opt_options[\x22target\x22] \x3d opt_options[\x22target\x22] || linkRef[\x22target\x22] || goog.window.DEFAULT_POPUP_TARGET;\n opt_options[\x22width\x22] \x3d opt_options[\x22width\x22] || goog.window.DEFAULT_POPUP_WIDTH;\n opt_options[\x22height\x22] \x3d opt_options[\x22height\x22] || goog.window.DEFAULT_POPUP_HEIGHT;\n var newWin \x3d goog.window.open(linkRef, opt_options);\n if (!newWin) {\n return true;\n }\n newWin.focus();\n return false;\n};\n");
SHADOW_ENV.evalLoad("goog.dom.forms.js", true, "goog.provide(\x22goog.dom.forms\x22);\ngoog.require(\x22goog.dom.InputType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.structs.Map\x22);\ngoog.require(\x22goog.window\x22);\ngoog.dom.forms.submitFormInNewWindow \x3d function(form, opt_submitElement) {\n var formData \x3d goog.dom.forms.getFormDataMap(form);\n var action \x3d form.action;\n var method \x3d form.method;\n if (opt_submitElement) {\n if (goog.dom.InputType.SUBMIT !\x3d opt_submitElement.type.toLowerCase()) {\n throw new Error(\x22opt_submitElement does not have a valid type.\x22);\n }\n var submitValue \x3d goog.dom.forms.getValue(opt_submitElement);\n if (submitValue !\x3d null) {\n goog.dom.forms.addFormDataToMap_(formData, opt_submitElement.name, submitValue);\n }\n if (opt_submitElement.getAttribute(\x22formaction\x22)) {\n action \x3d opt_submitElement.getAttribute(\x22formaction\x22);\n }\n if (opt_submitElement.getAttribute(\x22formmethod\x22)) {\n method \x3d opt_submitElement.getAttribute(\x22formmethod\x22);\n }\n }\n return goog.dom.forms.submitFormDataInNewWindow(action, method, formData);\n};\ngoog.dom.forms.submitFormDataInNewWindow \x3d function(actionUri, method, formData) {\n var newWin \x3d goog.window.openBlank(\x22\x22, {noreferrer:true});\n if (!newWin) {\n return false;\n }\n var newDocument \x3d newWin.document;\n var newForm \x3d newDocument.createElement(\x22form\x22);\n newForm.method \x3d method;\n goog.dom.safe.setFormElementAction(newForm, actionUri);\n formData.forEach(function(fieldValues, fieldName) {\n var i \x3d 0;\n for (; i \x3c fieldValues.length; i++) {\n var fieldValue \x3d fieldValues[i];\n var newInput \x3d newDocument.createElement(\x22input\x22);\n newInput.name \x3d fieldName;\n newInput.value \x3d fieldValue;\n newInput.type \x3d \x22hidden\x22;\n HTMLFormElement.prototype.appendChild.call(newForm, newInput);\n }\n });\n HTMLFormElement.prototype.submit.call(newForm);\n return true;\n};\ngoog.dom.forms.getFormDataMap \x3d function(form) {\n var map \x3d new goog.structs.Map();\n goog.dom.forms.getFormDataHelper_(form, map, goog.dom.forms.addFormDataToMap_);\n return map;\n};\ngoog.dom.forms.getFormDataString \x3d function(form) {\n var sb \x3d [];\n goog.dom.forms.getFormDataHelper_(form, sb, goog.dom.forms.addFormDataToStringBuffer_);\n return sb.join(\x22\\x26\x22);\n};\ngoog.dom.forms.getFormDataHelper_ \x3d function(form, result, fnAppend) {\n var els \x3d form.elements;\n var el;\n var i \x3d 0;\n for (; el \x3d els.item(i); i++) {\n if (el.form !\x3d form || el.disabled || el.tagName \x3d\x3d goog.dom.TagName.FIELDSET) {\n continue;\n }\n var name \x3d el.name;\n switch(el.type.toLowerCase()) {\n case goog.dom.InputType.FILE:\n case goog.dom.InputType.SUBMIT:\n case goog.dom.InputType.RESET:\n case goog.dom.InputType.BUTTON:\n break;\n case goog.dom.InputType.SELECT_MULTIPLE:\n var values \x3d goog.dom.forms.getValue(el);\n if (values !\x3d null) {\n var value;\n var j \x3d 0;\n for (; value \x3d values[j]; j++) {\n fnAppend(result, name, value);\n }\n }\n break;\n default:\n value \x3d goog.dom.forms.getValue(el);\n if (value !\x3d null) {\n fnAppend(result, name, value);\n }\n }\n }\n var inputs \x3d form.getElementsByTagName(String(goog.dom.TagName.INPUT));\n var input;\n i \x3d 0;\n for (; input \x3d inputs[i]; i++) {\n if (input.form \x3d\x3d form \x26\x26 input.type.toLowerCase() \x3d\x3d goog.dom.InputType.IMAGE) {\n name \x3d input.name;\n fnAppend(result, name, input.value);\n fnAppend(result, name + \x22.x\x22, \x220\x22);\n fnAppend(result, name + \x22.y\x22, \x220\x22);\n }\n }\n};\ngoog.dom.forms.addFormDataToMap_ \x3d function(map, name, value) {\n var array \x3d map.get(name);\n if (!array) {\n array \x3d [];\n map.set(name, array);\n }\n array.push(value);\n};\ngoog.dom.forms.addFormDataToStringBuffer_ \x3d function(sb, name, value) {\n sb.push(encodeURIComponent(name) + \x22\\x3d\x22 + encodeURIComponent(value));\n};\ngoog.dom.forms.hasFileInput \x3d function(form) {\n var els \x3d form.elements;\n var el;\n var i \x3d 0;\n for (; el \x3d els[i]; i++) {\n if (!el.disabled \x26\x26 el.type \x26\x26 el.type.toLowerCase() \x3d\x3d goog.dom.InputType.FILE) {\n return true;\n }\n }\n return false;\n};\ngoog.dom.forms.setDisabled \x3d function(el, disabled) {\n if (el.tagName \x3d\x3d goog.dom.TagName.FORM) {\n var els \x3d el.elements;\n var i \x3d 0;\n for (; el \x3d els.item(i); i++) {\n goog.dom.forms.setDisabled(el, disabled);\n }\n } else {\n if (disabled \x3d\x3d true) {\n el.blur();\n }\n el.disabled \x3d disabled;\n }\n};\ngoog.dom.forms.focusAndSelect \x3d function(el) {\n el.focus();\n if (el.select) {\n el.select();\n }\n};\ngoog.dom.forms.hasValue \x3d function(el) {\n var value \x3d goog.dom.forms.getValue(el);\n return !!value;\n};\ngoog.dom.forms.hasValueByName \x3d function(form, name) {\n var value \x3d goog.dom.forms.getValueByName(form, name);\n return !!value;\n};\ngoog.dom.forms.getValue \x3d function(input) {\n var type \x3d input.type;\n if (typeof type \x3d\x3d\x3d \x22string\x22) {\n var el \x3d input;\n switch(type.toLowerCase()) {\n case goog.dom.InputType.CHECKBOX:\n case goog.dom.InputType.RADIO:\n return goog.dom.forms.getInputChecked_(el);\n case goog.dom.InputType.SELECT_ONE:\n return goog.dom.forms.getSelectSingle_(el);\n case goog.dom.InputType.SELECT_MULTIPLE:\n return goog.dom.forms.getSelectMultiple_(el);\n default:\n }\n }\n return input.value !\x3d null ? input.value : null;\n};\ngoog.dom.forms.getValueByName \x3d function(form, name) {\n var els \x3d form.elements[name];\n if (!els) {\n return null;\n } else if (els.type) {\n return goog.dom.forms.getValue(els);\n } else {\n var i \x3d 0;\n for (; i \x3c els.length; i++) {\n var val \x3d goog.dom.forms.getValue(els[i]);\n if (val) {\n return val;\n }\n }\n return null;\n }\n};\ngoog.dom.forms.getInputChecked_ \x3d function(el) {\n return el.checked ? el.value : null;\n};\ngoog.dom.forms.getSelectSingle_ \x3d function(el) {\n var selectedIndex \x3d el.selectedIndex;\n return selectedIndex \x3e\x3d 0 ? el.options[selectedIndex].value : null;\n};\ngoog.dom.forms.getSelectMultiple_ \x3d function(el) {\n var values \x3d [];\n var option;\n var i \x3d 0;\n for (; option \x3d el.options[i]; i++) {\n if (option.selected) {\n values.push(option.value);\n }\n }\n return values.length ? values : null;\n};\ngoog.dom.forms.setValue \x3d function(el, opt_value) {\n var type \x3d el.type;\n switch(typeof type \x3d\x3d\x3d \x22string\x22 \x26\x26 type.toLowerCase()) {\n case goog.dom.InputType.CHECKBOX:\n case goog.dom.InputType.RADIO:\n goog.dom.forms.setInputChecked_(el, opt_value);\n return;\n case goog.dom.InputType.SELECT_ONE:\n goog.dom.forms.setSelectSingle_(el, opt_value);\n return;\n case goog.dom.InputType.SELECT_MULTIPLE:\n goog.dom.forms.setSelectMultiple_(el, opt_value);\n return;\n default:\n el.value \x3d opt_value !\x3d null ? opt_value : \x22\x22;\n }\n};\ngoog.dom.forms.setInputChecked_ \x3d function(el, opt_value) {\n el.checked \x3d opt_value;\n};\ngoog.dom.forms.setSelectSingle_ \x3d function(el, opt_value) {\n el.selectedIndex \x3d -1;\n if (typeof opt_value \x3d\x3d\x3d \x22string\x22) {\n var option;\n var i \x3d 0;\n for (; option \x3d el.options[i]; i++) {\n if (option.value \x3d\x3d opt_value) {\n option.selected \x3d true;\n break;\n }\n }\n }\n};\ngoog.dom.forms.setSelectMultiple_ \x3d function(el, opt_value) {\n if (typeof opt_value \x3d\x3d\x3d \x22string\x22) {\n opt_value \x3d [opt_value];\n }\n var option;\n var i \x3d 0;\n for (; option \x3d el.options[i]; i++) {\n option.selected \x3d false;\n if (opt_value) {\n var value;\n var j \x3d 0;\n for (; value \x3d opt_value[j]; j++) {\n if (option.value \x3d\x3d value) {\n option.selected \x3d true;\n }\n }\n }\n }\n};\n");
SHADOW_ENV.evalLoad("goog.dom.classlist.js", true, "goog.provide(\x22goog.dom.classlist\x22);\ngoog.require(\x22goog.array\x22);\ngoog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST \x3d goog.define(\x22goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST\x22, false);\ngoog.dom.classlist.getClassName_ \x3d function(element) {\n return typeof element.className \x3d\x3d \x22string\x22 ? element.className : element.getAttribute \x26\x26 element.getAttribute(\x22class\x22) || \x22\x22;\n};\ngoog.dom.classlist.get \x3d function(element) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n return element.classList;\n }\n return goog.dom.classlist.getClassName_(element).match(/\\S+/g) || [];\n};\ngoog.dom.classlist.set \x3d function(element, className) {\n if (typeof element.className \x3d\x3d \x22string\x22) {\n element.className \x3d className;\n return;\n } else if (element.setAttribute) {\n element.setAttribute(\x22class\x22, className);\n }\n};\ngoog.dom.classlist.contains \x3d function(element, className) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n return element.classList.contains(className);\n }\n return goog.array.contains(goog.dom.classlist.get(element), className);\n};\ngoog.dom.classlist.add \x3d function(element, className) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n element.classList.add(className);\n return;\n }\n if (!goog.dom.classlist.contains(element, className)) {\n var oldClassName \x3d goog.dom.classlist.getClassName_(element);\n goog.dom.classlist.set(element, oldClassName + (oldClassName.length \x3e 0 ? \x22 \x22 + className : className));\n }\n};\ngoog.dom.classlist.addAll \x3d function(element, classesToAdd) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n Array.prototype.forEach.call(classesToAdd, function(className) {\n goog.dom.classlist.add(element, className);\n });\n return;\n }\n var classMap \x3d {};\n Array.prototype.forEach.call(goog.dom.classlist.get(element), function(className) {\n classMap[className] \x3d true;\n });\n Array.prototype.forEach.call(classesToAdd, function(className) {\n classMap[className] \x3d true;\n });\n var newClassName \x3d \x22\x22;\n var className;\n for (className in classMap) {\n newClassName \x3d newClassName + (newClassName.length \x3e 0 ? \x22 \x22 + className : className);\n }\n goog.dom.classlist.set(element, newClassName);\n};\ngoog.dom.classlist.remove \x3d function(element, className) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n element.classList.remove(className);\n return;\n }\n if (goog.dom.classlist.contains(element, className)) {\n goog.dom.classlist.set(element, Array.prototype.filter.call(goog.dom.classlist.get(element), function(c) {\n return c !\x3d className;\n }).join(\x22 \x22));\n }\n};\ngoog.dom.classlist.removeAll \x3d function(element, classesToRemove) {\n if (goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST || element.classList) {\n Array.prototype.forEach.call(classesToRemove, function(className) {\n goog.dom.classlist.remove(element, className);\n });\n return;\n }\n goog.dom.classlist.set(element, Array.prototype.filter.call(goog.dom.classlist.get(element), function(className) {\n return !goog.array.contains(classesToRemove, className);\n }).join(\x22 \x22));\n};\ngoog.dom.classlist.enable \x3d function(element, className, enabled) {\n if (enabled) {\n goog.dom.classlist.add(element, className);\n } else {\n goog.dom.classlist.remove(element, className);\n }\n};\ngoog.dom.classlist.enableAll \x3d function(element, classesToEnable, enabled) {\n var f \x3d enabled ? goog.dom.classlist.addAll : goog.dom.classlist.removeAll;\n f(element, classesToEnable);\n};\ngoog.dom.classlist.swap \x3d function(element, fromClass, toClass) {\n if (goog.dom.classlist.contains(element, fromClass)) {\n goog.dom.classlist.remove(element, fromClass);\n goog.dom.classlist.add(element, toClass);\n return true;\n }\n return false;\n};\ngoog.dom.classlist.toggle \x3d function(element, className) {\n var add \x3d !goog.dom.classlist.contains(element, className);\n goog.dom.classlist.enable(element, className, add);\n return add;\n};\ngoog.dom.classlist.addRemove \x3d function(element, classToRemove, classToAdd) {\n goog.dom.classlist.remove(element, classToRemove);\n goog.dom.classlist.add(element, classToAdd);\n};\n");
SHADOW_ENV.evalLoad("goog.dom.vendor.js", true, "goog.provide(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.dom.vendor.getVendorJsPrefix \x3d function() {\n if (goog.userAgent.WEBKIT) {\n return \x22Webkit\x22;\n } else if (goog.userAgent.GECKO) {\n return \x22Moz\x22;\n } else if (goog.userAgent.IE) {\n return \x22ms\x22;\n }\n return null;\n};\ngoog.dom.vendor.getVendorPrefix \x3d function() {\n if (goog.userAgent.WEBKIT) {\n return \x22-webkit\x22;\n } else if (goog.userAgent.GECKO) {\n return \x22-moz\x22;\n } else if (goog.userAgent.IE) {\n return \x22-ms\x22;\n }\n return null;\n};\ngoog.dom.vendor.getPrefixedPropertyName \x3d function(propertyName, opt_object) {\n if (opt_object \x26\x26 propertyName in opt_object) {\n return propertyName;\n }\n var prefix \x3d goog.dom.vendor.getVendorJsPrefix();\n if (prefix) {\n prefix \x3d prefix.toLowerCase();\n var prefixedPropertyName \x3d prefix + goog.string.toTitleCase(propertyName);\n return opt_object \x3d\x3d\x3d undefined || prefixedPropertyName in opt_object ? prefixedPropertyName : null;\n }\n return null;\n};\ngoog.dom.vendor.getPrefixedEventType \x3d function(eventType) {\n var prefix \x3d goog.dom.vendor.getVendorJsPrefix() || \x22\x22;\n return (prefix + eventType).toLowerCase();\n};\n");
SHADOW_ENV.evalLoad("goog.math.box.js", true, "goog.provide(\x22goog.math.Box\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.math.Box \x3d function(top, right, bottom, left) {\n this.top \x3d top;\n this.right \x3d right;\n this.bottom \x3d bottom;\n this.left \x3d left;\n};\ngoog.math.Box.boundingBox \x3d function(var_args) {\n var box \x3d new goog.math.Box(arguments[0].y, arguments[0].x, arguments[0].y, arguments[0].x);\n var i \x3d 1;\n for (; i \x3c arguments.length; i++) {\n box.expandToIncludeCoordinate(arguments[i]);\n }\n return box;\n};\ngoog.math.Box.prototype.getWidth \x3d function() {\n return this.right - this.left;\n};\ngoog.math.Box.prototype.getHeight \x3d function() {\n return this.bottom - this.top;\n};\ngoog.math.Box.prototype.clone \x3d function() {\n return new goog.math.Box(this.top, this.right, this.bottom, this.left);\n};\nif (goog.DEBUG) {\n goog.math.Box.prototype.toString \x3d function() {\n return \x22(\x22 + this.top + \x22t, \x22 + this.right + \x22r, \x22 + this.bottom + \x22b, \x22 + this.left + \x22l)\x22;\n };\n}\ngoog.math.Box.prototype.contains \x3d function(other) {\n return goog.math.Box.contains(this, other);\n};\ngoog.math.Box.prototype.expand \x3d function(top, opt_right, opt_bottom, opt_left) {\n if (goog.isObject(top)) {\n this.top -\x3d top.top;\n this.right +\x3d top.right;\n this.bottom +\x3d top.bottom;\n this.left -\x3d top.left;\n } else {\n this.top -\x3d top;\n this.right +\x3d Number(opt_right);\n this.bottom +\x3d Number(opt_bottom);\n this.left -\x3d Number(opt_left);\n }\n return this;\n};\ngoog.math.Box.prototype.expandToInclude \x3d function(box) {\n this.left \x3d Math.min(this.left, box.left);\n this.top \x3d Math.min(this.top, box.top);\n this.right \x3d Math.max(this.right, box.right);\n this.bottom \x3d Math.max(this.bottom, box.bottom);\n};\ngoog.math.Box.prototype.expandToIncludeCoordinate \x3d function(coord) {\n this.top \x3d Math.min(this.top, coord.y);\n this.right \x3d Math.max(this.right, coord.x);\n this.bottom \x3d Math.max(this.bottom, coord.y);\n this.left \x3d Math.min(this.left, coord.x);\n};\ngoog.math.Box.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.top \x3d\x3d b.top \x26\x26 a.right \x3d\x3d b.right \x26\x26 a.bottom \x3d\x3d b.bottom \x26\x26 a.left \x3d\x3d b.left;\n};\ngoog.math.Box.contains \x3d function(box, other) {\n if (!box || !other) {\n return false;\n }\n if (other instanceof goog.math.Box) {\n return other.left \x3e\x3d box.left \x26\x26 other.right \x3c\x3d box.right \x26\x26 other.top \x3e\x3d box.top \x26\x26 other.bottom \x3c\x3d box.bottom;\n }\n return other.x \x3e\x3d box.left \x26\x26 other.x \x3c\x3d box.right \x26\x26 other.y \x3e\x3d box.top \x26\x26 other.y \x3c\x3d box.bottom;\n};\ngoog.math.Box.relativePositionX \x3d function(box, coord) {\n if (coord.x \x3c box.left) {\n return coord.x - box.left;\n } else if (coord.x \x3e box.right) {\n return coord.x - box.right;\n }\n return 0;\n};\ngoog.math.Box.relativePositionY \x3d function(box, coord) {\n if (coord.y \x3c box.top) {\n return coord.y - box.top;\n } else if (coord.y \x3e box.bottom) {\n return coord.y - box.bottom;\n }\n return 0;\n};\ngoog.math.Box.distance \x3d function(box, coord) {\n var x \x3d goog.math.Box.relativePositionX(box, coord);\n var y \x3d goog.math.Box.relativePositionY(box, coord);\n return Math.sqrt(x * x + y * y);\n};\ngoog.math.Box.intersects \x3d function(a, b) {\n return a.left \x3c\x3d b.right \x26\x26 b.left \x3c\x3d a.right \x26\x26 a.top \x3c\x3d b.bottom \x26\x26 b.top \x3c\x3d a.bottom;\n};\ngoog.math.Box.intersectsWithPadding \x3d function(a, b, padding) {\n return a.left \x3c\x3d b.right + padding \x26\x26 b.left \x3c\x3d a.right + padding \x26\x26 a.top \x3c\x3d b.bottom + padding \x26\x26 b.top \x3c\x3d a.bottom + padding;\n};\ngoog.math.Box.prototype.ceil \x3d function() {\n this.top \x3d Math.ceil(this.top);\n this.right \x3d Math.ceil(this.right);\n this.bottom \x3d Math.ceil(this.bottom);\n this.left \x3d Math.ceil(this.left);\n return this;\n};\ngoog.math.Box.prototype.floor \x3d function() {\n this.top \x3d Math.floor(this.top);\n this.right \x3d Math.floor(this.right);\n this.bottom \x3d Math.floor(this.bottom);\n this.left \x3d Math.floor(this.left);\n return this;\n};\ngoog.math.Box.prototype.round \x3d function() {\n this.top \x3d Math.round(this.top);\n this.right \x3d Math.round(this.right);\n this.bottom \x3d Math.round(this.bottom);\n this.left \x3d Math.round(this.left);\n return this;\n};\ngoog.math.Box.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.left +\x3d tx.x;\n this.right +\x3d tx.x;\n this.top +\x3d tx.y;\n this.bottom +\x3d tx.y;\n } else {\n goog.asserts.assertNumber(tx);\n this.left +\x3d tx;\n this.right +\x3d tx;\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.top +\x3d opt_ty;\n this.bottom +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Box.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.left *\x3d sx;\n this.right *\x3d sx;\n this.top *\x3d sy;\n this.bottom *\x3d sy;\n return this;\n};\n");
SHADOW_ENV.evalLoad("goog.math.irect.js", true, "goog.provide(\x22goog.math.IRect\x22);\ngoog.math.IRect \x3d function() {\n};\ngoog.math.IRect.prototype.left;\ngoog.math.IRect.prototype.top;\ngoog.math.IRect.prototype.width;\ngoog.math.IRect.prototype.height;\n");
SHADOW_ENV.evalLoad("goog.math.rect.js", true, "goog.provide(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.IRect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.math.Rect \x3d function(x, y, w, h) {\n this.left \x3d x;\n this.top \x3d y;\n this.width \x3d w;\n this.height \x3d h;\n};\ngoog.math.Rect.prototype.clone \x3d function() {\n return new goog.math.Rect(this.left, this.top, this.width, this.height);\n};\ngoog.math.Rect.prototype.toBox \x3d function() {\n var right \x3d this.left + this.width;\n var bottom \x3d this.top + this.height;\n return new goog.math.Box(this.top, right, bottom, this.left);\n};\ngoog.math.Rect.createFromPositionAndSize \x3d function(position, size) {\n return new goog.math.Rect(position.x, position.y, size.width, size.height);\n};\ngoog.math.Rect.createFromBox \x3d function(box) {\n return new goog.math.Rect(box.left, box.top, box.right - box.left, box.bottom - box.top);\n};\nif (goog.DEBUG) {\n goog.math.Rect.prototype.toString \x3d function() {\n return \x22(\x22 + this.left + \x22, \x22 + this.top + \x22 - \x22 + this.width + \x22w x \x22 + this.height + \x22h)\x22;\n };\n}\ngoog.math.Rect.equals \x3d function(a, b) {\n if (a \x3d\x3d b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n return a.left \x3d\x3d b.left \x26\x26 a.width \x3d\x3d b.width \x26\x26 a.top \x3d\x3d b.top \x26\x26 a.height \x3d\x3d b.height;\n};\ngoog.math.Rect.prototype.intersection \x3d function(rect) {\n var x0 \x3d Math.max(this.left, rect.left);\n var x1 \x3d Math.min(this.left + this.width, rect.left + rect.width);\n if (x0 \x3c\x3d x1) {\n var y0 \x3d Math.max(this.top, rect.top);\n var y1 \x3d Math.min(this.top + this.height, rect.top + rect.height);\n if (y0 \x3c\x3d y1) {\n this.left \x3d x0;\n this.top \x3d y0;\n this.width \x3d x1 - x0;\n this.height \x3d y1 - y0;\n return true;\n }\n }\n return false;\n};\ngoog.math.Rect.intersection \x3d function(a, b) {\n var x0 \x3d Math.max(a.left, b.left);\n var x1 \x3d Math.min(a.left + a.width, b.left + b.width);\n if (x0 \x3c\x3d x1) {\n var y0 \x3d Math.max(a.top, b.top);\n var y1 \x3d Math.min(a.top + a.height, b.top + b.height);\n if (y0 \x3c\x3d y1) {\n return new goog.math.Rect(x0, y0, x1 - x0, y1 - y0);\n }\n }\n return null;\n};\ngoog.math.Rect.intersects \x3d function(a, b) {\n return a.left \x3c\x3d b.left + b.width \x26\x26 b.left \x3c\x3d a.left + a.width \x26\x26 a.top \x3c\x3d b.top + b.height \x26\x26 b.top \x3c\x3d a.top + a.height;\n};\ngoog.math.Rect.prototype.intersects \x3d function(rect) {\n return goog.math.Rect.intersects(this, rect);\n};\ngoog.math.Rect.difference \x3d function(a, b) {\n var intersection \x3d goog.math.Rect.intersection(a, b);\n if (!intersection || !intersection.height || !intersection.width) {\n return [a.clone()];\n }\n var result \x3d [];\n var top \x3d a.top;\n var height \x3d a.height;\n var ar \x3d a.left + a.width;\n var ab \x3d a.top + a.height;\n var br \x3d b.left + b.width;\n var bb \x3d b.top + b.height;\n if (b.top \x3e a.top) {\n result.push(new goog.math.Rect(a.left, a.top, a.width, b.top - a.top));\n top \x3d b.top;\n height \x3d height - (b.top - a.top);\n }\n if (bb \x3c ab) {\n result.push(new goog.math.Rect(a.left, bb, a.width, ab - bb));\n height \x3d bb - top;\n }\n if (b.left \x3e a.left) {\n result.push(new goog.math.Rect(a.left, top, b.left - a.left, height));\n }\n if (br \x3c ar) {\n result.push(new goog.math.Rect(br, top, ar - br, height));\n }\n return result;\n};\ngoog.math.Rect.prototype.difference \x3d function(rect) {\n return goog.math.Rect.difference(this, rect);\n};\ngoog.math.Rect.prototype.boundingRect \x3d function(rect) {\n var right \x3d Math.max(this.left + this.width, rect.left + rect.width);\n var bottom \x3d Math.max(this.top + this.height, rect.top + rect.height);\n this.left \x3d Math.min(this.left, rect.left);\n this.top \x3d Math.min(this.top, rect.top);\n this.width \x3d right - this.left;\n this.height \x3d bottom - this.top;\n};\ngoog.math.Rect.boundingRect \x3d function(a, b) {\n if (!a || !b) {\n return null;\n }\n var newRect \x3d new goog.math.Rect(a.left, a.top, a.width, a.height);\n newRect.boundingRect(b);\n return newRect;\n};\ngoog.math.Rect.prototype.contains \x3d function(another) {\n if (another instanceof goog.math.Coordinate) {\n return another.x \x3e\x3d this.left \x26\x26 another.x \x3c\x3d this.left + this.width \x26\x26 another.y \x3e\x3d this.top \x26\x26 another.y \x3c\x3d this.top + this.height;\n } else {\n return this.left \x3c\x3d another.left \x26\x26 this.left + this.width \x3e\x3d another.left + another.width \x26\x26 this.top \x3c\x3d another.top \x26\x26 this.top + this.height \x3e\x3d another.top + another.height;\n }\n};\ngoog.math.Rect.prototype.squaredDistance \x3d function(point) {\n var dx \x3d point.x \x3c this.left ? this.left - point.x : Math.max(point.x - (this.left + this.width), 0);\n var dy \x3d point.y \x3c this.top ? this.top - point.y : Math.max(point.y - (this.top + this.height), 0);\n return dx * dx + dy * dy;\n};\ngoog.math.Rect.prototype.distance \x3d function(point) {\n return Math.sqrt(this.squaredDistance(point));\n};\ngoog.math.Rect.prototype.getSize \x3d function() {\n return new goog.math.Size(this.width, this.height);\n};\ngoog.math.Rect.prototype.getTopLeft \x3d function() {\n return new goog.math.Coordinate(this.left, this.top);\n};\ngoog.math.Rect.prototype.getCenter \x3d function() {\n return new goog.math.Coordinate(this.left + this.width / 2, this.top + this.height / 2);\n};\ngoog.math.Rect.prototype.getBottomRight \x3d function() {\n return new goog.math.Coordinate(this.left + this.width, this.top + this.height);\n};\ngoog.math.Rect.prototype.ceil \x3d function() {\n this.left \x3d Math.ceil(this.left);\n this.top \x3d Math.ceil(this.top);\n this.width \x3d Math.ceil(this.width);\n this.height \x3d Math.ceil(this.height);\n return this;\n};\ngoog.math.Rect.prototype.floor \x3d function() {\n this.left \x3d Math.floor(this.left);\n this.top \x3d Math.floor(this.top);\n this.width \x3d Math.floor(this.width);\n this.height \x3d Math.floor(this.height);\n return this;\n};\ngoog.math.Rect.prototype.round \x3d function() {\n this.left \x3d Math.round(this.left);\n this.top \x3d Math.round(this.top);\n this.width \x3d Math.round(this.width);\n this.height \x3d Math.round(this.height);\n return this;\n};\ngoog.math.Rect.prototype.translate \x3d function(tx, opt_ty) {\n if (tx instanceof goog.math.Coordinate) {\n this.left +\x3d tx.x;\n this.top +\x3d tx.y;\n } else {\n this.left +\x3d goog.asserts.assertNumber(tx);\n if (typeof opt_ty \x3d\x3d\x3d \x22number\x22) {\n this.top +\x3d opt_ty;\n }\n }\n return this;\n};\ngoog.math.Rect.prototype.scale \x3d function(sx, opt_sy) {\n var sy \x3d typeof opt_sy \x3d\x3d\x3d \x22number\x22 ? opt_sy : sx;\n this.left *\x3d sx;\n this.width *\x3d sx;\n this.top *\x3d sy;\n this.height *\x3d sy;\n return this;\n};\n");
SHADOW_ENV.evalLoad("goog.style.style.js", true, "goog.provide(\x22goog.style\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.dom\x22);\ngoog.require(\x22goog.dom.NodeType\x22);\ngoog.require(\x22goog.dom.TagName\x22);\ngoog.require(\x22goog.dom.safe\x22);\ngoog.require(\x22goog.dom.vendor\x22);\ngoog.require(\x22goog.html.SafeStyleSheet\x22);\ngoog.require(\x22goog.math.Box\x22);\ngoog.require(\x22goog.math.Coordinate\x22);\ngoog.require(\x22goog.math.Rect\x22);\ngoog.require(\x22goog.math.Size\x22);\ngoog.require(\x22goog.object\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.string\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.requireType(\x22goog.events.Event\x22);\ngoog.style.setStyle \x3d function(element, style, opt_value) {\n if (typeof style \x3d\x3d\x3d \x22string\x22) {\n goog.style.setStyle_(element, opt_value, style);\n } else {\n var key;\n for (key in style) {\n goog.style.setStyle_(element, style[key], key);\n }\n }\n};\ngoog.style.setStyle_ \x3d function(element, value, style) {\n var propertyName \x3d goog.style.getVendorJsStyleName_(element, style);\n if (propertyName) {\n element.style[propertyName] \x3d value;\n }\n};\ngoog.style.styleNameCache_ \x3d {};\ngoog.style.getVendorJsStyleName_ \x3d function(element, style) {\n var propertyName \x3d goog.style.styleNameCache_[style];\n if (!propertyName) {\n var camelStyle \x3d goog.string.toCamelCase(style);\n propertyName \x3d camelStyle;\n if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n propertyName \x3d prefixedStyle;\n }\n }\n goog.style.styleNameCache_[style] \x3d propertyName;\n }\n return propertyName;\n};\ngoog.style.getVendorStyleName_ \x3d function(element, style) {\n var camelStyle \x3d goog.string.toCamelCase(style);\n if (element.style[camelStyle] \x3d\x3d\x3d undefined) {\n var prefixedStyle \x3d goog.dom.vendor.getVendorJsPrefix() + goog.string.toTitleCase(camelStyle);\n if (element.style[prefixedStyle] !\x3d\x3d undefined) {\n return goog.dom.vendor.getVendorPrefix() + \x22-\x22 + style;\n }\n }\n return style;\n};\ngoog.style.getStyle \x3d function(element, property) {\n var styleValue \x3d element.style[goog.string.toCamelCase(property)];\n if (typeof styleValue !\x3d\x3d \x22undefined\x22) {\n return styleValue;\n }\n return element.style[goog.style.getVendorJsStyleName_(element, property)] || \x22\x22;\n};\ngoog.style.getComputedStyle \x3d function(element, property) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n if (doc.defaultView \x26\x26 doc.defaultView.getComputedStyle) {\n var styles \x3d doc.defaultView.getComputedStyle(element, null);\n if (styles) {\n return styles[property] || styles.getPropertyValue(property) || \x22\x22;\n }\n }\n return \x22\x22;\n};\ngoog.style.getCascadedStyle \x3d function(element, style) {\n return element.currentStyle ? element.currentStyle[style] : null;\n};\ngoog.style.getStyle_ \x3d function(element, style) {\n return goog.style.getComputedStyle(element, style) || goog.style.getCascadedStyle(element, style) || element.style \x26\x26 element.style[style];\n};\ngoog.style.getComputedBoxSizing \x3d function(element) {\n return goog.style.getStyle_(element, \x22boxSizing\x22) || goog.style.getStyle_(element, \x22MozBoxSizing\x22) || goog.style.getStyle_(element, \x22WebkitBoxSizing\x22) || null;\n};\ngoog.style.getComputedPosition \x3d function(element) {\n return goog.style.getStyle_(element, \x22position\x22);\n};\ngoog.style.getBackgroundColor \x3d function(element) {\n return goog.style.getStyle_(element, \x22backgroundColor\x22);\n};\ngoog.style.getComputedOverflowX \x3d function(element) {\n return goog.style.getStyle_(element, \x22overflowX\x22);\n};\ngoog.style.getComputedOverflowY \x3d function(element) {\n return goog.style.getStyle_(element, \x22overflowY\x22);\n};\ngoog.style.getComputedZIndex \x3d function(element) {\n return goog.style.getStyle_(element, \x22zIndex\x22);\n};\ngoog.style.getComputedTextAlign \x3d function(element) {\n return goog.style.getStyle_(element, \x22textAlign\x22);\n};\ngoog.style.getComputedCursor \x3d function(element) {\n return goog.style.getStyle_(element, \x22cursor\x22);\n};\ngoog.style.getComputedTransform \x3d function(element) {\n var property \x3d goog.style.getVendorStyleName_(element, \x22transform\x22);\n return goog.style.getStyle_(element, property) || goog.style.getStyle_(element, \x22transform\x22);\n};\ngoog.style.setPosition \x3d function(el, arg1, opt_arg2) {\n var x;\n var y;\n if (arg1 instanceof goog.math.Coordinate) {\n x \x3d arg1.x;\n y \x3d arg1.y;\n } else {\n x \x3d arg1;\n y \x3d opt_arg2;\n }\n el.style.left \x3d goog.style.getPixelStyleValue_(x, false);\n el.style.top \x3d goog.style.getPixelStyleValue_(y, false);\n};\ngoog.style.getPosition \x3d function(element) {\n return new goog.math.Coordinate(element.offsetLeft, element.offsetTop);\n};\ngoog.style.getClientViewportElement \x3d function(opt_node) {\n var doc;\n if (opt_node) {\n doc \x3d goog.dom.getOwnerDocument(opt_node);\n } else {\n doc \x3d goog.dom.getDocument();\n }\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !goog.dom.getDomHelper(doc).isCss1CompatMode()) {\n return doc.body;\n }\n return doc.documentElement;\n};\ngoog.style.getViewportPageOffset \x3d function(doc) {\n var body \x3d doc.body;\n var documentElement \x3d doc.documentElement;\n var scrollLeft \x3d body.scrollLeft || documentElement.scrollLeft;\n var scrollTop \x3d body.scrollTop || documentElement.scrollTop;\n return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.getBoundingClientRect_ \x3d function(el) {\n try {\n return el.getBoundingClientRect();\n } catch (e) {\n return {\x22left\x22:0, \x22top\x22:0, \x22right\x22:0, \x22bottom\x22:0};\n }\n};\ngoog.style.getOffsetParent \x3d function(element) {\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(8)) {\n goog.asserts.assert(element \x26\x26 \x22offsetParent\x22 in element);\n return element.offsetParent;\n }\n var doc \x3d goog.dom.getOwnerDocument(element);\n var positionStyle \x3d goog.style.getStyle_(element, \x22position\x22);\n var skipStatic \x3d positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22;\n var parent \x3d element.parentNode;\n for (; parent \x26\x26 parent !\x3d doc; parent \x3d parent.parentNode) {\n if (parent.nodeType \x3d\x3d goog.dom.NodeType.DOCUMENT_FRAGMENT \x26\x26 parent.host) {\n parent \x3d parent.host;\n }\n positionStyle \x3d goog.style.getStyle_(parent, \x22position\x22);\n skipStatic \x3d skipStatic \x26\x26 positionStyle \x3d\x3d \x22static\x22 \x26\x26 parent !\x3d doc.documentElement \x26\x26 parent !\x3d doc.body;\n if (!skipStatic \x26\x26 (parent.scrollWidth \x3e parent.clientWidth || parent.scrollHeight \x3e parent.clientHeight || positionStyle \x3d\x3d \x22fixed\x22 || positionStyle \x3d\x3d \x22absolute\x22 || positionStyle \x3d\x3d \x22relative\x22)) {\n return parent;\n }\n }\n return null;\n};\ngoog.style.getVisibleRectForElement \x3d function(element) {\n var visibleRect \x3d new goog.math.Box(0, Infinity, Infinity, 0);\n var dom \x3d goog.dom.getDomHelper(element);\n var body \x3d dom.getDocument().body;\n var documentElement \x3d dom.getDocument().documentElement;\n var scrollEl \x3d dom.getDocumentScrollElement();\n var el \x3d element;\n for (; el \x3d goog.style.getOffsetParent(el);) {\n if ((!goog.userAgent.IE || el.clientWidth !\x3d 0) \x26\x26 (!goog.userAgent.WEBKIT || el.clientHeight !\x3d 0 || el !\x3d body) \x26\x26 (el !\x3d body \x26\x26 el !\x3d documentElement \x26\x26 goog.style.getStyle_(el, \x22overflow\x22) !\x3d \x22visible\x22)) {\n var pos \x3d goog.style.getPageOffset(el);\n var client \x3d goog.style.getClientLeftTop(el);\n pos.x +\x3d client.x;\n pos.y +\x3d client.y;\n visibleRect.top \x3d Math.max(visibleRect.top, pos.y);\n visibleRect.right \x3d Math.min(visibleRect.right, pos.x + el.clientWidth);\n visibleRect.bottom \x3d Math.min(visibleRect.bottom, pos.y + el.clientHeight);\n visibleRect.left \x3d Math.max(visibleRect.left, pos.x);\n }\n }\n var scrollX \x3d scrollEl.scrollLeft;\n var scrollY \x3d scrollEl.scrollTop;\n visibleRect.left \x3d Math.max(visibleRect.left, scrollX);\n visibleRect.top \x3d Math.max(visibleRect.top, scrollY);\n var winSize \x3d dom.getViewportSize();\n visibleRect.right \x3d Math.min(visibleRect.right, scrollX + winSize.width);\n visibleRect.bottom \x3d Math.min(visibleRect.bottom, scrollY + winSize.height);\n return visibleRect.top \x3e\x3d 0 \x26\x26 visibleRect.left \x3e\x3d 0 \x26\x26 visibleRect.bottom \x3e visibleRect.top \x26\x26 visibleRect.right \x3e visibleRect.left ? visibleRect : null;\n};\ngoog.style.getContainerOffsetToScrollInto \x3d function(element, opt_container, opt_center) {\n var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n var elementPos \x3d goog.style.getPageOffset(element);\n var containerPos \x3d goog.style.getPageOffset(container);\n var containerBorder \x3d goog.style.getBorderBox(container);\n if (container \x3d\x3d goog.dom.getDocumentScrollElement()) {\n var relX \x3d elementPos.x - container.scrollLeft;\n var relY \x3d elementPos.y - container.scrollTop;\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(10)) {\n relX \x3d relX + containerBorder.left;\n relY \x3d relY + containerBorder.top;\n }\n } else {\n relX \x3d elementPos.x - containerPos.x - containerBorder.left;\n relY \x3d elementPos.y - containerPos.y - containerBorder.top;\n }\n var elementSize \x3d goog.style.getSizeWithDisplay_(element);\n var spaceX \x3d container.clientWidth - elementSize.width;\n var spaceY \x3d container.clientHeight - elementSize.height;\n var scrollLeft \x3d container.scrollLeft;\n var scrollTop \x3d container.scrollTop;\n if (opt_center) {\n scrollLeft \x3d scrollLeft + (relX - spaceX / 2);\n scrollTop \x3d scrollTop + (relY - spaceY / 2);\n } else {\n scrollLeft \x3d scrollLeft + Math.min(relX, Math.max(relX - spaceX, 0));\n scrollTop \x3d scrollTop + Math.min(relY, Math.max(relY - spaceY, 0));\n }\n return new goog.math.Coordinate(scrollLeft, scrollTop);\n};\ngoog.style.scrollIntoContainerView \x3d function(element, opt_container, opt_center) {\n var container \x3d opt_container || goog.dom.getDocumentScrollElement();\n var offset \x3d goog.style.getContainerOffsetToScrollInto(element, container, opt_center);\n container.scrollLeft \x3d offset.x;\n container.scrollTop \x3d offset.y;\n};\ngoog.style.getClientLeftTop \x3d function(el) {\n return new goog.math.Coordinate(el.clientLeft, el.clientTop);\n};\ngoog.style.getPageOffset \x3d function(el) {\n var doc \x3d goog.dom.getOwnerDocument(el);\n goog.asserts.assertObject(el, \x22Parameter is required\x22);\n var pos \x3d new goog.math.Coordinate(0, 0);\n var viewportElement \x3d goog.style.getClientViewportElement(doc);\n if (el \x3d\x3d viewportElement) {\n return pos;\n }\n var box \x3d goog.style.getBoundingClientRect_(el);\n var scrollCoord \x3d goog.dom.getDomHelper(doc).getDocumentScroll();\n pos.x \x3d box.left + scrollCoord.x;\n pos.y \x3d box.top + scrollCoord.y;\n return pos;\n};\ngoog.style.getPageOffsetLeft \x3d function(el) {\n return goog.style.getPageOffset(el).x;\n};\ngoog.style.getPageOffsetTop \x3d function(el) {\n return goog.style.getPageOffset(el).y;\n};\ngoog.style.getFramedPageOffset \x3d function(el, relativeWin) {\n var position \x3d new goog.math.Coordinate(0, 0);\n var currentWin \x3d goog.dom.getWindow(goog.dom.getOwnerDocument(el));\n if (!goog.reflect.canAccessProperty(currentWin, \x22parent\x22)) {\n return position;\n }\n var currentEl \x3d el;\n do {\n var offset \x3d currentWin \x3d\x3d relativeWin ? goog.style.getPageOffset(currentEl) : goog.style.getClientPositionForElement_(goog.asserts.assert(currentEl));\n position.x +\x3d offset.x;\n position.y +\x3d offset.y;\n } while (currentWin \x26\x26 currentWin !\x3d relativeWin \x26\x26 currentWin !\x3d currentWin.parent \x26\x26 (currentEl \x3d currentWin.frameElement) \x26\x26 (currentWin \x3d currentWin.parent));\n return position;\n};\ngoog.style.translateRectForAnotherFrame \x3d function(rect, origBase, newBase) {\n if (origBase.getDocument() !\x3d newBase.getDocument()) {\n var body \x3d origBase.getDocument().body;\n var pos \x3d goog.style.getFramedPageOffset(body, newBase.getWindow());\n pos \x3d goog.math.Coordinate.difference(pos, goog.style.getPageOffset(body));\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9) \x26\x26 !origBase.isCss1CompatMode()) {\n pos \x3d goog.math.Coordinate.difference(pos, origBase.getDocumentScroll());\n }\n rect.left +\x3d pos.x;\n rect.top +\x3d pos.y;\n }\n};\ngoog.style.getRelativePosition \x3d function(a, b) {\n var ap \x3d goog.style.getClientPosition(a);\n var bp \x3d goog.style.getClientPosition(b);\n return new goog.math.Coordinate(ap.x - bp.x, ap.y - bp.y);\n};\ngoog.style.getClientPositionForElement_ \x3d function(el) {\n var box \x3d goog.style.getBoundingClientRect_(el);\n return new goog.math.Coordinate(box.left, box.top);\n};\ngoog.style.getClientPosition \x3d function(el) {\n goog.asserts.assert(el);\n if (el.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT) {\n return goog.style.getClientPositionForElement_(el);\n } else {\n var targetEvent \x3d el.changedTouches ? el.changedTouches[0] : el;\n return new goog.math.Coordinate(targetEvent.clientX, targetEvent.clientY);\n }\n};\ngoog.style.setPageOffset \x3d function(el, x, opt_y) {\n var cur \x3d goog.style.getPageOffset(el);\n if (x instanceof goog.math.Coordinate) {\n opt_y \x3d x.y;\n x \x3d x.x;\n }\n var dx \x3d goog.asserts.assertNumber(x) - cur.x;\n var dy \x3d Number(opt_y) - cur.y;\n goog.style.setPosition(el, el.offsetLeft + dx, el.offsetTop + dy);\n};\ngoog.style.setSize \x3d function(element, w, opt_h) {\n var h;\n if (w instanceof goog.math.Size) {\n h \x3d w.height;\n w \x3d w.width;\n } else {\n if (opt_h \x3d\x3d undefined) {\n throw new Error(\x22missing height argument\x22);\n }\n h \x3d opt_h;\n }\n goog.style.setWidth(element, w);\n goog.style.setHeight(element, h);\n};\ngoog.style.getPixelStyleValue_ \x3d function(value, round) {\n if (typeof value \x3d\x3d \x22number\x22) {\n value \x3d (round ? Math.round(value) : value) + \x22px\x22;\n }\n return value;\n};\ngoog.style.setHeight \x3d function(element, height) {\n element.style.height \x3d goog.style.getPixelStyleValue_(height, true);\n};\ngoog.style.setWidth \x3d function(element, width) {\n element.style.width \x3d goog.style.getPixelStyleValue_(width, true);\n};\ngoog.style.getSize \x3d function(element) {\n return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_, element);\n};\ngoog.style.evaluateWithTemporaryDisplay_ \x3d function(fn, element) {\n if (goog.style.getStyle_(element, \x22display\x22) !\x3d \x22none\x22) {\n return fn(element);\n }\n var style \x3d element.style;\n var originalDisplay \x3d style.display;\n var originalVisibility \x3d style.visibility;\n var originalPosition \x3d style.position;\n style.visibility \x3d \x22hidden\x22;\n style.position \x3d \x22absolute\x22;\n style.display \x3d \x22inline\x22;\n var retVal \x3d fn(element);\n style.display \x3d originalDisplay;\n style.position \x3d originalPosition;\n style.visibility \x3d originalVisibility;\n return retVal;\n};\ngoog.style.getSizeWithDisplay_ \x3d function(element) {\n var offsetWidth \x3d element.offsetWidth;\n var offsetHeight \x3d element.offsetHeight;\n var webkitOffsetsZero \x3d goog.userAgent.WEBKIT \x26\x26 !offsetWidth \x26\x26 !offsetHeight;\n if ((offsetWidth \x3d\x3d\x3d undefined || webkitOffsetsZero) \x26\x26 element.getBoundingClientRect) {\n var clientRect \x3d goog.style.getBoundingClientRect_(element);\n return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n }\n return new goog.math.Size(offsetWidth, offsetHeight);\n};\ngoog.style.getTransformedSize \x3d function(element) {\n if (!element.getBoundingClientRect) {\n return null;\n }\n var clientRect \x3d goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_, element);\n return new goog.math.Size(clientRect.right - clientRect.left, clientRect.bottom - clientRect.top);\n};\ngoog.style.getBounds \x3d function(element) {\n var o \x3d goog.style.getPageOffset(element);\n var s \x3d goog.style.getSize(element);\n return new goog.math.Rect(o.x, o.y, s.width, s.height);\n};\ngoog.style.toCamelCase \x3d function(selector) {\n return goog.string.toCamelCase(String(selector));\n};\ngoog.style.toSelectorCase \x3d function(selector) {\n return goog.string.toSelectorCase(selector);\n};\ngoog.style.getOpacity \x3d function(el) {\n goog.asserts.assert(el);\n var style \x3d el.style;\n var result \x3d \x22\x22;\n if (\x22opacity\x22 in style) {\n result \x3d style.opacity;\n } else if (\x22MozOpacity\x22 in style) {\n result \x3d style.MozOpacity;\n } else if (\x22filter\x22 in style) {\n var match \x3d style.filter.match(/alpha\\(opacity\x3d([\\d.]+)\\)/);\n if (match) {\n result \x3d String(match[1] / 100);\n }\n }\n return result \x3d\x3d \x22\x22 ? result : Number(result);\n};\ngoog.style.setOpacity \x3d function(el, alpha) {\n goog.asserts.assert(el);\n var style \x3d el.style;\n if (\x22opacity\x22 in style) {\n style.opacity \x3d alpha;\n } else if (\x22MozOpacity\x22 in style) {\n style.MozOpacity \x3d alpha;\n } else if (\x22filter\x22 in style) {\n if (alpha \x3d\x3d\x3d \x22\x22) {\n style.filter \x3d \x22\x22;\n } else {\n style.filter \x3d \x22alpha(opacity\\x3d\x22 + Number(alpha) * 100 + \x22)\x22;\n }\n }\n};\ngoog.style.setTransparentBackgroundImage \x3d function(el, src) {\n var style \x3d el.style;\n style.backgroundImage \x3d \x22url(\x22 + src + \x22)\x22;\n style.backgroundPosition \x3d \x22top left\x22;\n style.backgroundRepeat \x3d \x22no-repeat\x22;\n};\ngoog.style.clearTransparentBackgroundImage \x3d function(el) {\n var style \x3d el.style;\n if (\x22filter\x22 in style) {\n style.filter \x3d \x22\x22;\n } else {\n style.backgroundImage \x3d \x22none\x22;\n }\n};\ngoog.style.showElement \x3d function(el, display) {\n goog.style.setElementShown(el, display);\n};\ngoog.style.setElementShown \x3d function(el, isShown) {\n el.style.display \x3d isShown ? \x22\x22 : \x22none\x22;\n};\ngoog.style.isElementShown \x3d function(el) {\n return el.style.display !\x3d \x22none\x22;\n};\ngoog.style.installSafeStyleSheet \x3d function(safeStyleSheet, opt_node) {\n var dh \x3d goog.dom.getDomHelper(opt_node);\n var doc \x3d dh.getDocument();\n if (goog.userAgent.IE \x26\x26 doc.createStyleSheet) {\n var styleSheet \x3d doc.createStyleSheet();\n goog.style.setSafeStyleSheet(styleSheet, safeStyleSheet);\n return styleSheet;\n } else {\n var head \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.HEAD)[0];\n if (!head) {\n var body \x3d dh.getElementsByTagNameAndClass(goog.dom.TagName.BODY)[0];\n head \x3d dh.createDom(goog.dom.TagName.HEAD);\n body.parentNode.insertBefore(head, body);\n }\n var el \x3d dh.createDom(goog.dom.TagName.STYLE);\n const nonce \x3d goog.dom.safe.getStyleNonce();\n if (nonce) {\n el.setAttribute(\x22nonce\x22, nonce);\n }\n goog.style.setSafeStyleSheet(el, safeStyleSheet);\n dh.appendChild(head, el);\n return el;\n }\n};\ngoog.style.uninstallStyles \x3d function(styleSheet) {\n var node \x3d styleSheet.ownerNode || styleSheet.owningElement || styleSheet;\n goog.dom.removeNode(node);\n};\ngoog.style.setSafeStyleSheet \x3d function(element, safeStyleSheet) {\n var stylesString \x3d goog.html.SafeStyleSheet.unwrap(safeStyleSheet);\n if (goog.userAgent.IE \x26\x26 element.cssText !\x3d\x3d undefined) {\n element.cssText \x3d stylesString;\n } else if (goog.global.trustedTypes) {\n goog.dom.setTextContent(element, stylesString);\n } else {\n element.innerHTML \x3d stylesString;\n }\n};\ngoog.style.setPreWrap \x3d function(el) {\n var style \x3d el.style;\n if (goog.userAgent.GECKO) {\n style.whiteSpace \x3d \x22-moz-pre-wrap\x22;\n } else {\n style.whiteSpace \x3d \x22pre-wrap\x22;\n }\n};\ngoog.style.setInlineBlock \x3d function(el) {\n var style \x3d el.style;\n style.position \x3d \x22relative\x22;\n style.display \x3d \x22inline-block\x22;\n};\ngoog.style.isRightToLeft \x3d function(el) {\n return \x22rtl\x22 \x3d\x3d goog.style.getStyle_(el, \x22direction\x22);\n};\ngoog.style.unselectableStyle_ \x3d goog.userAgent.GECKO ? \x22MozUserSelect\x22 : goog.userAgent.WEBKIT || goog.userAgent.EDGE ? \x22WebkitUserSelect\x22 : null;\ngoog.style.isUnselectable \x3d function(el) {\n if (goog.style.unselectableStyle_) {\n return el.style[goog.style.unselectableStyle_].toLowerCase() \x3d\x3d \x22none\x22;\n } else if (goog.userAgent.IE) {\n return el.getAttribute(\x22unselectable\x22) \x3d\x3d \x22on\x22;\n }\n return false;\n};\ngoog.style.setUnselectable \x3d function(el, unselectable, opt_noRecurse) {\n var descendants \x3d !opt_noRecurse ? el.getElementsByTagName(\x22*\x22) : null;\n var name \x3d goog.style.unselectableStyle_;\n if (name) {\n var value \x3d unselectable ? \x22none\x22 : \x22\x22;\n if (el.style) {\n el.style[name] \x3d value;\n }\n if (descendants) {\n var i \x3d 0;\n var descendant;\n for (; descendant \x3d descendants[i]; i++) {\n if (descendant.style) {\n descendant.style[name] \x3d value;\n }\n }\n }\n } else if (goog.userAgent.IE) {\n value \x3d unselectable ? \x22on\x22 : \x22\x22;\n el.setAttribute(\x22unselectable\x22, value);\n if (descendants) {\n i \x3d 0;\n for (; descendant \x3d descendants[i]; i++) {\n descendant.setAttribute(\x22unselectable\x22, value);\n }\n }\n }\n};\ngoog.style.getBorderBoxSize \x3d function(element) {\n return new goog.math.Size(element.offsetWidth, element.offsetHeight);\n};\ngoog.style.setBorderBoxSize \x3d function(element, size) {\n goog.style.setBoxSizingSize_(element, size, \x22border-box\x22);\n};\ngoog.style.getContentBoxSize \x3d function(element) {\n var doc \x3d goog.dom.getOwnerDocument(element);\n var ieCurrentStyle \x3d goog.userAgent.IE \x26\x26 element.currentStyle;\n if (ieCurrentStyle \x26\x26 goog.dom.getDomHelper(doc).isCss1CompatMode() \x26\x26 ieCurrentStyle.width !\x3d \x22auto\x22 \x26\x26 ieCurrentStyle.height !\x3d \x22auto\x22 \x26\x26 !ieCurrentStyle.boxSizing) {\n var width \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.width, \x22width\x22, \x22pixelWidth\x22);\n var height \x3d goog.style.getIePixelValue_(element, ieCurrentStyle.height, \x22height\x22, \x22pixelHeight\x22);\n return new goog.math.Size(width, height);\n } else {\n var borderBoxSize \x3d goog.style.getBorderBoxSize(element);\n var paddingBox \x3d goog.style.getPaddingBox(element);\n var borderBox \x3d goog.style.getBorderBox(element);\n return new goog.math.Size(borderBoxSize.width - borderBox.left - paddingBox.left - paddingBox.right - borderBox.right, borderBoxSize.height - borderBox.top - paddingBox.top - paddingBox.bottom - borderBox.bottom);\n }\n};\ngoog.style.setContentBoxSize \x3d function(element, size) {\n goog.style.setBoxSizingSize_(element, size, \x22content-box\x22);\n};\ngoog.style.setBoxSizingSize_ \x3d function(element, size, boxSizing) {\n var style \x3d element.style;\n if (goog.userAgent.GECKO) {\n style.MozBoxSizing \x3d boxSizing;\n } else if (goog.userAgent.WEBKIT) {\n style.WebkitBoxSizing \x3d boxSizing;\n } else {\n style.boxSizing \x3d boxSizing;\n }\n style.width \x3d Math.max(size.width, 0) + \x22px\x22;\n style.height \x3d Math.max(size.height, 0) + \x22px\x22;\n};\ngoog.style.getIePixelValue_ \x3d function(element, value, name, pixelName) {\n if (/^\\d+px?$/.test(value)) {\n return parseInt(value, 10);\n } else {\n var oldStyleValue \x3d element.style[name];\n var oldRuntimeValue \x3d element.runtimeStyle[name];\n element.runtimeStyle[name] \x3d element.currentStyle[name];\n element.style[name] \x3d value;\n var pixelValue \x3d element.style[pixelName];\n element.style[name] \x3d oldStyleValue;\n element.runtimeStyle[name] \x3d oldRuntimeValue;\n return +pixelValue;\n }\n};\ngoog.style.getIePixelDistance_ \x3d function(element, propName) {\n var value \x3d goog.style.getCascadedStyle(element, propName);\n return value ? goog.style.getIePixelValue_(element, value, \x22left\x22, \x22pixelLeft\x22) : 0;\n};\ngoog.style.getBox_ \x3d function(element, stylePrefix) {\n if (goog.userAgent.IE) {\n var left \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Left\x22);\n var right \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Right\x22);\n var top \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Top\x22);\n var bottom \x3d goog.style.getIePixelDistance_(element, stylePrefix + \x22Bottom\x22);\n return new goog.math.Box(top, right, bottom, left);\n } else {\n left \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Left\x22);\n right \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Right\x22);\n top \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Top\x22);\n bottom \x3d goog.style.getComputedStyle(element, stylePrefix + \x22Bottom\x22);\n return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n }\n};\ngoog.style.getPaddingBox \x3d function(element) {\n return goog.style.getBox_(element, \x22padding\x22);\n};\ngoog.style.getMarginBox \x3d function(element) {\n return goog.style.getBox_(element, \x22margin\x22);\n};\ngoog.style.ieBorderWidthKeywords_ \x3d {\x22thin\x22:2, \x22medium\x22:4, \x22thick\x22:6};\ngoog.style.getIePixelBorder_ \x3d function(element, prop) {\n if (goog.style.getCascadedStyle(element, prop + \x22Style\x22) \x3d\x3d \x22none\x22) {\n return 0;\n }\n var width \x3d goog.style.getCascadedStyle(element, prop + \x22Width\x22);\n if (width in goog.style.ieBorderWidthKeywords_) {\n return goog.style.ieBorderWidthKeywords_[width];\n }\n return goog.style.getIePixelValue_(element, width, \x22left\x22, \x22pixelLeft\x22);\n};\ngoog.style.getBorderBox \x3d function(element) {\n if (goog.userAgent.IE \x26\x26 !goog.userAgent.isDocumentModeOrHigher(9)) {\n var left \x3d goog.style.getIePixelBorder_(element, \x22borderLeft\x22);\n var right \x3d goog.style.getIePixelBorder_(element, \x22borderRight\x22);\n var top \x3d goog.style.getIePixelBorder_(element, \x22borderTop\x22);\n var bottom \x3d goog.style.getIePixelBorder_(element, \x22borderBottom\x22);\n return new goog.math.Box(top, right, bottom, left);\n } else {\n left \x3d goog.style.getComputedStyle(element, \x22borderLeftWidth\x22);\n right \x3d goog.style.getComputedStyle(element, \x22borderRightWidth\x22);\n top \x3d goog.style.getComputedStyle(element, \x22borderTopWidth\x22);\n bottom \x3d goog.style.getComputedStyle(element, \x22borderBottomWidth\x22);\n return new goog.math.Box(parseFloat(top), parseFloat(right), parseFloat(bottom), parseFloat(left));\n }\n};\ngoog.style.getFontFamily \x3d function(el) {\n var doc \x3d goog.dom.getOwnerDocument(el);\n var font \x3d \x22\x22;\n if (doc.body.createTextRange \x26\x26 goog.dom.contains(doc, el)) {\n var range \x3d doc.body.createTextRange();\n range.moveToElementText(el);\n try {\n font \x3d range.queryCommandValue(\x22FontName\x22);\n } catch (e) {\n font \x3d \x22\x22;\n }\n }\n if (!font) {\n font \x3d goog.style.getStyle_(el, \x22fontFamily\x22);\n }\n var fontsArray \x3d font.split(\x22,\x22);\n if (fontsArray.length \x3e 1) {\n font \x3d fontsArray[0];\n }\n return goog.string.stripQuotes(font, \x22\\\x22\x27\x22);\n};\ngoog.style.lengthUnitRegex_ \x3d /[^\\d]+$/;\ngoog.style.getLengthUnits \x3d function(value) {\n var units \x3d value.match(goog.style.lengthUnitRegex_);\n return units \x26\x26 units[0] || null;\n};\ngoog.style.ABSOLUTE_CSS_LENGTH_UNITS_ \x3d {\x22cm\x22:1, \x22in\x22:1, \x22mm\x22:1, \x22pc\x22:1, \x22pt\x22:1};\ngoog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_ \x3d {\x22em\x22:1, \x22ex\x22:1};\ngoog.style.getFontSize \x3d function(el) {\n var fontSize \x3d goog.style.getStyle_(el, \x22fontSize\x22);\n var sizeUnits \x3d goog.style.getLengthUnits(fontSize);\n if (fontSize \x26\x26 \x22px\x22 \x3d\x3d sizeUnits) {\n return parseInt(fontSize, 10);\n }\n if (goog.userAgent.IE) {\n if (String(sizeUnits) in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_) {\n return goog.style.getIePixelValue_(el, fontSize, \x22left\x22, \x22pixelLeft\x22);\n } else if (el.parentNode \x26\x26 el.parentNode.nodeType \x3d\x3d goog.dom.NodeType.ELEMENT \x26\x26 String(sizeUnits) in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_) {\n var parentElement \x3d el.parentNode;\n var parentSize \x3d goog.style.getStyle_(parentElement, \x22fontSize\x22);\n return goog.style.getIePixelValue_(parentElement, fontSize \x3d\x3d parentSize ? \x221em\x22 : fontSize, \x22left\x22, \x22pixelLeft\x22);\n }\n }\n var sizeElement \x3d goog.dom.createDom(goog.dom.TagName.SPAN, {\x22style\x22:\x22visibility:hidden;position:absolute;\x22 + \x22line-height:0;padding:0;margin:0;border:0;height:1em;\x22});\n goog.dom.appendChild(el, sizeElement);\n fontSize \x3d sizeElement.offsetHeight;\n goog.dom.removeNode(sizeElement);\n return fontSize;\n};\ngoog.style.parseStyleAttribute \x3d function(value) {\n var result \x3d {};\n value.split(/\\s*;\\s*/).forEach(function(pair) {\n var keyValue \x3d pair.match(/\\s*([\\w-]+)\\s*:(.+)/);\n if (keyValue) {\n var styleName \x3d keyValue[1];\n var styleValue \x3d goog.string.trim(keyValue[2]);\n result[goog.string.toCamelCase(styleName.toLowerCase())] \x3d styleValue;\n }\n });\n return result;\n};\ngoog.style.toStyleAttribute \x3d function(obj) {\n var buffer \x3d [];\n goog.object.forEach(obj, function(value, key) {\n buffer.push(goog.string.toSelectorCase(key), \x22:\x22, value, \x22;\x22);\n });\n return buffer.join(\x22\x22);\n};\ngoog.style.setFloat \x3d function(el, value) {\n el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] \x3d value;\n};\ngoog.style.getFloat \x3d function(el) {\n return el.style[goog.userAgent.IE ? \x22styleFloat\x22 : \x22cssFloat\x22] || \x22\x22;\n};\ngoog.style.getScrollbarWidth \x3d function(opt_className) {\n var outerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n if (opt_className) {\n outerDiv.className \x3d opt_className;\n }\n outerDiv.style.cssText \x3d \x22overflow:auto;\x22 + \x22position:absolute;top:0;width:100px;height:100px\x22;\n var innerDiv \x3d goog.dom.createElement(goog.dom.TagName.DIV);\n goog.style.setSize(innerDiv, \x22200px\x22, \x22200px\x22);\n outerDiv.appendChild(innerDiv);\n goog.dom.appendChild(goog.dom.getDocument().body, outerDiv);\n var width \x3d outerDiv.offsetWidth - outerDiv.clientWidth;\n goog.dom.removeNode(outerDiv);\n return width;\n};\ngoog.style.MATRIX_TRANSLATION_REGEX_ \x3d new RegExp(\x22matrix\\\\([0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22[0-9\\\\.\\\\-]+, [0-9\\\\.\\\\-]+, \x22 + \x22([0-9\\\\.\\\\-]+)p?x?, ([0-9\\\\.\\\\-]+)p?x?\\\\)\x22);\ngoog.style.getCssTranslation \x3d function(element) {\n var transform \x3d goog.style.getComputedTransform(element);\n if (!transform) {\n return new goog.math.Coordinate(0, 0);\n }\n var matches \x3d transform.match(goog.style.MATRIX_TRANSLATION_REGEX_);\n if (!matches) {\n return new goog.math.Coordinate(0, 0);\n }\n return new goog.math.Coordinate(parseFloat(matches[1]), parseFloat(matches[2]));\n};\n");
SHADOW_ENV.evalLoad("shadow.dom.js", true, "goog.provide(\x27shadow.dom\x27);\nshadow.dom.transition_supported_QMARK_ \x3d true;\n\n/**\n * @interface\n */\nshadow.dom.IElement \x3d function(){};\n\nvar shadow$dom$IElement$_to_dom$dyn_33254 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.dom._to_dom[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.dom._to_dom[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IElement.-to-dom\x22,this$);\n}\n}\n});\nshadow.dom._to_dom \x3d (function shadow$dom$_to_dom(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$IElement$_to_dom$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$IElement$_to_dom$arity$1(this$);\n} else {\nreturn shadow$dom$IElement$_to_dom$dyn_33254(this$);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.dom.SVGElement \x3d function(){};\n\nvar shadow$dom$SVGElement$_to_svg$dyn_33263 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.dom._to_svg[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.dom._to_svg[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22SVGElement.-to-svg\x22,this$);\n}\n}\n});\nshadow.dom._to_svg \x3d (function shadow$dom$_to_svg(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$dom$SVGElement$_to_svg$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$dom$SVGElement$_to_svg$arity$1(this$);\n} else {\nreturn shadow$dom$SVGElement$_to_svg$dyn_33263(this$);\n}\n});\n\nshadow.dom.lazy_native_coll_seq \x3d (function shadow$dom$lazy_native_coll_seq(coll,idx){\nif((idx \x3c coll.length)){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.cons((coll[idx]),(function (){var G__32312 \x3d coll;\nvar G__32313 \x3d (idx + (1));\nreturn (shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2 ? shadow.dom.lazy_native_coll_seq.cljs$core$IFn$_invoke$arity$2(G__32312,G__32313) : shadow.dom.lazy_native_coll_seq.call(null,G__32312,G__32313));\n})());\n}),null,null));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IIndexed}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n*/\nshadow.dom.NativeColl \x3d (function (coll){\nthis.coll \x3d coll;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 8421394;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.dom.NativeColl.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$2 \x3d (function (this$,n){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.coll[n]);\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$IIndexed$_nth$arity$3 \x3d (function (this$,n,not_found){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar or__5025__auto__ \x3d (self__.coll[n]);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn not_found;\n}\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll.length;\n}));\n\n(shadow.dom.NativeColl.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.dom.lazy_native_coll_seq(self__.coll,(0));\n}));\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.dom.NativeColl.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.coll;\n}));\n\n(shadow.dom.NativeColl.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22coll\x22,\x22coll\x22,-1006698606,null)], null);\n}));\n\n(shadow.dom.NativeColl.cljs$lang$type \x3d true);\n\n(shadow.dom.NativeColl.cljs$lang$ctorStr \x3d \x22shadow.dom/NativeColl\x22);\n\n(shadow.dom.NativeColl.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.dom/NativeColl\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/NativeColl.\n */\nshadow.dom.__GT_NativeColl \x3d (function shadow$dom$__GT_NativeColl(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\n\nshadow.dom.native_coll \x3d (function shadow$dom$native_coll(coll){\nreturn (new shadow.dom.NativeColl(coll));\n});\nshadow.dom.dom_node \x3d (function shadow$dom$dom_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$IElement$))))?true:false):false)){\nreturn el.shadow$dom$IElement$_to_dom$arity$1(null);\n} else {\nif(typeof el \x3d\x3d\x3d \x27string\x27){\nreturn document.createTextNode(el);\n} else {\nif(typeof el \x3d\x3d\x3d \x27number\x27){\nreturn document.createTextNode(cljs.core.str.cljs$core$IFn$_invoke$arity$1(el));\n} else {\nreturn el;\n\n}\n}\n}\n}\n});\nshadow.dom.query_one \x3d (function shadow$dom$query_one(var_args){\nvar G__32331 \x3d arguments.length;\nswitch (G__32331) {\ncase 1:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn document.querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn shadow.dom.dom_node(root).querySelector(sel);\n}));\n\n(shadow.dom.query_one.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.query \x3d (function shadow$dom$query(var_args){\nvar G__32333 \x3d arguments.length;\nswitch (G__32333) {\ncase 1:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.query.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$1 \x3d (function (sel){\nreturn (new shadow.dom.NativeColl(document.querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$core$IFn$_invoke$arity$2 \x3d (function (sel,root){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(root).querySelectorAll(sel)));\n}));\n\n(shadow.dom.query.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.by_id \x3d (function shadow$dom$by_id(var_args){\nvar G__32349 \x3d arguments.length;\nswitch (G__32349) {\ncase 2:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$2 \x3d (function (id,el){\nreturn shadow.dom.dom_node(el).getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1 \x3d (function (id){\nreturn document.getElementById(id);\n}));\n\n(shadow.dom.by_id.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.build \x3d shadow.dom.dom_node;\nshadow.dom.ev_stop \x3d (function shadow$dom$ev_stop(var_args){\nvar G__32356 \x3d arguments.length;\nswitch (G__32356) {\ncase 1:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1 \x3d (function (e){\nif(cljs.core.truth_(e.stopPropagation)){\ne.stopPropagation();\n\ne.preventDefault();\n} else {\n(e.cancelBubble \x3d true);\n\n(e.returnValue \x3d false);\n}\n\nreturn e;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$2 \x3d (function (e,el){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$4 \x3d (function (e,el,scope,owner){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn el;\n}));\n\n(shadow.dom.ev_stop.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * check wether a parent node (or the document) contains the child\n */\nshadow.dom.contains_QMARK_ \x3d (function shadow$dom$contains_QMARK_(var_args){\nvar G__32379 \x3d arguments.length;\nswitch (G__32379) {\ncase 1:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn goog.dom.contains(document,shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (parent,el){\nreturn goog.dom.contains(shadow.dom.dom_node(parent),shadow.dom.dom_node(el));\n}));\n\n(shadow.dom.contains_QMARK_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.add_class \x3d (function shadow$dom$add_class(el,cls){\nreturn goog.dom.classlist.add(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.remove_class \x3d (function shadow$dom$remove_class(el,cls){\nreturn goog.dom.classlist.remove(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.toggle_class \x3d (function shadow$dom$toggle_class(var_args){\nvar G__32388 \x3d arguments.length;\nswitch (G__32388) {\ncase 2:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,cls){\nreturn goog.dom.classlist.toggle(shadow.dom.dom_node(el),cls);\n}));\n\n(shadow.dom.toggle_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,cls,v){\nif(cljs.core.truth_(v)){\nreturn shadow.dom.add_class(el,cls);\n} else {\nreturn shadow.dom.remove_class(el,cls);\n}\n}));\n\n(shadow.dom.toggle_class.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.dom_listen \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn document.addEventListener;\n}\n})())?(function shadow$dom$dom_listen_good(el,ev,handler){\nreturn el.addEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_ie(el,ev,handler){\ntry{return el.attachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),(function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n}));\n}catch (e32406){if((e32406 instanceof Object)){\nvar e \x3d e32406;\nreturn console.log(\x22didnt support attachEvent\x22,el,e);\n} else {\nthrow e32406;\n\n}\n}}));\nshadow.dom.dom_listen_remove \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d (!((typeof document !\x3d\x3d \x27undefined\x27)));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn document.removeEventListener;\n}\n})())?(function shadow$dom$dom_listen_remove_good(el,ev,handler){\nreturn el.removeEventListener(ev,handler,false);\n}):(function shadow$dom$dom_listen_remove_ie(el,ev,handler){\nreturn el.detachEvent([\x22on\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ev)].join(\x27\x27),handler);\n}));\nshadow.dom.on_query \x3d (function shadow$dom$on_query(root_el,ev,selector,handler){\nvar seq__32424 \x3d cljs.core.seq(shadow.dom.query.cljs$core$IFn$_invoke$arity$2(selector,root_el));\nvar chunk__32425 \x3d null;\nvar count__32426 \x3d (0);\nvar i__32427 \x3d (0);\nwhile(true){\nif((i__32427 \x3c count__32426)){\nvar el \x3d chunk__32425.cljs$core$IIndexed$_nth$arity$2(null,i__32427);\nvar handler_33292__$1 \x3d ((function (seq__32424,chunk__32425,count__32426,i__32427,el){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__32424,chunk__32425,count__32426,i__32427,el))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_33292__$1);\n\n\nvar G__33294 \x3d seq__32424;\nvar G__33295 \x3d chunk__32425;\nvar G__33296 \x3d count__32426;\nvar G__33297 \x3d (i__32427 + (1));\nseq__32424 \x3d G__33294;\nchunk__32425 \x3d G__33295;\ncount__32426 \x3d G__33296;\ni__32427 \x3d G__33297;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__32424);\nif(temp__5823__auto__){\nvar seq__32424__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32424__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32424__$1);\nvar G__33300 \x3d cljs.core.chunk_rest(seq__32424__$1);\nvar G__33301 \x3d c__5548__auto__;\nvar G__33302 \x3d cljs.core.count(c__5548__auto__);\nvar G__33303 \x3d (0);\nseq__32424 \x3d G__33300;\nchunk__32425 \x3d G__33301;\ncount__32426 \x3d G__33302;\ni__32427 \x3d G__33303;\ncontinue;\n} else {\nvar el \x3d cljs.core.first(seq__32424__$1);\nvar handler_33304__$1 \x3d ((function (seq__32424,chunk__32425,count__32426,i__32427,el,seq__32424__$1,temp__5823__auto__){\nreturn (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});})(seq__32424,chunk__32425,count__32426,i__32427,el,seq__32424__$1,temp__5823__auto__))\n;\nshadow.dom.dom_listen(el,cljs.core.name(ev),handler_33304__$1);\n\n\nvar G__33307 \x3d cljs.core.next(seq__32424__$1);\nvar G__33308 \x3d null;\nvar G__33309 \x3d (0);\nvar G__33310 \x3d (0);\nseq__32424 \x3d G__33307;\nchunk__32425 \x3d G__33308;\ncount__32426 \x3d G__33309;\ni__32427 \x3d G__33310;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.on \x3d (function shadow$dom$on(var_args){\nvar G__32475 \x3d arguments.length;\nswitch (G__32475) {\ncase 3:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,ev,handler){\nreturn shadow.dom.on.cljs$core$IFn$_invoke$arity$4(el,ev,handler,false);\n}));\n\n(shadow.dom.on.cljs$core$IFn$_invoke$arity$4 \x3d (function (el,ev,handler,capture){\nif(cljs.core.vector_QMARK_(ev)){\nreturn shadow.dom.on_query(el,cljs.core.first(ev),cljs.core.second(ev),handler);\n} else {\nvar handler__$1 \x3d (function (e){\nreturn (handler.cljs$core$IFn$_invoke$arity$2 ? handler.cljs$core$IFn$_invoke$arity$2(e,el) : handler.call(null,e,el));\n});\nreturn shadow.dom.dom_listen(shadow.dom.dom_node(el),cljs.core.name(ev),handler__$1);\n}\n}));\n\n(shadow.dom.on.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.dom.remove_event_handler \x3d (function shadow$dom$remove_event_handler(el,ev,handler){\nreturn shadow.dom.dom_listen_remove(shadow.dom.dom_node(el),cljs.core.name(ev),handler);\n});\nshadow.dom.add_event_listeners \x3d (function shadow$dom$add_event_listeners(el,events){\nvar seq__32507 \x3d cljs.core.seq(events);\nvar chunk__32508 \x3d null;\nvar count__32510 \x3d (0);\nvar i__32511 \x3d (0);\nwhile(true){\nif((i__32511 \x3c count__32510)){\nvar vec__32539 \x3d chunk__32508.cljs$core$IIndexed$_nth$arity$2(null,i__32511);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32539,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32539,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__33323 \x3d seq__32507;\nvar G__33324 \x3d chunk__32508;\nvar G__33325 \x3d count__32510;\nvar G__33326 \x3d (i__32511 + (1));\nseq__32507 \x3d G__33323;\nchunk__32508 \x3d G__33324;\ncount__32510 \x3d G__33325;\ni__32511 \x3d G__33326;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__32507);\nif(temp__5823__auto__){\nvar seq__32507__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32507__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32507__$1);\nvar G__33329 \x3d cljs.core.chunk_rest(seq__32507__$1);\nvar G__33330 \x3d c__5548__auto__;\nvar G__33331 \x3d cljs.core.count(c__5548__auto__);\nvar G__33332 \x3d (0);\nseq__32507 \x3d G__33329;\nchunk__32508 \x3d G__33330;\ncount__32510 \x3d G__33331;\ni__32511 \x3d G__33332;\ncontinue;\n} else {\nvar vec__32549 \x3d cljs.core.first(seq__32507__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32549,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32549,(1),null);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(el,k,v);\n\n\nvar G__33335 \x3d cljs.core.next(seq__32507__$1);\nvar G__33336 \x3d null;\nvar G__33337 \x3d (0);\nvar G__33338 \x3d (0);\nseq__32507 \x3d G__33335;\nchunk__32508 \x3d G__33336;\ncount__32510 \x3d G__33337;\ni__32511 \x3d G__33338;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_style \x3d (function shadow$dom$set_style(el,styles){\nvar dom \x3d shadow.dom.dom_node(el);\nvar seq__32561 \x3d cljs.core.seq(styles);\nvar chunk__32562 \x3d null;\nvar count__32563 \x3d (0);\nvar i__32564 \x3d (0);\nwhile(true){\nif((i__32564 \x3c count__32563)){\nvar vec__32592 \x3d chunk__32562.cljs$core$IIndexed$_nth$arity$2(null,i__32564);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32592,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32592,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__33344 \x3d seq__32561;\nvar G__33345 \x3d chunk__32562;\nvar G__33346 \x3d count__32563;\nvar G__33347 \x3d (i__32564 + (1));\nseq__32561 \x3d G__33344;\nchunk__32562 \x3d G__33345;\ncount__32563 \x3d G__33346;\ni__32564 \x3d G__33347;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__32561);\nif(temp__5823__auto__){\nvar seq__32561__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32561__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32561__$1);\nvar G__33348 \x3d cljs.core.chunk_rest(seq__32561__$1);\nvar G__33349 \x3d c__5548__auto__;\nvar G__33350 \x3d cljs.core.count(c__5548__auto__);\nvar G__33351 \x3d (0);\nseq__32561 \x3d G__33348;\nchunk__32562 \x3d G__33349;\ncount__32563 \x3d G__33350;\ni__32564 \x3d G__33351;\ncontinue;\n} else {\nvar vec__32604 \x3d cljs.core.first(seq__32561__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32604,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32604,(1),null);\ngoog.style.setStyle(dom,cljs.core.name(k),(((v \x3d\x3d null))?\x22\x22:v));\n\n\nvar G__33353 \x3d cljs.core.next(seq__32561__$1);\nvar G__33354 \x3d null;\nvar G__33355 \x3d (0);\nvar G__33356 \x3d (0);\nseq__32561 \x3d G__33353;\nchunk__32562 \x3d G__33354;\ncount__32563 \x3d G__33355;\ni__32564 \x3d G__33356;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.dom.set_attr_STAR_ \x3d (function shadow$dom$set_attr_STAR_(el,key,value){\nvar G__32628_33358 \x3d key;\nvar G__32628_33359__$1 \x3d (((G__32628_33358 instanceof cljs.core.Keyword))?G__32628_33358.fqn:null);\nswitch (G__32628_33359__$1) {\ncase \x22id\x22:\n(el.id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22class\x22:\n(el.className \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n\nbreak;\ncase \x22for\x22:\n(el.htmlFor \x3d value);\n\nbreak;\ncase \x22cellpadding\x22:\nel.setAttribute(\x22cellPadding\x22,value);\n\nbreak;\ncase \x22cellspacing\x22:\nel.setAttribute(\x22cellSpacing\x22,value);\n\nbreak;\ncase \x22colspan\x22:\nel.setAttribute(\x22colSpan\x22,value);\n\nbreak;\ncase \x22frameborder\x22:\nel.setAttribute(\x22frameBorder\x22,value);\n\nbreak;\ncase \x22height\x22:\nel.setAttribute(\x22height\x22,value);\n\nbreak;\ncase \x22maxlength\x22:\nel.setAttribute(\x22maxLength\x22,value);\n\nbreak;\ncase \x22role\x22:\nel.setAttribute(\x22role\x22,value);\n\nbreak;\ncase \x22rowspan\x22:\nel.setAttribute(\x22rowSpan\x22,value);\n\nbreak;\ncase \x22type\x22:\nel.setAttribute(\x22type\x22,value);\n\nbreak;\ncase \x22usemap\x22:\nel.setAttribute(\x22useMap\x22,value);\n\nbreak;\ncase \x22valign\x22:\nel.setAttribute(\x22vAlign\x22,value);\n\nbreak;\ncase \x22width\x22:\nel.setAttribute(\x22width\x22,value);\n\nbreak;\ncase \x22on\x22:\nshadow.dom.add_event_listeners(el,value);\n\nbreak;\ncase \x22style\x22:\nif((value \x3d\x3d null)){\n} else {\nif(typeof value \x3d\x3d\x3d \x27string\x27){\nel.setAttribute(\x22style\x22,value);\n} else {\nif(cljs.core.map_QMARK_(value)){\nshadow.dom.set_style(el,value);\n} else {\ngoog.style.setStyle(el,value);\n\n}\n}\n}\n\nbreak;\ndefault:\nvar ks_33362 \x3d cljs.core.name(key);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d goog.string.startsWith(ks_33362,\x22data-\x22);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn goog.string.startsWith(ks_33362,\x22aria-\x22);\n}\n})())){\nel.setAttribute(ks_33362,value);\n} else {\n(el[ks_33362] \x3d value);\n}\n\n}\n\nreturn el;\n});\nshadow.dom.set_attrs \x3d (function shadow$dom$set_attrs(el,attrs){\nreturn cljs.core.reduce_kv((function (el__$1,key,value){\nshadow.dom.set_attr_STAR_(el__$1,key,value);\n\nreturn el__$1;\n}),shadow.dom.dom_node(el),attrs);\n});\nshadow.dom.set_attr \x3d (function shadow$dom$set_attr(el,key,value){\nreturn shadow.dom.set_attr_STAR_(shadow.dom.dom_node(el),key,value);\n});\nshadow.dom.has_class_QMARK_ \x3d (function shadow$dom$has_class_QMARK_(el,cls){\nreturn goog.dom.classlist.contains(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.merge_class_string \x3d (function shadow$dom$merge_class_string(current,extra_class){\nif(cljs.core.seq(current)){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(current),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(extra_class)].join(\x27\x27);\n} else {\nreturn extra_class;\n}\n});\nshadow.dom.parse_tag \x3d (function shadow$dom$parse_tag(spec){\nvar spec__$1 \x3d cljs.core.name(spec);\nvar fdot \x3d spec__$1.indexOf(\x22.\x22);\nvar fhash \x3d spec__$1.indexOf(\x22#\x22);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1,null,null], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fhash)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fdot),null,clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((-1),fdot)){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1))),null], null);\n} else {\nif((fhash \x3e fdot)){\nthrow [\x22cant have id after class?\x22,spec__$1].join(\x27\x27);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec__$1.substring((0),fhash),spec__$1.substring((fhash + (1)),fdot),clojure.string.replace(spec__$1.substring((fdot + (1))),/\\./,\x22 \x22)], null);\n\n}\n}\n}\n}\n});\nshadow.dom.create_dom_node \x3d (function shadow$dom$create_dom_node(tag_def,p__32645){\nvar map__32646 \x3d p__32645;\nvar map__32646__$1 \x3d cljs.core.__destructure_map(map__32646);\nvar props \x3d map__32646__$1;\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__32646__$1,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996));\nvar tag_props \x3d ({});\nvar vec__32647 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32647,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32647,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32647,(2),null);\nif(cljs.core.truth_(tag_id)){\n(tag_props[\x22id\x22] \x3d tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\n(tag_props[\x22class\x22] \x3d shadow.dom.merge_class_string(class$,tag_classes));\n} else {\n}\n\nvar G__32658 \x3d goog.dom.createDom(tag_name,tag_props);\nshadow.dom.set_attrs(G__32658,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(props,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)));\n\nreturn G__32658;\n});\nshadow.dom.append \x3d (function shadow$dom$append(var_args){\nvar G__32666 \x3d arguments.length;\nswitch (G__32666) {\ncase 1:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nif(cljs.core.truth_(node)){\nvar temp__5823__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar n \x3d temp__5823__auto__;\ndocument.body.appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,node){\nif(cljs.core.truth_(node)){\nvar temp__5823__auto__ \x3d shadow.dom.dom_node(node);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar n \x3d temp__5823__auto__;\nshadow.dom.dom_node(el).appendChild(n);\n\nreturn n;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.dom.append.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.destructure_node \x3d (function shadow$dom$destructure_node(create_fn,p__32672){\nvar vec__32673 \x3d p__32672;\nvar seq__32674 \x3d cljs.core.seq(vec__32673);\nvar first__32675 \x3d cljs.core.first(seq__32674);\nvar seq__32674__$1 \x3d cljs.core.next(seq__32674);\nvar nn \x3d first__32675;\nvar first__32675__$1 \x3d cljs.core.first(seq__32674__$1);\nvar seq__32674__$2 \x3d cljs.core.next(seq__32674__$1);\nvar np \x3d first__32675__$1;\nvar nc \x3d seq__32674__$2;\nvar node \x3d vec__32673;\nif((nn instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid dom node\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22node\x22,\x22node\x22,581201198),node], null));\n}\n\nif((((np \x3d\x3d null)) \x26\x26 ((nc \x3d\x3d null)))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__32676 \x3d nn;\nvar G__32677 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__32676,G__32677) : create_fn.call(null,G__32676,G__32677));\n})(),cljs.core.List.EMPTY], null);\n} else {\nif(cljs.core.map_QMARK_(np)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(nn,np) : create_fn.call(null,nn,np)),nc], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__32678 \x3d nn;\nvar G__32679 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (create_fn.cljs$core$IFn$_invoke$arity$2 ? create_fn.cljs$core$IFn$_invoke$arity$2(G__32678,G__32679) : create_fn.call(null,G__32678,G__32679));\n})(),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(nc,np)], null);\n\n}\n}\n});\nshadow.dom.make_dom_node \x3d (function shadow$dom$make_dom_node(structure){\nvar vec__32682 \x3d shadow.dom.destructure_node(shadow.dom.create_dom_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32682,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32682,(1),null);\nvar seq__32685_33375 \x3d cljs.core.seq(node_children);\nvar chunk__32686_33376 \x3d null;\nvar count__32687_33377 \x3d (0);\nvar i__32688_33378 \x3d (0);\nwhile(true){\nif((i__32688_33378 \x3c count__32687_33377)){\nvar child_struct_33379 \x3d chunk__32686_33376.cljs$core$IIndexed$_nth$arity$2(null,i__32688_33378);\nvar children_33380 \x3d shadow.dom.dom_node(child_struct_33379);\nif(cljs.core.seq_QMARK_(children_33380)){\nvar seq__32708_33381 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_33380));\nvar chunk__32710_33382 \x3d null;\nvar count__32712_33383 \x3d (0);\nvar i__32713_33384 \x3d (0);\nwhile(true){\nif((i__32713_33384 \x3c count__32712_33383)){\nvar child_33385 \x3d chunk__32710_33382.cljs$core$IIndexed$_nth$arity$2(null,i__32713_33384);\nif(cljs.core.truth_(child_33385)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33385);\n\n\nvar G__33388 \x3d seq__32708_33381;\nvar G__33389 \x3d chunk__32710_33382;\nvar G__33390 \x3d count__32712_33383;\nvar G__33391 \x3d (i__32713_33384 + (1));\nseq__32708_33381 \x3d G__33388;\nchunk__32710_33382 \x3d G__33389;\ncount__32712_33383 \x3d G__33390;\ni__32713_33384 \x3d G__33391;\ncontinue;\n} else {\nvar G__33392 \x3d seq__32708_33381;\nvar G__33393 \x3d chunk__32710_33382;\nvar G__33394 \x3d count__32712_33383;\nvar G__33395 \x3d (i__32713_33384 + (1));\nseq__32708_33381 \x3d G__33392;\nchunk__32710_33382 \x3d G__33393;\ncount__32712_33383 \x3d G__33394;\ni__32713_33384 \x3d G__33395;\ncontinue;\n}\n} else {\nvar temp__5823__auto___33396 \x3d cljs.core.seq(seq__32708_33381);\nif(temp__5823__auto___33396){\nvar seq__32708_33397__$1 \x3d temp__5823__auto___33396;\nif(cljs.core.chunked_seq_QMARK_(seq__32708_33397__$1)){\nvar c__5548__auto___33398 \x3d cljs.core.chunk_first(seq__32708_33397__$1);\nvar G__33399 \x3d cljs.core.chunk_rest(seq__32708_33397__$1);\nvar G__33400 \x3d c__5548__auto___33398;\nvar G__33401 \x3d cljs.core.count(c__5548__auto___33398);\nvar G__33402 \x3d (0);\nseq__32708_33381 \x3d G__33399;\nchunk__32710_33382 \x3d G__33400;\ncount__32712_33383 \x3d G__33401;\ni__32713_33384 \x3d G__33402;\ncontinue;\n} else {\nvar child_33403 \x3d cljs.core.first(seq__32708_33397__$1);\nif(cljs.core.truth_(child_33403)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33403);\n\n\nvar G__33404 \x3d cljs.core.next(seq__32708_33397__$1);\nvar G__33405 \x3d null;\nvar G__33406 \x3d (0);\nvar G__33407 \x3d (0);\nseq__32708_33381 \x3d G__33404;\nchunk__32710_33382 \x3d G__33405;\ncount__32712_33383 \x3d G__33406;\ni__32713_33384 \x3d G__33407;\ncontinue;\n} else {\nvar G__33408 \x3d cljs.core.next(seq__32708_33397__$1);\nvar G__33409 \x3d null;\nvar G__33410 \x3d (0);\nvar G__33411 \x3d (0);\nseq__32708_33381 \x3d G__33408;\nchunk__32710_33382 \x3d G__33409;\ncount__32712_33383 \x3d G__33410;\ni__32713_33384 \x3d G__33411;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_33380);\n}\n\n\nvar G__33412 \x3d seq__32685_33375;\nvar G__33413 \x3d chunk__32686_33376;\nvar G__33414 \x3d count__32687_33377;\nvar G__33415 \x3d (i__32688_33378 + (1));\nseq__32685_33375 \x3d G__33412;\nchunk__32686_33376 \x3d G__33413;\ncount__32687_33377 \x3d G__33414;\ni__32688_33378 \x3d G__33415;\ncontinue;\n} else {\nvar temp__5823__auto___33416 \x3d cljs.core.seq(seq__32685_33375);\nif(temp__5823__auto___33416){\nvar seq__32685_33418__$1 \x3d temp__5823__auto___33416;\nif(cljs.core.chunked_seq_QMARK_(seq__32685_33418__$1)){\nvar c__5548__auto___33419 \x3d cljs.core.chunk_first(seq__32685_33418__$1);\nvar G__33420 \x3d cljs.core.chunk_rest(seq__32685_33418__$1);\nvar G__33421 \x3d c__5548__auto___33419;\nvar G__33422 \x3d cljs.core.count(c__5548__auto___33419);\nvar G__33423 \x3d (0);\nseq__32685_33375 \x3d G__33420;\nchunk__32686_33376 \x3d G__33421;\ncount__32687_33377 \x3d G__33422;\ni__32688_33378 \x3d G__33423;\ncontinue;\n} else {\nvar child_struct_33424 \x3d cljs.core.first(seq__32685_33418__$1);\nvar children_33425 \x3d shadow.dom.dom_node(child_struct_33424);\nif(cljs.core.seq_QMARK_(children_33425)){\nvar seq__32722_33427 \x3d cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom.dom_node,children_33425));\nvar chunk__32724_33428 \x3d null;\nvar count__32725_33429 \x3d (0);\nvar i__32726_33430 \x3d (0);\nwhile(true){\nif((i__32726_33430 \x3c count__32725_33429)){\nvar child_33433 \x3d chunk__32724_33428.cljs$core$IIndexed$_nth$arity$2(null,i__32726_33430);\nif(cljs.core.truth_(child_33433)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33433);\n\n\nvar G__33435 \x3d seq__32722_33427;\nvar G__33436 \x3d chunk__32724_33428;\nvar G__33437 \x3d count__32725_33429;\nvar G__33438 \x3d (i__32726_33430 + (1));\nseq__32722_33427 \x3d G__33435;\nchunk__32724_33428 \x3d G__33436;\ncount__32725_33429 \x3d G__33437;\ni__32726_33430 \x3d G__33438;\ncontinue;\n} else {\nvar G__33440 \x3d seq__32722_33427;\nvar G__33441 \x3d chunk__32724_33428;\nvar G__33442 \x3d count__32725_33429;\nvar G__33443 \x3d (i__32726_33430 + (1));\nseq__32722_33427 \x3d G__33440;\nchunk__32724_33428 \x3d G__33441;\ncount__32725_33429 \x3d G__33442;\ni__32726_33430 \x3d G__33443;\ncontinue;\n}\n} else {\nvar temp__5823__auto___33444__$1 \x3d cljs.core.seq(seq__32722_33427);\nif(temp__5823__auto___33444__$1){\nvar seq__32722_33445__$1 \x3d temp__5823__auto___33444__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__32722_33445__$1)){\nvar c__5548__auto___33446 \x3d cljs.core.chunk_first(seq__32722_33445__$1);\nvar G__33449 \x3d cljs.core.chunk_rest(seq__32722_33445__$1);\nvar G__33450 \x3d c__5548__auto___33446;\nvar G__33451 \x3d cljs.core.count(c__5548__auto___33446);\nvar G__33452 \x3d (0);\nseq__32722_33427 \x3d G__33449;\nchunk__32724_33428 \x3d G__33450;\ncount__32725_33429 \x3d G__33451;\ni__32726_33430 \x3d G__33452;\ncontinue;\n} else {\nvar child_33453 \x3d cljs.core.first(seq__32722_33445__$1);\nif(cljs.core.truth_(child_33453)){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,child_33453);\n\n\nvar G__33455 \x3d cljs.core.next(seq__32722_33445__$1);\nvar G__33456 \x3d null;\nvar G__33457 \x3d (0);\nvar G__33458 \x3d (0);\nseq__32722_33427 \x3d G__33455;\nchunk__32724_33428 \x3d G__33456;\ncount__32725_33429 \x3d G__33457;\ni__32726_33430 \x3d G__33458;\ncontinue;\n} else {\nvar G__33459 \x3d cljs.core.next(seq__32722_33445__$1);\nvar G__33460 \x3d null;\nvar G__33461 \x3d (0);\nvar G__33462 \x3d (0);\nseq__32722_33427 \x3d G__33459;\nchunk__32724_33428 \x3d G__33460;\ncount__32725_33429 \x3d G__33461;\ni__32726_33430 \x3d G__33462;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(node,children_33425);\n}\n\n\nvar G__33464 \x3d cljs.core.next(seq__32685_33418__$1);\nvar G__33465 \x3d null;\nvar G__33466 \x3d (0);\nvar G__33467 \x3d (0);\nseq__32685_33375 \x3d G__33464;\nchunk__32686_33376 \x3d G__33465;\ncount__32687_33377 \x3d G__33466;\ni__32688_33378 \x3d G__33467;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(cljs.core.Keyword.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$__$1], null));\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_dom_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_dom,this$__$1);\n}));\nif(cljs.core.truth_(((typeof HTMLElement) !\x3d \x27undefined\x27))){\n(HTMLElement.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(HTMLElement.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\nif(cljs.core.truth_(((typeof DocumentFragment) !\x3d \x27undefined\x27))){\n(DocumentFragment.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(DocumentFragment.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn this$__$1;\n}));\n} else {\n}\n/**\n * clear node children\n */\nshadow.dom.reset \x3d (function shadow$dom$reset(node){\nreturn goog.dom.removeChildren(shadow.dom.dom_node(node));\n});\nshadow.dom.remove \x3d (function shadow$dom$remove(node){\nif((((!((node \x3d\x3d null))))?(((((node.cljs$lang$protocol_mask$partition0$ \x26 (8388608))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d node.cljs$core$ISeqable$))))?true:false):false)){\nvar seq__32743 \x3d cljs.core.seq(node);\nvar chunk__32744 \x3d null;\nvar count__32745 \x3d (0);\nvar i__32746 \x3d (0);\nwhile(true){\nif((i__32746 \x3c count__32745)){\nvar n \x3d chunk__32744.cljs$core$IIndexed$_nth$arity$2(null,i__32746);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__33473 \x3d seq__32743;\nvar G__33474 \x3d chunk__32744;\nvar G__33475 \x3d count__32745;\nvar G__33476 \x3d (i__32746 + (1));\nseq__32743 \x3d G__33473;\nchunk__32744 \x3d G__33474;\ncount__32745 \x3d G__33475;\ni__32746 \x3d G__33476;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__32743);\nif(temp__5823__auto__){\nvar seq__32743__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32743__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32743__$1);\nvar G__33477 \x3d cljs.core.chunk_rest(seq__32743__$1);\nvar G__33478 \x3d c__5548__auto__;\nvar G__33479 \x3d cljs.core.count(c__5548__auto__);\nvar G__33480 \x3d (0);\nseq__32743 \x3d G__33477;\nchunk__32744 \x3d G__33478;\ncount__32745 \x3d G__33479;\ni__32746 \x3d G__33480;\ncontinue;\n} else {\nvar n \x3d cljs.core.first(seq__32743__$1);\n(shadow.dom.remove.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.remove.cljs$core$IFn$_invoke$arity$1(n) : shadow.dom.remove.call(null,n));\n\n\nvar G__33481 \x3d cljs.core.next(seq__32743__$1);\nvar G__33482 \x3d null;\nvar G__33483 \x3d (0);\nvar G__33484 \x3d (0);\nseq__32743 \x3d G__33481;\nchunk__32744 \x3d G__33482;\ncount__32745 \x3d G__33483;\ni__32746 \x3d G__33484;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn goog.dom.removeNode(node);\n}\n});\nshadow.dom.replace_node \x3d (function shadow$dom$replace_node(old,new$){\nreturn goog.dom.replaceNode(shadow.dom.dom_node(new$),shadow.dom.dom_node(old));\n});\nshadow.dom.text \x3d (function shadow$dom$text(var_args){\nvar G__32752 \x3d arguments.length;\nswitch (G__32752) {\ncase 2:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 1:\nreturn shadow.dom.text.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,new_text){\nreturn (shadow.dom.dom_node(el).innerText \x3d new_text);\n}));\n\n(shadow.dom.text.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.dom_node(el).innerText;\n}));\n\n(shadow.dom.text.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.check \x3d (function shadow$dom$check(var_args){\nvar G__32757 \x3d arguments.length;\nswitch (G__32757) {\ncase 1:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$1 \x3d (function (el){\nreturn shadow.dom.check.cljs$core$IFn$_invoke$arity$2(el,true);\n}));\n\n(shadow.dom.check.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,checked){\nreturn (shadow.dom.dom_node(el).checked \x3d checked);\n}));\n\n(shadow.dom.check.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.checked_QMARK_ \x3d (function shadow$dom$checked_QMARK_(el){\nreturn shadow.dom.dom_node(el).checked;\n});\nshadow.dom.form_elements \x3d (function shadow$dom$form_elements(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).elements));\n});\nshadow.dom.children \x3d (function shadow$dom$children(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).children));\n});\nshadow.dom.child_nodes \x3d (function shadow$dom$child_nodes(el){\nreturn (new shadow.dom.NativeColl(shadow.dom.dom_node(el).childNodes));\n});\nshadow.dom.attr \x3d (function shadow$dom$attr(var_args){\nvar G__32769 \x3d arguments.length;\nswitch (G__32769) {\ncase 2:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,key){\nreturn shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\n}));\n\n(shadow.dom.attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,key,default$){\nvar or__5025__auto__ \x3d shadow.dom.dom_node(el).getAttribute(cljs.core.name(key));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn default$;\n}\n}));\n\n(shadow.dom.attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.del_attr \x3d (function shadow$dom$del_attr(el,key){\nreturn shadow.dom.dom_node(el).removeAttribute(cljs.core.name(key));\n});\nshadow.dom.data \x3d (function shadow$dom$data(el,key){\nreturn shadow.dom.dom_node(el).getAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27));\n});\nshadow.dom.set_data \x3d (function shadow$dom$set_data(el,key,value){\nreturn shadow.dom.dom_node(el).setAttribute([\x22data-\x22,cljs.core.name(key)].join(\x27\x27),cljs.core.str.cljs$core$IFn$_invoke$arity$1(value));\n});\nshadow.dom.set_html \x3d (function shadow$dom$set_html(node,text){\nreturn (shadow.dom.dom_node(node).innerHTML \x3d text);\n});\nshadow.dom.get_html \x3d (function shadow$dom$get_html(node){\nreturn shadow.dom.dom_node(node).innerHTML;\n});\nshadow.dom.fragment \x3d (function shadow$dom$fragment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33501 \x3d arguments.length;\nvar i__5750__auto___33502 \x3d (0);\nwhile(true){\nif((i__5750__auto___33502 \x3c len__5749__auto___33501)){\nargs__5755__auto__.push((arguments[i__5750__auto___33502]));\n\nvar G__33503 \x3d (i__5750__auto___33502 + (1));\ni__5750__auto___33502 \x3d G__33503;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(shadow.dom.fragment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (nodes){\nvar fragment \x3d document.createDocumentFragment();\nvar seq__32775_33505 \x3d cljs.core.seq(nodes);\nvar chunk__32776_33506 \x3d null;\nvar count__32777_33507 \x3d (0);\nvar i__32778_33508 \x3d (0);\nwhile(true){\nif((i__32778_33508 \x3c count__32777_33507)){\nvar node_33510 \x3d chunk__32776_33506.cljs$core$IIndexed$_nth$arity$2(null,i__32778_33508);\nfragment.appendChild(shadow.dom._to_dom(node_33510));\n\n\nvar G__33511 \x3d seq__32775_33505;\nvar G__33512 \x3d chunk__32776_33506;\nvar G__33513 \x3d count__32777_33507;\nvar G__33514 \x3d (i__32778_33508 + (1));\nseq__32775_33505 \x3d G__33511;\nchunk__32776_33506 \x3d G__33512;\ncount__32777_33507 \x3d G__33513;\ni__32778_33508 \x3d G__33514;\ncontinue;\n} else {\nvar temp__5823__auto___33515 \x3d cljs.core.seq(seq__32775_33505);\nif(temp__5823__auto___33515){\nvar seq__32775_33516__$1 \x3d temp__5823__auto___33515;\nif(cljs.core.chunked_seq_QMARK_(seq__32775_33516__$1)){\nvar c__5548__auto___33517 \x3d cljs.core.chunk_first(seq__32775_33516__$1);\nvar G__33518 \x3d cljs.core.chunk_rest(seq__32775_33516__$1);\nvar G__33519 \x3d c__5548__auto___33517;\nvar G__33520 \x3d cljs.core.count(c__5548__auto___33517);\nvar G__33521 \x3d (0);\nseq__32775_33505 \x3d G__33518;\nchunk__32776_33506 \x3d G__33519;\ncount__32777_33507 \x3d G__33520;\ni__32778_33508 \x3d G__33521;\ncontinue;\n} else {\nvar node_33522 \x3d cljs.core.first(seq__32775_33516__$1);\nfragment.appendChild(shadow.dom._to_dom(node_33522));\n\n\nvar G__33523 \x3d cljs.core.next(seq__32775_33516__$1);\nvar G__33524 \x3d null;\nvar G__33525 \x3d (0);\nvar G__33526 \x3d (0);\nseq__32775_33505 \x3d G__33523;\nchunk__32776_33506 \x3d G__33524;\ncount__32777_33507 \x3d G__33525;\ni__32778_33508 \x3d G__33526;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (new shadow.dom.NativeColl(fragment));\n}));\n\n(shadow.dom.fragment.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.dom.fragment.cljs$lang$applyTo \x3d (function (seq32774){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq32774));\n}));\n\n/**\n * given a html string, eval all \x3cscript\x3e tags and return the html without the scripts\n * don\x27t do this for everything, only content you trust.\n */\nshadow.dom.eval_scripts \x3d (function shadow$dom$eval_scripts(s){\nvar scripts \x3d cljs.core.re_seq(/\x3cscript[^\x3e]*?\x3e(.+?)\x3c\\/script\x3e/,s);\nvar seq__32779_33528 \x3d cljs.core.seq(scripts);\nvar chunk__32780_33529 \x3d null;\nvar count__32781_33530 \x3d (0);\nvar i__32782_33531 \x3d (0);\nwhile(true){\nif((i__32782_33531 \x3c count__32781_33530)){\nvar vec__32789_33532 \x3d chunk__32780_33529.cljs$core$IIndexed$_nth$arity$2(null,i__32782_33531);\nvar script_tag_33533 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32789_33532,(0),null);\nvar script_body_33534 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32789_33532,(1),null);\neval(script_body_33534);\n\n\nvar G__33537 \x3d seq__32779_33528;\nvar G__33538 \x3d chunk__32780_33529;\nvar G__33539 \x3d count__32781_33530;\nvar G__33540 \x3d (i__32782_33531 + (1));\nseq__32779_33528 \x3d G__33537;\nchunk__32780_33529 \x3d G__33538;\ncount__32781_33530 \x3d G__33539;\ni__32782_33531 \x3d G__33540;\ncontinue;\n} else {\nvar temp__5823__auto___33542 \x3d cljs.core.seq(seq__32779_33528);\nif(temp__5823__auto___33542){\nvar seq__32779_33544__$1 \x3d temp__5823__auto___33542;\nif(cljs.core.chunked_seq_QMARK_(seq__32779_33544__$1)){\nvar c__5548__auto___33545 \x3d cljs.core.chunk_first(seq__32779_33544__$1);\nvar G__33546 \x3d cljs.core.chunk_rest(seq__32779_33544__$1);\nvar G__33547 \x3d c__5548__auto___33545;\nvar G__33548 \x3d cljs.core.count(c__5548__auto___33545);\nvar G__33549 \x3d (0);\nseq__32779_33528 \x3d G__33546;\nchunk__32780_33529 \x3d G__33547;\ncount__32781_33530 \x3d G__33548;\ni__32782_33531 \x3d G__33549;\ncontinue;\n} else {\nvar vec__32796_33550 \x3d cljs.core.first(seq__32779_33544__$1);\nvar script_tag_33551 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32796_33550,(0),null);\nvar script_body_33552 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32796_33550,(1),null);\neval(script_body_33552);\n\n\nvar G__33555 \x3d cljs.core.next(seq__32779_33544__$1);\nvar G__33556 \x3d null;\nvar G__33557 \x3d (0);\nvar G__33558 \x3d (0);\nseq__32779_33528 \x3d G__33555;\nchunk__32780_33529 \x3d G__33556;\ncount__32781_33530 \x3d G__33557;\ni__32782_33531 \x3d G__33558;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (s__$1,p__32799){\nvar vec__32800 \x3d p__32799;\nvar script_tag \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32800,(0),null);\nvar script_body \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32800,(1),null);\nreturn clojure.string.replace(s__$1,script_tag,\x22\x22);\n}),s,scripts);\n});\nshadow.dom.str__GT_fragment \x3d (function shadow$dom$str__GT_fragment(s){\nvar el \x3d document.createElement(\x22div\x22);\n(el.innerHTML \x3d s);\n\nreturn (new shadow.dom.NativeColl(goog.dom.childrenToNode_(document,el)));\n});\nshadow.dom.node_name \x3d (function shadow$dom$node_name(el){\nreturn shadow.dom.dom_node(el).nodeName;\n});\nshadow.dom.ancestor_by_class \x3d (function shadow$dom$ancestor_by_class(el,cls){\nreturn goog.dom.getAncestorByClass(shadow.dom.dom_node(el),cls);\n});\nshadow.dom.ancestor_by_tag \x3d (function shadow$dom$ancestor_by_tag(var_args){\nvar G__32807 \x3d arguments.length;\nswitch (G__32807) {\ncase 2:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$2 \x3d (function (el,tag){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$core$IFn$_invoke$arity$3 \x3d (function (el,tag,cls){\nreturn goog.dom.getAncestorByTagNameAndClass(shadow.dom.dom_node(el),cljs.core.name(tag),cljs.core.name(cls));\n}));\n\n(shadow.dom.ancestor_by_tag.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.dom.get_value \x3d (function shadow$dom$get_value(dom){\nreturn goog.dom.forms.getValue(shadow.dom.dom_node(dom));\n});\nshadow.dom.set_value \x3d (function shadow$dom$set_value(dom,value){\nreturn goog.dom.forms.setValue(shadow.dom.dom_node(dom),value);\n});\nshadow.dom.px \x3d (function shadow$dom$px(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1((value | (0))),\x22px\x22].join(\x27\x27);\n});\nshadow.dom.pct \x3d (function shadow$dom$pct(value){\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(value),\x22%\x22].join(\x27\x27);\n});\nshadow.dom.remove_style_STAR_ \x3d (function shadow$dom$remove_style_STAR_(el,style){\nreturn el.style.removeProperty(cljs.core.name(style));\n});\nshadow.dom.remove_style \x3d (function shadow$dom$remove_style(el,style){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nreturn shadow.dom.remove_style_STAR_(el__$1,style);\n});\nshadow.dom.remove_styles \x3d (function shadow$dom$remove_styles(el,style_keys){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar seq__32825 \x3d cljs.core.seq(style_keys);\nvar chunk__32826 \x3d null;\nvar count__32827 \x3d (0);\nvar i__32828 \x3d (0);\nwhile(true){\nif((i__32828 \x3c count__32827)){\nvar it \x3d chunk__32826.cljs$core$IIndexed$_nth$arity$2(null,i__32828);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__33581 \x3d seq__32825;\nvar G__33582 \x3d chunk__32826;\nvar G__33583 \x3d count__32827;\nvar G__33584 \x3d (i__32828 + (1));\nseq__32825 \x3d G__33581;\nchunk__32826 \x3d G__33582;\ncount__32827 \x3d G__33583;\ni__32828 \x3d G__33584;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__32825);\nif(temp__5823__auto__){\nvar seq__32825__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__32825__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__32825__$1);\nvar G__33585 \x3d cljs.core.chunk_rest(seq__32825__$1);\nvar G__33586 \x3d c__5548__auto__;\nvar G__33587 \x3d cljs.core.count(c__5548__auto__);\nvar G__33588 \x3d (0);\nseq__32825 \x3d G__33585;\nchunk__32826 \x3d G__33586;\ncount__32827 \x3d G__33587;\ni__32828 \x3d G__33588;\ncontinue;\n} else {\nvar it \x3d cljs.core.first(seq__32825__$1);\nshadow.dom.remove_style_STAR_(el__$1,it);\n\n\nvar G__33589 \x3d cljs.core.next(seq__32825__$1);\nvar G__33590 \x3d null;\nvar G__33591 \x3d (0);\nvar G__33592 \x3d (0);\nseq__32825 \x3d G__33589;\nchunk__32826 \x3d G__33590;\ncount__32827 \x3d G__33591;\ni__32828 \x3d G__33592;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Coordinate \x3d (function (x,y,__meta,__extmap,__hash){\nthis.x \x3d x;\nthis.y \x3d y;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k32846,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__32859 \x3d k32846;\nvar G__32859__$1 \x3d (((G__32859 instanceof cljs.core.Keyword))?G__32859.fqn:null);\nswitch (G__32859__$1) {\ncase \x22x\x22:\nreturn self__.x;\n\nbreak;\ncase \x22y\x22:\nreturn self__.y;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k32846,else__5326__auto__);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__32860){\nvar vec__32861 \x3d p__32860;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32861,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32861,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.dom.Coordinate{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__32845){\nvar self__ \x3d this;\nvar G__32845__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__32845__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (145542109 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this32847,other32848){\nvar self__ \x3d this;\nvar this32847__$1 \x3d this;\nreturn (((!((other32848 \x3d\x3d null)))) \x26\x26 ((((this32847__$1.constructor \x3d\x3d\x3d other32848.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32847__$1.x,other32848.x)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32847__$1.y,other32848.y)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32847__$1.__extmap,other32848.__extmap)))))))));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k32846){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__32883 \x3d k32846;\nvar G__32883__$1 \x3d (((G__32883 instanceof cljs.core.Keyword))?G__32883.fqn:null);\nswitch (G__32883__$1) {\ncase \x22x\x22:\ncase \x22y\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k32846);\n\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__32845){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__32890 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__32891 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__32890.cljs$core$IFn$_invoke$arity$2 ? pred__32890.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__32891) : pred__32890.call(null,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),expr__32891)))){\nreturn (new shadow.dom.Coordinate(G__32845,self__.y,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__32890.cljs$core$IFn$_invoke$arity$2 ? pred__32890.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__32891) : pred__32890.call(null,new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),expr__32891)))){\nreturn (new shadow.dom.Coordinate(self__.x,G__32845,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__32845),null));\n}\n}\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),self__.x,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776),self__.y,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__32845){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.dom.Coordinate(self__.x,self__.y,G__32845,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Coordinate.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.dom.Coordinate.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22y\x22,\x22y\x22,-117328249,null)], null);\n}));\n\n(shadow.dom.Coordinate.cljs$lang$type \x3d true);\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Coordinate\x22,null,(1),null));\n}));\n\n(shadow.dom.Coordinate.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.dom/Coordinate\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Coordinate.\n */\nshadow.dom.__GT_Coordinate \x3d (function shadow$dom$__GT_Coordinate(x,y){\nreturn (new shadow.dom.Coordinate(x,y,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Coordinate, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Coordinate \x3d (function shadow$dom$map__GT_Coordinate(G__32854){\nvar extmap__5365__auto__ \x3d (function (){var G__32954 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__32854,new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776)], 0));\nif(cljs.core.record_QMARK_(G__32854)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__32954);\n} else {\nreturn G__32954;\n}\n})();\nreturn (new shadow.dom.Coordinate(new cljs.core.Keyword(null,\x22x\x22,\x22x\x22,2099068185).cljs$core$IFn$_invoke$arity$1(G__32854),new cljs.core.Keyword(null,\x22y\x22,\x22y\x22,-1757859776).cljs$core$IFn$_invoke$arity$1(G__32854),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.dom.get_position \x3d (function shadow$dom$get_position(el){\nvar pos \x3d goog.style.getPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_client_position \x3d (function shadow$dom$get_client_position(el){\nvar pos \x3d goog.style.getClientPosition(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\nshadow.dom.get_page_offset \x3d (function shadow$dom$get_page_offset(el){\nvar pos \x3d goog.style.getPageOffset(shadow.dom.dom_node(el));\nreturn shadow.dom.__GT_Coordinate(pos.x,pos.y);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.dom.Size \x3d (function (w,h,__meta,__extmap,__hash){\nthis.w \x3d w;\nthis.h \x3d h;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k32966,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__32979 \x3d k32966;\nvar G__32979__$1 \x3d (((G__32979 instanceof cljs.core.Keyword))?G__32979.fqn:null);\nswitch (G__32979__$1) {\ncase \x22w\x22:\nreturn self__.w;\n\nbreak;\ncase \x22h\x22:\nreturn self__.h;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k32966,else__5326__auto__);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__32984){\nvar vec__32985 \x3d p__32984;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32985,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32985,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.dom.Size{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h],null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__32965){\nvar self__ \x3d this;\nvar G__32965__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__32965__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1228019642 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this32967,other32968){\nvar self__ \x3d this;\nvar this32967__$1 \x3d this;\nreturn (((!((other32968 \x3d\x3d null)))) \x26\x26 ((((this32967__$1.constructor \x3d\x3d\x3d other32968.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32967__$1.w,other32968.w)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32967__$1.h,other32968.h)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this32967__$1.__extmap,other32968.__extmap)))))))));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k32966){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__32997 \x3d k32966;\nvar G__32997__$1 \x3d (((G__32997 instanceof cljs.core.Keyword))?G__32997.fqn:null);\nswitch (G__32997__$1) {\ncase \x22w\x22:\ncase \x22h\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k32966);\n\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__32965){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__33000 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__33001 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__33000.cljs$core$IFn$_invoke$arity$2 ? pred__33000.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__33001) : pred__33000.call(null,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),expr__33001)))){\nreturn (new shadow.dom.Size(G__32965,self__.h,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__33000.cljs$core$IFn$_invoke$arity$2 ? pred__33000.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__33001) : pred__33000.call(null,new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),expr__33001)))){\nreturn (new shadow.dom.Size(self__.w,G__32965,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.dom.Size(self__.w,self__.h,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__32965),null));\n}\n}\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),self__.w,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740),self__.h,null))], null),self__.__extmap));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__32965){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.dom.Size(self__.w,self__.h,G__32965,self__.__extmap,self__.__hash));\n}));\n\n(shadow.dom.Size.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.dom.Size.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22w\x22,\x22w\x22,1994700528,null),new cljs.core.Symbol(null,\x22h\x22,\x22h\x22,-1544777029,null)], null);\n}));\n\n(shadow.dom.Size.cljs$lang$type \x3d true);\n\n(shadow.dom.Size.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.dom/Size\x22,null,(1),null));\n}));\n\n(shadow.dom.Size.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.dom/Size\x22);\n}));\n\n/**\n * Positional factory function for shadow.dom/Size.\n */\nshadow.dom.__GT_Size \x3d (function shadow$dom$__GT_Size(w,h){\nreturn (new shadow.dom.Size(w,h,null,null,null));\n});\n\n/**\n * Factory function for shadow.dom/Size, taking a map of keywords to field values.\n */\nshadow.dom.map__GT_Size \x3d (function shadow$dom$map__GT_Size(G__32971){\nvar extmap__5365__auto__ \x3d (function (){var G__33009 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__32971,new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740)], 0));\nif(cljs.core.record_QMARK_(G__32971)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__33009);\n} else {\nreturn G__33009;\n}\n})();\nreturn (new shadow.dom.Size(new cljs.core.Keyword(null,\x22w\x22,\x22w\x22,354169001).cljs$core$IFn$_invoke$arity$1(G__32971),new cljs.core.Keyword(null,\x22h\x22,\x22h\x22,1109658740).cljs$core$IFn$_invoke$arity$1(G__32971),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.dom.size__GT_clj \x3d (function shadow$dom$size__GT_clj(size){\nreturn (new shadow.dom.Size(size.width,size.height,null,null,null));\n});\nshadow.dom.get_size \x3d (function shadow$dom$get_size(el){\nreturn shadow.dom.size__GT_clj(goog.style.getSize(shadow.dom.dom_node(el)));\n});\nshadow.dom.get_height \x3d (function shadow$dom$get_height(el){\nreturn shadow.dom.get_size(el).h;\n});\nshadow.dom.get_viewport_size \x3d (function shadow$dom$get_viewport_size(){\nreturn shadow.dom.size__GT_clj(goog.dom.getViewportSize());\n});\nshadow.dom.first_child \x3d (function shadow$dom$first_child(el){\nreturn (shadow.dom.dom_node(el).children[(0)]);\n});\nshadow.dom.select_option_values \x3d (function shadow$dom$select_option_values(el){\nvar native$ \x3d shadow.dom.dom_node(el);\nvar opts \x3d (native$[\x22options\x22]);\nvar a__5613__auto__ \x3d opts;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar i \x3d (0);\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((i \x3c l__5614__auto__)){\nvar G__33608 \x3d (i + (1));\nvar G__33609 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(opts[i][\x22value\x22]));\ni \x3d G__33608;\nret \x3d G__33609;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nshadow.dom.build_url \x3d (function shadow$dom$build_url(path,query_params){\nif(cljs.core.empty_QMARK_(query_params)){\nreturn path;\n} else {\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22?\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__33014){\nvar vec__33015 \x3d p__33014;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33015,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33015,(1),null);\nreturn [cljs.core.name(k),\x22\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(encodeURIComponent(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)))].join(\x27\x27);\n}),query_params))].join(\x27\x27);\n}\n});\nshadow.dom.redirect \x3d (function shadow$dom$redirect(var_args){\nvar G__33022 \x3d arguments.length;\nswitch (G__33022) {\ncase 1:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$1 \x3d (function (path){\nreturn shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2(path,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(shadow.dom.redirect.cljs$core$IFn$_invoke$arity$2 \x3d (function (path,query_params){\nreturn (document[\x22location\x22][\x22href\x22] \x3d shadow.dom.build_url(path,query_params));\n}));\n\n(shadow.dom.redirect.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.dom.reload_BANG_ \x3d (function shadow$dom$reload_BANG_(){\nreturn (document.location.href \x3d document.location.href);\n});\nshadow.dom.tag_name \x3d (function shadow$dom$tag_name(el){\nvar dom \x3d shadow.dom.dom_node(el);\nreturn dom.tagName;\n});\nshadow.dom.insert_after \x3d (function shadow$dom$insert_after(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingAfter(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_before \x3d (function shadow$dom$insert_before(ref,new$){\nvar new_node \x3d shadow.dom.dom_node(new$);\ngoog.dom.insertSiblingBefore(new_node,shadow.dom.dom_node(ref));\n\nreturn new_node;\n});\nshadow.dom.insert_first \x3d (function shadow$dom$insert_first(ref,new$){\nvar temp__5821__auto__ \x3d shadow.dom.dom_node(ref).firstChild;\nif(cljs.core.truth_(temp__5821__auto__)){\nvar child \x3d temp__5821__auto__;\nreturn shadow.dom.insert_before(child,new$);\n} else {\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(ref,new$);\n}\n});\nshadow.dom.index_of \x3d (function shadow$dom$index_of(el){\nvar el__$1 \x3d shadow.dom.dom_node(el);\nvar i \x3d (0);\nwhile(true){\nvar ps \x3d el__$1.previousSibling;\nif((ps \x3d\x3d null)){\nreturn i;\n} else {\nvar G__33611 \x3d ps;\nvar G__33612 \x3d (i + (1));\nel__$1 \x3d G__33611;\ni \x3d G__33612;\ncontinue;\n}\nbreak;\n}\n});\nshadow.dom.get_parent \x3d (function shadow$dom$get_parent(el){\nreturn goog.dom.getParentElement(shadow.dom.dom_node(el));\n});\nshadow.dom.parents \x3d (function shadow$dom$parents(el){\nvar parent \x3d shadow.dom.get_parent(el);\nif(cljs.core.truth_(parent)){\nreturn cljs.core.cons(parent,(new cljs.core.LazySeq(null,(function (){\nreturn (shadow.dom.parents.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.parents.cljs$core$IFn$_invoke$arity$1(parent) : shadow.dom.parents.call(null,parent));\n}),null,null)));\n} else {\nreturn null;\n}\n});\nshadow.dom.matches \x3d (function shadow$dom$matches(el,sel){\nreturn shadow.dom.dom_node(el).matches(sel);\n});\nshadow.dom.get_next_sibling \x3d (function shadow$dom$get_next_sibling(el){\nreturn goog.dom.getNextElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.get_previous_sibling \x3d (function shadow$dom$get_previous_sibling(el){\nreturn goog.dom.getPreviousElementSibling(shadow.dom.dom_node(el));\n});\nshadow.dom.xmlns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [\x22svg\x22,\x22http://www.w3.org/2000/svg\x22,\x22xlink\x22,\x22http://www.w3.org/1999/xlink\x22], null));\nshadow.dom.create_svg_node \x3d (function shadow$dom$create_svg_node(tag_def,props){\nvar vec__33088 \x3d shadow.dom.parse_tag(tag_def);\nvar tag_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33088,(0),null);\nvar tag_id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33088,(1),null);\nvar tag_classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33088,(2),null);\nvar el \x3d document.createElementNS(\x22http://www.w3.org/2000/svg\x22,tag_name);\nif(cljs.core.truth_(tag_id)){\nel.setAttribute(\x22id\x22,tag_id);\n} else {\n}\n\nif(cljs.core.truth_(tag_classes)){\nel.setAttribute(\x22class\x22,shadow.dom.merge_class_string(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(props),tag_classes));\n} else {\n}\n\nvar seq__33093_33614 \x3d cljs.core.seq(props);\nvar chunk__33094_33615 \x3d null;\nvar count__33095_33616 \x3d (0);\nvar i__33096_33617 \x3d (0);\nwhile(true){\nif((i__33096_33617 \x3c count__33095_33616)){\nvar vec__33105_33618 \x3d chunk__33094_33615.cljs$core$IIndexed$_nth$arity$2(null,i__33096_33617);\nvar k_33619 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33105_33618,(0),null);\nvar v_33620 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33105_33618,(1),null);\nel.setAttributeNS((function (){var temp__5823__auto__ \x3d cljs.core.namespace(k_33619);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ns \x3d temp__5823__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_33619),v_33620);\n\n\nvar G__33621 \x3d seq__33093_33614;\nvar G__33622 \x3d chunk__33094_33615;\nvar G__33623 \x3d count__33095_33616;\nvar G__33624 \x3d (i__33096_33617 + (1));\nseq__33093_33614 \x3d G__33621;\nchunk__33094_33615 \x3d G__33622;\ncount__33095_33616 \x3d G__33623;\ni__33096_33617 \x3d G__33624;\ncontinue;\n} else {\nvar temp__5823__auto___33625 \x3d cljs.core.seq(seq__33093_33614);\nif(temp__5823__auto___33625){\nvar seq__33093_33626__$1 \x3d temp__5823__auto___33625;\nif(cljs.core.chunked_seq_QMARK_(seq__33093_33626__$1)){\nvar c__5548__auto___33627 \x3d cljs.core.chunk_first(seq__33093_33626__$1);\nvar G__33628 \x3d cljs.core.chunk_rest(seq__33093_33626__$1);\nvar G__33629 \x3d c__5548__auto___33627;\nvar G__33630 \x3d cljs.core.count(c__5548__auto___33627);\nvar G__33631 \x3d (0);\nseq__33093_33614 \x3d G__33628;\nchunk__33094_33615 \x3d G__33629;\ncount__33095_33616 \x3d G__33630;\ni__33096_33617 \x3d G__33631;\ncontinue;\n} else {\nvar vec__33108_33632 \x3d cljs.core.first(seq__33093_33626__$1);\nvar k_33633 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33108_33632,(0),null);\nvar v_33634 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33108_33632,(1),null);\nel.setAttributeNS((function (){var temp__5823__auto____$1 \x3d cljs.core.namespace(k_33633);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar ns \x3d temp__5823__auto____$1;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.dom.xmlns),ns);\n} else {\nreturn null;\n}\n})(),cljs.core.name(k_33633),v_33634);\n\n\nvar G__33636 \x3d cljs.core.next(seq__33093_33626__$1);\nvar G__33637 \x3d null;\nvar G__33638 \x3d (0);\nvar G__33639 \x3d (0);\nseq__33093_33614 \x3d G__33636;\nchunk__33094_33615 \x3d G__33637;\ncount__33095_33616 \x3d G__33638;\ni__33096_33617 \x3d G__33639;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn el;\n});\nshadow.dom.svg_node \x3d (function shadow$dom$svg_node(el){\nif((el \x3d\x3d null)){\nreturn null;\n} else {\nif((((!((el \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d el.shadow$dom$SVGElement$))))?true:false):false)){\nreturn el.shadow$dom$SVGElement$_to_svg$arity$1(null);\n} else {\nreturn el;\n\n}\n}\n});\nshadow.dom.make_svg_node \x3d (function shadow$dom$make_svg_node(structure){\nvar vec__33118 \x3d shadow.dom.destructure_node(shadow.dom.create_svg_node,structure);\nvar node \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33118,(0),null);\nvar node_children \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__33118,(1),null);\nvar seq__33122_33640 \x3d cljs.core.seq(node_children);\nvar chunk__33124_33641 \x3d null;\nvar count__33125_33642 \x3d (0);\nvar i__33126_33643 \x3d (0);\nwhile(true){\nif((i__33126_33643 \x3c count__33125_33642)){\nvar child_struct_33644 \x3d chunk__33124_33641.cljs$core$IIndexed$_nth$arity$2(null,i__33126_33643);\nif((!((child_struct_33644 \x3d\x3d null)))){\nif(typeof child_struct_33644 \x3d\x3d\x3d \x27string\x27){\nvar text_33645 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_33645),child_struct_33644].join(\x27\x27));\n} else {\nvar children_33650 \x3d shadow.dom.svg_node(child_struct_33644);\nif(cljs.core.seq_QMARK_(children_33650)){\nvar seq__33163_33651 \x3d cljs.core.seq(children_33650);\nvar chunk__33165_33652 \x3d null;\nvar count__33166_33653 \x3d (0);\nvar i__33167_33654 \x3d (0);\nwhile(true){\nif((i__33167_33654 \x3c count__33166_33653)){\nvar child_33655 \x3d chunk__33165_33652.cljs$core$IIndexed$_nth$arity$2(null,i__33167_33654);\nif(cljs.core.truth_(child_33655)){\nnode.appendChild(child_33655);\n\n\nvar G__33656 \x3d seq__33163_33651;\nvar G__33657 \x3d chunk__33165_33652;\nvar G__33658 \x3d count__33166_33653;\nvar G__33659 \x3d (i__33167_33654 + (1));\nseq__33163_33651 \x3d G__33656;\nchunk__33165_33652 \x3d G__33657;\ncount__33166_33653 \x3d G__33658;\ni__33167_33654 \x3d G__33659;\ncontinue;\n} else {\nvar G__33660 \x3d seq__33163_33651;\nvar G__33661 \x3d chunk__33165_33652;\nvar G__33662 \x3d count__33166_33653;\nvar G__33663 \x3d (i__33167_33654 + (1));\nseq__33163_33651 \x3d G__33660;\nchunk__33165_33652 \x3d G__33661;\ncount__33166_33653 \x3d G__33662;\ni__33167_33654 \x3d G__33663;\ncontinue;\n}\n} else {\nvar temp__5823__auto___33664 \x3d cljs.core.seq(seq__33163_33651);\nif(temp__5823__auto___33664){\nvar seq__33163_33665__$1 \x3d temp__5823__auto___33664;\nif(cljs.core.chunked_seq_QMARK_(seq__33163_33665__$1)){\nvar c__5548__auto___33666 \x3d cljs.core.chunk_first(seq__33163_33665__$1);\nvar G__33667 \x3d cljs.core.chunk_rest(seq__33163_33665__$1);\nvar G__33668 \x3d c__5548__auto___33666;\nvar G__33669 \x3d cljs.core.count(c__5548__auto___33666);\nvar G__33670 \x3d (0);\nseq__33163_33651 \x3d G__33667;\nchunk__33165_33652 \x3d G__33668;\ncount__33166_33653 \x3d G__33669;\ni__33167_33654 \x3d G__33670;\ncontinue;\n} else {\nvar child_33671 \x3d cljs.core.first(seq__33163_33665__$1);\nif(cljs.core.truth_(child_33671)){\nnode.appendChild(child_33671);\n\n\nvar G__33672 \x3d cljs.core.next(seq__33163_33665__$1);\nvar G__33673 \x3d null;\nvar G__33674 \x3d (0);\nvar G__33675 \x3d (0);\nseq__33163_33651 \x3d G__33672;\nchunk__33165_33652 \x3d G__33673;\ncount__33166_33653 \x3d G__33674;\ni__33167_33654 \x3d G__33675;\ncontinue;\n} else {\nvar G__33678 \x3d cljs.core.next(seq__33163_33665__$1);\nvar G__33679 \x3d null;\nvar G__33680 \x3d (0);\nvar G__33681 \x3d (0);\nseq__33163_33651 \x3d G__33678;\nchunk__33165_33652 \x3d G__33679;\ncount__33166_33653 \x3d G__33680;\ni__33167_33654 \x3d G__33681;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_33650);\n}\n}\n\n\nvar G__33682 \x3d seq__33122_33640;\nvar G__33683 \x3d chunk__33124_33641;\nvar G__33684 \x3d count__33125_33642;\nvar G__33685 \x3d (i__33126_33643 + (1));\nseq__33122_33640 \x3d G__33682;\nchunk__33124_33641 \x3d G__33683;\ncount__33125_33642 \x3d G__33684;\ni__33126_33643 \x3d G__33685;\ncontinue;\n} else {\nvar G__33686 \x3d seq__33122_33640;\nvar G__33687 \x3d chunk__33124_33641;\nvar G__33688 \x3d count__33125_33642;\nvar G__33689 \x3d (i__33126_33643 + (1));\nseq__33122_33640 \x3d G__33686;\nchunk__33124_33641 \x3d G__33687;\ncount__33125_33642 \x3d G__33688;\ni__33126_33643 \x3d G__33689;\ncontinue;\n}\n} else {\nvar temp__5823__auto___33691 \x3d cljs.core.seq(seq__33122_33640);\nif(temp__5823__auto___33691){\nvar seq__33122_33692__$1 \x3d temp__5823__auto___33691;\nif(cljs.core.chunked_seq_QMARK_(seq__33122_33692__$1)){\nvar c__5548__auto___33693 \x3d cljs.core.chunk_first(seq__33122_33692__$1);\nvar G__33694 \x3d cljs.core.chunk_rest(seq__33122_33692__$1);\nvar G__33695 \x3d c__5548__auto___33693;\nvar G__33696 \x3d cljs.core.count(c__5548__auto___33693);\nvar G__33697 \x3d (0);\nseq__33122_33640 \x3d G__33694;\nchunk__33124_33641 \x3d G__33695;\ncount__33125_33642 \x3d G__33696;\ni__33126_33643 \x3d G__33697;\ncontinue;\n} else {\nvar child_struct_33698 \x3d cljs.core.first(seq__33122_33692__$1);\nif((!((child_struct_33698 \x3d\x3d null)))){\nif(typeof child_struct_33698 \x3d\x3d\x3d \x27string\x27){\nvar text_33699 \x3d (node[\x22textContent\x22]);\n(node[\x22textContent\x22] \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1(text_33699),child_struct_33698].join(\x27\x27));\n} else {\nvar children_33700 \x3d shadow.dom.svg_node(child_struct_33698);\nif(cljs.core.seq_QMARK_(children_33700)){\nvar seq__33184_33701 \x3d cljs.core.seq(children_33700);\nvar chunk__33186_33702 \x3d null;\nvar count__33187_33703 \x3d (0);\nvar i__33188_33704 \x3d (0);\nwhile(true){\nif((i__33188_33704 \x3c count__33187_33703)){\nvar child_33705 \x3d chunk__33186_33702.cljs$core$IIndexed$_nth$arity$2(null,i__33188_33704);\nif(cljs.core.truth_(child_33705)){\nnode.appendChild(child_33705);\n\n\nvar G__33706 \x3d seq__33184_33701;\nvar G__33707 \x3d chunk__33186_33702;\nvar G__33708 \x3d count__33187_33703;\nvar G__33709 \x3d (i__33188_33704 + (1));\nseq__33184_33701 \x3d G__33706;\nchunk__33186_33702 \x3d G__33707;\ncount__33187_33703 \x3d G__33708;\ni__33188_33704 \x3d G__33709;\ncontinue;\n} else {\nvar G__33710 \x3d seq__33184_33701;\nvar G__33711 \x3d chunk__33186_33702;\nvar G__33712 \x3d count__33187_33703;\nvar G__33713 \x3d (i__33188_33704 + (1));\nseq__33184_33701 \x3d G__33710;\nchunk__33186_33702 \x3d G__33711;\ncount__33187_33703 \x3d G__33712;\ni__33188_33704 \x3d G__33713;\ncontinue;\n}\n} else {\nvar temp__5823__auto___33714__$1 \x3d cljs.core.seq(seq__33184_33701);\nif(temp__5823__auto___33714__$1){\nvar seq__33184_33715__$1 \x3d temp__5823__auto___33714__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__33184_33715__$1)){\nvar c__5548__auto___33716 \x3d cljs.core.chunk_first(seq__33184_33715__$1);\nvar G__33717 \x3d cljs.core.chunk_rest(seq__33184_33715__$1);\nvar G__33718 \x3d c__5548__auto___33716;\nvar G__33719 \x3d cljs.core.count(c__5548__auto___33716);\nvar G__33720 \x3d (0);\nseq__33184_33701 \x3d G__33717;\nchunk__33186_33702 \x3d G__33718;\ncount__33187_33703 \x3d G__33719;\ni__33188_33704 \x3d G__33720;\ncontinue;\n} else {\nvar child_33721 \x3d cljs.core.first(seq__33184_33715__$1);\nif(cljs.core.truth_(child_33721)){\nnode.appendChild(child_33721);\n\n\nvar G__33722 \x3d cljs.core.next(seq__33184_33715__$1);\nvar G__33723 \x3d null;\nvar G__33724 \x3d (0);\nvar G__33725 \x3d (0);\nseq__33184_33701 \x3d G__33722;\nchunk__33186_33702 \x3d G__33723;\ncount__33187_33703 \x3d G__33724;\ni__33188_33704 \x3d G__33725;\ncontinue;\n} else {\nvar G__33726 \x3d cljs.core.next(seq__33184_33715__$1);\nvar G__33727 \x3d null;\nvar G__33728 \x3d (0);\nvar G__33729 \x3d (0);\nseq__33184_33701 \x3d G__33726;\nchunk__33186_33702 \x3d G__33727;\ncount__33187_33703 \x3d G__33728;\ni__33188_33704 \x3d G__33729;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nnode.appendChild(children_33700);\n}\n}\n\n\nvar G__33730 \x3d cljs.core.next(seq__33122_33692__$1);\nvar G__33731 \x3d null;\nvar G__33732 \x3d (0);\nvar G__33733 \x3d (0);\nseq__33122_33640 \x3d G__33730;\nchunk__33124_33641 \x3d G__33731;\ncount__33125_33642 \x3d G__33732;\ni__33126_33643 \x3d G__33733;\ncontinue;\n} else {\nvar G__33734 \x3d cljs.core.next(seq__33122_33692__$1);\nvar G__33735 \x3d null;\nvar G__33736 \x3d (0);\nvar G__33737 \x3d (0);\nseq__33122_33640 \x3d G__33734;\nchunk__33124_33641 \x3d G__33735;\ncount__33125_33642 \x3d G__33736;\ni__33126_33643 \x3d G__33737;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn node;\n});\n(shadow.dom.SVGElement[\x22string\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22string\x22] \x3d (function (this$){\nif((this$ instanceof cljs.core.Keyword)){\nreturn shadow.dom.make_svg_node(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [this$], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22strings cannot be in svgs\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22this\x22,\x22this\x22,-611633625),this$], null));\n}\n}));\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentVector.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn shadow.dom.make_svg_node(this$__$1);\n}));\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.LazySeq.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2(shadow.dom._to_svg,this$__$1);\n}));\n\n(shadow.dom.SVGElement[\x22null\x22] \x3d true);\n\n(shadow.dom._to_svg[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\nshadow.dom.svg \x3d (function shadow$dom$svg(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___33738 \x3d arguments.length;\nvar i__5750__auto___33739 \x3d (0);\nwhile(true){\nif((i__5750__auto___33739 \x3c len__5749__auto___33738)){\nargs__5755__auto__.push((arguments[i__5750__auto___33739]));\n\nvar G__33741 \x3d (i__5750__auto___33739 + (1));\ni__5750__auto___33739 \x3d G__33741;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (attrs,children){\nreturn shadow.dom._to_svg(cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22svg\x22,\x22svg\x22,856789142),attrs], null),children)));\n}));\n\n(shadow.dom.svg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.dom.svg.cljs$lang$applyTo \x3d (function (seq33214){\nvar G__33215 \x3d cljs.core.first(seq33214);\nvar seq33214__$1 \x3d cljs.core.next(seq33214);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__33215,seq33214__$1);\n}));\n\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.protocols.js", true, "goog.provide(\x27cljs.core.async.impl.protocols\x27);\ncljs.core.async.impl.protocols.MAX_QUEUE_SIZE \x3d (1024);\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.ReadPort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_32428 \x3d (function (port,fn1_handler){\nvar x__5373__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5374__auto__.call(null,port,fn1_handler));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.take_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(port,fn1_handler) : m__5372__auto__.call(null,port,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22ReadPort.take!\x22,port);\n}\n}\n});\n/**\n * derefable val if taken, nil if take was enqueued\n */\ncljs.core.async.impl.protocols.take_BANG_ \x3d (function cljs$core$async$impl$protocols$take_BANG_(port,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(port,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$ReadPort$take_BANG_$dyn_32428(port,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.WritePort \x3d function(){};\n\nvar cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_32439 \x3d (function (port,val,fn1_handler){\nvar x__5373__auto__ \x3d (((port \x3d\x3d null))?null:port);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5374__auto__.call(null,port,val,fn1_handler));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.put_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(port,val,fn1_handler) : m__5372__auto__.call(null,port,val,fn1_handler));\n} else {\nthrow cljs.core.missing_protocol(\x22WritePort.put!\x22,port);\n}\n}\n});\n/**\n * derefable boolean (false if already closed) if handled, nil if put was enqueued.\n * Must throw on nil val.\n */\ncljs.core.async.impl.protocols.put_BANG_ \x3d (function cljs$core$async$impl$protocols$put_BANG_(port,val,fn1_handler){\nif((((!((port \x3d\x3d null)))) \x26\x26 ((!((port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d\x3d null)))))){\nreturn port.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(port,val,fn1_handler);\n} else {\nreturn cljs$core$async$impl$protocols$WritePort$put_BANG_$dyn_32439(port,val,fn1_handler);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Channel \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_32440 \x3d (function (chan){\nvar x__5373__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5374__auto__.call(null,chan));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.close_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5372__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.close!\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.close_BANG_ \x3d (function cljs$core$async$impl$protocols$close_BANG_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$close_BANG_$dyn_32440(chan);\n}\n});\n\nvar cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_32449 \x3d (function (chan){\nvar x__5373__auto__ \x3d (((chan \x3d\x3d null))?null:chan);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5374__auto__.call(null,chan));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.closed_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(chan) : m__5372__auto__.call(null,chan));\n} else {\nthrow cljs.core.missing_protocol(\x22Channel.closed?\x22,chan);\n}\n}\n});\ncljs.core.async.impl.protocols.closed_QMARK_ \x3d (function cljs$core$async$impl$protocols$closed_QMARK_(chan){\nif((((!((chan \x3d\x3d null)))) \x26\x26 ((!((chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn chan.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1(chan);\n} else {\nreturn cljs$core$async$impl$protocols$Channel$closed_QMARK_$dyn_32449(chan);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Handler \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_32457 \x3d (function (h){\nvar x__5373__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5374__auto__.call(null,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.active_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5372__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.active?\x22,h);\n}\n}\n});\n/**\n * returns true if has callback. Must work w/o lock\n */\ncljs.core.async.impl.protocols.active_QMARK_ \x3d (function cljs$core$async$impl$protocols$active_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$active_QMARK_$dyn_32457(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_32464 \x3d (function (h){\nvar x__5373__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5374__auto__.call(null,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.blockable_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5372__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.blockable?\x22,h);\n}\n}\n});\n/**\n * returns true if this handler may be blocked, otherwise it must not block\n */\ncljs.core.async.impl.protocols.blockable_QMARK_ \x3d (function cljs$core$async$impl$protocols$blockable_QMARK_(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$blockable_QMARK_$dyn_32464(h);\n}\n});\n\nvar cljs$core$async$impl$protocols$Handler$commit$dyn_32473 \x3d (function (h){\nvar x__5373__auto__ \x3d (((h \x3d\x3d null))?null:h);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.commit[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5374__auto__.call(null,h));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.commit[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(h) : m__5372__auto__.call(null,h));\n} else {\nthrow cljs.core.missing_protocol(\x22Handler.commit\x22,h);\n}\n}\n});\n/**\n * commit to fulfilling its end of the transfer, returns cb. Must be called within lock\n */\ncljs.core.async.impl.protocols.commit \x3d (function cljs$core$async$impl$protocols$commit(h){\nif((((!((h \x3d\x3d null)))) \x26\x26 ((!((h.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d\x3d null)))))){\nreturn h.cljs$core$async$impl$protocols$Handler$commit$arity$1(h);\n} else {\nreturn cljs$core$async$impl$protocols$Handler$commit$dyn_32473(h);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.Buffer \x3d function(){};\n\nvar cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_32484 \x3d (function (b){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5374__auto__.call(null,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.full_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5372__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.full?\x22,b);\n}\n}\n});\n/**\n * returns true if buffer cannot accept put\n */\ncljs.core.async.impl.protocols.full_QMARK_ \x3d (function cljs$core$async$impl$protocols$full_QMARK_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$full_QMARK_$dyn_32484(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_32493 \x3d (function (b){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5374__auto__.call(null,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.remove_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5372__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.remove!\x22,b);\n}\n}\n});\n/**\n * remove and return next item from buffer, called under chan mutex\n */\ncljs.core.async.impl.protocols.remove_BANG_ \x3d (function cljs$core$async$impl$protocols$remove_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$remove_BANG_$dyn_32493(b);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_32500 \x3d (function (b,itm){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5374__auto__.call(null,b,itm));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.add_BANG__STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(b,itm) : m__5372__auto__.call(null,b,itm));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.add!*\x22,b);\n}\n}\n});\n/**\n * if room, add item to the buffer, returns b, called under chan mutex\n */\ncljs.core.async.impl.protocols.add_BANG__STAR_ \x3d (function cljs$core$async$impl$protocols$add_BANG__STAR_(b,itm){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2(b,itm);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$dyn_32500(b,itm);\n}\n});\n\nvar cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_32513 \x3d (function (b){\nvar x__5373__auto__ \x3d (((b \x3d\x3d null))?null:b);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5374__auto__.call(null,b));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.protocols.close_buf_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(b) : m__5372__auto__.call(null,b));\n} else {\nthrow cljs.core.missing_protocol(\x22Buffer.close-buf!\x22,b);\n}\n}\n});\n/**\n * called on chan closed under chan mutex, return ignored\n */\ncljs.core.async.impl.protocols.close_buf_BANG_ \x3d (function cljs$core$async$impl$protocols$close_buf_BANG_(b){\nif((((!((b \x3d\x3d null)))) \x26\x26 ((!((b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d\x3d null)))))){\nreturn b.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(b);\n} else {\nreturn cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$dyn_32513(b);\n}\n});\n\ncljs.core.async.impl.protocols.add_BANG_ \x3d (function cljs$core$async$impl$protocols$add_BANG_(var_args){\nvar G__32401 \x3d arguments.length;\nswitch (G__32401) {\ncase 1:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn b;\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,itm){\nif((!((itm \x3d\x3d null)))){\n} else {\nthrow (new Error(\x22Assert failed: (not (nil? itm))\x22));\n}\n\nreturn cljs.core.async.impl.protocols.add_BANG__STAR_(b,itm);\n}));\n\n(cljs.core.async.impl.protocols.add_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n * @interface\n */\ncljs.core.async.impl.protocols.UnblockingBuffer \x3d function(){};\n\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.buffers.js", true, "goog.provide(\x27cljs.core.async.impl.buffers\x27);\ncljs.core.async.impl.buffers.acopy \x3d (function cljs$core$async$impl$buffers$acopy(src,src_start,dest,dest_start,len){\nvar cnt \x3d (0);\nwhile(true){\nif((cnt \x3c len)){\n(dest[(dest_start + cnt)] \x3d (src[(src_start + cnt)]));\n\nvar G__32699 \x3d (cnt + (1));\ncnt \x3d G__32699;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.buffers.RingBuffer \x3d (function (head,tail,length,arr){\nthis.head \x3d head;\nthis.tail \x3d tail;\nthis.length \x3d length;\nthis.arr \x3d arr;\n});\n(cljs.core.async.impl.buffers.RingBuffer.prototype.pop \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif((self__.length \x3d\x3d\x3d (0))){\nreturn null;\n} else {\nvar x \x3d (self__.arr[self__.tail]);\n(self__.arr[self__.tail] \x3d null);\n\n(self__.tail \x3d ((self__.tail + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length - (1)));\n\nreturn x;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unshift \x3d (function (x){\nvar self__ \x3d this;\nvar _ \x3d this;\n(self__.arr[self__.head] \x3d x);\n\n(self__.head \x3d ((self__.head + (1)) % self__.arr.length));\n\n(self__.length \x3d (self__.length + (1)));\n\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.unbounded_unshift \x3d (function (x){\nvar self__ \x3d this;\nvar this$ \x3d this;\nif(((self__.length + (1)) \x3d\x3d\x3d self__.arr.length)){\nthis$.resize();\n} else {\n}\n\nreturn this$.unshift(x);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.resize \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar new_arr_size \x3d (self__.arr.length * (2));\nvar new_arr \x3d (new Array(new_arr_size));\nif((self__.tail \x3c self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),self__.length);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3e self__.head)){\ncljs.core.async.impl.buffers.acopy(self__.arr,self__.tail,new_arr,(0),(self__.arr.length - self__.tail));\n\ncljs.core.async.impl.buffers.acopy(self__.arr,(0),new_arr,(self__.arr.length - self__.tail),self__.head);\n\n(self__.tail \x3d (0));\n\n(self__.head \x3d self__.length);\n\nreturn (self__.arr \x3d new_arr);\n} else {\nif((self__.tail \x3d\x3d\x3d self__.head)){\n(self__.tail \x3d (0));\n\n(self__.head \x3d (0));\n\nreturn (self__.arr \x3d new_arr);\n} else {\nreturn null;\n}\n}\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.prototype.cleanup \x3d (function (keep_QMARK_){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar n__5616__auto__ \x3d self__.length;\nvar x \x3d (0);\nwhile(true){\nif((x \x3c n__5616__auto__)){\nvar v_32700 \x3d this$.pop();\nif((keep_QMARK_.cljs$core$IFn$_invoke$arity$1 ? keep_QMARK_.cljs$core$IFn$_invoke$arity$1(v_32700) : keep_QMARK_.call(null,v_32700))){\nthis$.unshift(v_32700);\n} else {\n}\n\nvar G__32701 \x3d (x + (1));\nx \x3d G__32701;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22head\x22,\x22head\x22,869147608,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22tail\x22,\x22tail\x22,494507963,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22length\x22,\x22length\x22,-2065447907,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22arr\x22,\x22arr\x22,2115492975,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/RingBuffer\x22);\n\n(cljs.core.async.impl.buffers.RingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/RingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/RingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_RingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_RingBuffer(head,tail,length,arr){\nreturn (new cljs.core.async.impl.buffers.RingBuffer(head,tail,length,arr));\n});\n\ncljs.core.async.impl.buffers.ring_buffer \x3d (function cljs$core$async$impl$buffers$ring_buffer(n){\nif((n \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t create a ring buffer of size 0\x22,\x22\\n\x22,\x22(\x3e n 0)\x22].join(\x27\x27)));\n}\n\nreturn (new cljs.core.async.impl.buffers.RingBuffer((0),(0),(0),(new Array(n))));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.FixedBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.buf.length \x3e\x3d self__.n);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nself__.buf.unbounded_unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n\n(cljs.core.async.impl.buffers.FixedBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/FixedBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/FixedBuffer.\n */\ncljs.core.async.impl.buffers.__GT_FixedBuffer \x3d (function cljs$core$async$impl$buffers$__GT_FixedBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.fixed_buffer \x3d (function cljs$core$async$impl$buffers$fixed_buffer(n){\nreturn (new cljs.core.async.impl.buffers.FixedBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.DroppingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\n} else {\nself__.buf.unshift(itm);\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n\n(cljs.core.async.impl.buffers.DroppingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/DroppingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/DroppingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_DroppingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_DroppingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.dropping_buffer \x3d (function cljs$core$async$impl$buffers$dropping_buffer(n){\nreturn (new cljs.core.async.impl.buffers.DroppingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.SlidingBuffer \x3d (function (buf,n){\nthis.buf \x3d buf;\nthis.n \x3d n;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.pop();\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.buf.length \x3d\x3d\x3d self__.n)){\nthis$__$1.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\n} else {\n}\n\nself__.buf.unshift(itm);\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn null;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.buf.length;\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22n\x22,\x22n\x22,-2092305744,null)], null);\n}));\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n\n(cljs.core.async.impl.buffers.SlidingBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/SlidingBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/SlidingBuffer.\n */\ncljs.core.async.impl.buffers.__GT_SlidingBuffer \x3d (function cljs$core$async$impl$buffers$__GT_SlidingBuffer(buf,n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(buf,n));\n});\n\ncljs.core.async.impl.buffers.sliding_buffer \x3d (function cljs$core$async$impl$buffers$sliding_buffer(n){\nreturn (new cljs.core.async.impl.buffers.SlidingBuffer(cljs.core.async.impl.buffers.ring_buffer(n),n));\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.async.impl.buffers.NO_VAL !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.core.async.impl.buffers.NO_VAL \x3d (new Object());\n}\ncljs.core.async.impl.buffers.undelivered_QMARK_ \x3d (function cljs$core$async$impl$buffers$undelivered_QMARK_(val){\nreturn (cljs.core.async.impl.buffers.NO_VAL \x3d\x3d\x3d val);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.async.impl.protocols.UnblockingBuffer}\n * @implements {cljs.core.async.impl.protocols.Buffer}\n*/\ncljs.core.async.impl.buffers.PromiseBuffer \x3d (function (val){\nthis.val \x3d val;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$UnblockingBuffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn false;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$add_BANG__STAR_$arity$2 \x3d (function (this$,itm){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\n(self__.val \x3d itm);\n} else {\n}\n\nreturn this$__$1;\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (self__.val \x3d null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.async.impl.buffers.undelivered_QMARK_(self__.val)){\nreturn (0);\n} else {\nreturn (1);\n}\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n\n(cljs.core.async.impl.buffers.PromiseBuffer.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.buffers/PromiseBuffer\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.buffers/PromiseBuffer.\n */\ncljs.core.async.impl.buffers.__GT_PromiseBuffer \x3d (function cljs$core$async$impl$buffers$__GT_PromiseBuffer(val){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(val));\n});\n\ncljs.core.async.impl.buffers.promise_buffer \x3d (function cljs$core$async$impl$buffers$promise_buffer(){\nreturn (new cljs.core.async.impl.buffers.PromiseBuffer(cljs.core.async.impl.buffers.NO_VAL));\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.dispatch.js", true, "goog.provide(\x27cljs.core.async.impl.dispatch\x27);\ncljs.core.async.impl.dispatch.tasks \x3d cljs.core.async.impl.buffers.ring_buffer((32));\ncljs.core.async.impl.dispatch.running_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.queued_QMARK_ \x3d false;\ncljs.core.async.impl.dispatch.TASK_BATCH_SIZE \x3d (1024);\ncljs.core.async.impl.dispatch.process_messages \x3d (function cljs$core$async$impl$dispatch$process_messages(){\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d true);\n\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d false);\n\nvar count_32735 \x3d (0);\nwhile(true){\nvar m_32736 \x3d cljs.core.async.impl.dispatch.tasks.pop();\nif((m_32736 \x3d\x3d null)){\n} else {\n(m_32736.cljs$core$IFn$_invoke$arity$0 ? m_32736.cljs$core$IFn$_invoke$arity$0() : m_32736.call(null));\n\nif((count_32735 \x3c cljs.core.async.impl.dispatch.TASK_BATCH_SIZE)){\nvar G__32737 \x3d (count_32735 + (1));\ncount_32735 \x3d G__32737;\ncontinue;\n} else {\n}\n}\nbreak;\n}\n\n(cljs.core.async.impl.dispatch.running_QMARK_ \x3d false);\n\nif((cljs.core.async.impl.dispatch.tasks.length \x3e (0))){\nreturn (cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0 ? cljs.core.async.impl.dispatch.queue_dispatcher.cljs$core$IFn$_invoke$arity$0() : cljs.core.async.impl.dispatch.queue_dispatcher.call(null));\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.dispatch.queue_dispatcher \x3d (function cljs$core$async$impl$dispatch$queue_dispatcher(){\nif(((cljs.core.async.impl.dispatch.queued_QMARK_) \x26\x26 (cljs.core.async.impl.dispatch.running_QMARK_))){\nreturn null;\n} else {\n(cljs.core.async.impl.dispatch.queued_QMARK_ \x3d true);\n\nreturn goog.async.nextTick(cljs.core.async.impl.dispatch.process_messages);\n}\n});\ncljs.core.async.impl.dispatch.run \x3d (function cljs$core$async$impl$dispatch$run(f){\ncljs.core.async.impl.dispatch.tasks.unbounded_unshift(f);\n\nreturn cljs.core.async.impl.dispatch.queue_dispatcher();\n});\ncljs.core.async.impl.dispatch.queue_delay \x3d (function cljs$core$async$impl$dispatch$queue_delay(f,delay){\nreturn setTimeout(f,delay);\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.channels.js", true, "goog.provide(\x27cljs.core.async.impl.channels\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761 \x3d (function (val,meta32762){\nthis.val \x3d val;\nthis.meta32762 \x3d meta32762;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 425984;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_32763,meta32762__$1){\nvar self__ \x3d this;\nvar _32763__$1 \x3d this;\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761(self__.val,meta32762__$1));\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_32763){\nvar self__ \x3d this;\nvar _32763__$1 \x3d this;\nreturn self__.meta32762;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.val;\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22meta32762\x22,\x22meta32762\x22,-162927370,null)], null);\n}));\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels32761\x22);\n\n(cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.channels/t_cljs$core$async$impl$channels32761\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/t_cljs$core$async$impl$channels32761.\n */\ncljs.core.async.impl.channels.__GT_t_cljs$core$async$impl$channels32761 \x3d (function cljs$core$async$impl$channels$__GT_t_cljs$core$async$impl$channels32761(val,meta32762){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761(val,meta32762));\n});\n\n\ncljs.core.async.impl.channels.box \x3d (function cljs$core$async$impl$channels$box(val){\nreturn (new cljs.core.async.impl.channels.t_cljs$core$async$impl$channels32761(val,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n*/\ncljs.core.async.impl.channels.PutBox \x3d (function (handler,val){\nthis.handler \x3d handler;\nthis.val \x3d val;\n});\n\n(cljs.core.async.impl.channels.PutBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/PutBox\x22);\n\n(cljs.core.async.impl.channels.PutBox.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.channels/PutBox\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/PutBox.\n */\ncljs.core.async.impl.channels.__GT_PutBox \x3d (function cljs$core$async$impl$channels$__GT_PutBox(handler,val){\nreturn (new cljs.core.async.impl.channels.PutBox(handler,val));\n});\n\ncljs.core.async.impl.channels.put_active_QMARK_ \x3d (function cljs$core$async$impl$channels$put_active_QMARK_(box){\nreturn cljs.core.async.impl.protocols.active_QMARK_(box.handler);\n});\ncljs.core.async.impl.channels.MAX_DIRTY \x3d (64);\n\n/**\n * @interface\n */\ncljs.core.async.impl.channels.MMC \x3d function(){};\n\nvar cljs$core$async$impl$channels$MMC$abort$dyn_32889 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (cljs.core.async.impl.channels.abort[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.impl.channels.abort[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22MMC.abort\x22,this$);\n}\n}\n});\ncljs.core.async.impl.channels.abort \x3d (function cljs$core$async$impl$channels$abort(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d\x3d null)))))){\nreturn this$.cljs$core$async$impl$channels$MMC$abort$arity$1(this$);\n} else {\nreturn cljs$core$async$impl$channels$MMC$abort$dyn_32889(this$);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.channels.MMC}\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n*/\ncljs.core.async.impl.channels.ManyToManyChannel \x3d (function (takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nthis.takes \x3d takes;\nthis.dirty_takes \x3d dirty_takes;\nthis.puts \x3d puts;\nthis.dirty_puts \x3d dirty_puts;\nthis.buf \x3d buf;\nthis.closed \x3d closed;\nthis.add_BANG_ \x3d add_BANG_;\n});\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$channels$MMC$abort$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nwhile(true){\nvar putter_32893 \x3d self__.puts.pop();\nif((putter_32893 \x3d\x3d null)){\n} else {\nvar put_handler_32895 \x3d putter_32893.handler;\nvar val_32896 \x3d putter_32893.val;\nif(put_handler_32895.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar put_cb_32898 \x3d put_handler_32895.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\ncljs.core.async.impl.dispatch.run(((function (put_cb_32898,put_handler_32895,val_32896,putter_32893,this$__$1){\nreturn (function (){\nreturn (put_cb_32898.cljs$core$IFn$_invoke$arity$1 ? put_cb_32898.cljs$core$IFn$_invoke$arity$1(true) : put_cb_32898.call(null,true));\n});})(put_cb_32898,put_handler_32895,val_32896,putter_32893,this$__$1))\n);\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nself__.puts.cleanup(cljs.core.constantly(false));\n\nreturn this$__$1.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (this$,val,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((val \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22Can\x27t put nil on a channel\x22,\x22\\n\x22,\x22(not (nil? val))\x22].join(\x27\x27)));\n}\n\nvar closed__$1 \x3d self__.closed;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn cljs.core.async.impl.channels.box((!(closed__$1)));\n} else {\nif(closed__$1){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nreturn cljs.core.async.impl.channels.box(false);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\nvar done_QMARK_ \x3d cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val) : self__.add_BANG_.call(null,self__.buf,val)));\nvar take_cbs \x3d (function (){var takers \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif((((self__.takes.length \x3e (0))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar taker \x3d self__.takes.pop();\nif(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar ret \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val__$1 \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar G__32901 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(takers,((function (takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1){\nreturn (function (){\nreturn (ret.cljs$core$IFn$_invoke$arity$1 ? ret.cljs$core$IFn$_invoke$arity$1(val__$1) : ret.call(null,val__$1));\n});})(takers,ret,val__$1,taker,done_QMARK_,closed__$1,this$__$1))\n);\ntakers \x3d G__32901;\ncontinue;\n} else {\nvar G__32902 \x3d takers;\ntakers \x3d G__32902;\ncontinue;\n}\n} else {\nreturn takers;\n}\nbreak;\n}\n})();\nif(done_QMARK_){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nif(cljs.core.seq(take_cbs)){\nvar seq__32792_32903 \x3d cljs.core.seq(take_cbs);\nvar chunk__32793_32904 \x3d null;\nvar count__32794_32905 \x3d (0);\nvar i__32795_32906 \x3d (0);\nwhile(true){\nif((i__32795_32906 \x3c count__32794_32905)){\nvar f_32907 \x3d chunk__32793_32904.cljs$core$IIndexed$_nth$arity$2(null,i__32795_32906);\ncljs.core.async.impl.dispatch.run(f_32907);\n\n\nvar G__32908 \x3d seq__32792_32903;\nvar G__32909 \x3d chunk__32793_32904;\nvar G__32910 \x3d count__32794_32905;\nvar G__32911 \x3d (i__32795_32906 + (1));\nseq__32792_32903 \x3d G__32908;\nchunk__32793_32904 \x3d G__32909;\ncount__32794_32905 \x3d G__32910;\ni__32795_32906 \x3d G__32911;\ncontinue;\n} else {\nvar temp__5823__auto___32912 \x3d cljs.core.seq(seq__32792_32903);\nif(temp__5823__auto___32912){\nvar seq__32792_32913__$1 \x3d temp__5823__auto___32912;\nif(cljs.core.chunked_seq_QMARK_(seq__32792_32913__$1)){\nvar c__5548__auto___32914 \x3d cljs.core.chunk_first(seq__32792_32913__$1);\nvar G__32915 \x3d cljs.core.chunk_rest(seq__32792_32913__$1);\nvar G__32916 \x3d c__5548__auto___32914;\nvar G__32917 \x3d cljs.core.count(c__5548__auto___32914);\nvar G__32918 \x3d (0);\nseq__32792_32903 \x3d G__32915;\nchunk__32793_32904 \x3d G__32916;\ncount__32794_32905 \x3d G__32917;\ni__32795_32906 \x3d G__32918;\ncontinue;\n} else {\nvar f_32919 \x3d cljs.core.first(seq__32792_32913__$1);\ncljs.core.async.impl.dispatch.run(f_32919);\n\n\nvar G__32920 \x3d cljs.core.next(seq__32792_32913__$1);\nvar G__32921 \x3d null;\nvar G__32922 \x3d (0);\nvar G__32923 \x3d (0);\nseq__32792_32903 \x3d G__32920;\nchunk__32793_32904 \x3d G__32921;\ncount__32794_32905 \x3d G__32922;\ni__32795_32906 \x3d G__32923;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nvar taker \x3d (function (){while(true){\nvar taker \x3d self__.takes.pop();\nif(cljs.core.truth_(taker)){\nif(cljs.core.truth_(taker.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null))){\nreturn taker;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(taker)){\nvar take_cb \x3d taker.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (take_cb.cljs$core$IFn$_invoke$arity$1 ? take_cb.cljs$core$IFn$_invoke$arity$1(val) : take_cb.call(null,val));\n}));\n\nreturn cljs.core.async.impl.channels.box(true);\n} else {\nif((self__.dirty_puts \x3e (64))){\n(self__.dirty_puts \x3d (0));\n\nself__.puts.cleanup(cljs.core.async.impl.channels.put_active_QMARK_);\n} else {\n(self__.dirty_puts \x3d (self__.dirty_puts + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.puts.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending puts are allowed on a single channel.\x22,\x22 Consider using a windowed buffer.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length puts) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.puts.unbounded_unshift((new cljs.core.async.impl.channels.PutBox(handler,val)));\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!(handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)))){\nreturn null;\n} else {\nif((((!((self__.buf \x3d\x3d null)))) \x26\x26 ((cljs.core.count(self__.buf) \x3e (0))))){\nvar temp__5821__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar take_cb \x3d temp__5821__auto__;\nvar val \x3d self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null);\nvar vec__32803 \x3d ((((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0)))))?(function (){var cbs \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nvar putter \x3d self__.puts.pop();\nvar put_handler \x3d putter.handler;\nvar val__$1 \x3d putter.val;\nvar cb \x3d (function (){var and__5023__auto__ \x3d put_handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(and__5023__auto__){\nreturn put_handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar cbs__$1 \x3d (cljs.core.truth_(cb)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cbs,cb):cbs);\nvar done_QMARK_ \x3d (cljs.core.truth_(cb)?cljs.core.reduced_QMARK_((self__.add_BANG_.cljs$core$IFn$_invoke$arity$2 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$2(self__.buf,val__$1) : self__.add_BANG_.call(null,self__.buf,val__$1))):null);\nif(((cljs.core.not(done_QMARK_)) \x26\x26 (((cljs.core.not(self__.buf.cljs$core$async$impl$protocols$Buffer$full_QMARK_$arity$1(null))) \x26\x26 ((self__.puts.length \x3e (0))))))){\nvar G__32930 \x3d cbs__$1;\ncbs \x3d G__32930;\ncontinue;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [done_QMARK_,cbs__$1], null);\n}\nbreak;\n}\n})():null);\nvar done_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32803,(0),null);\nvar cbs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__32803,(1),null);\nif(cljs.core.truth_(done_QMARK_)){\nthis$__$1.cljs$core$async$impl$channels$MMC$abort$arity$1(null);\n} else {\n}\n\nvar seq__32811_32931 \x3d cljs.core.seq(cbs);\nvar chunk__32812_32932 \x3d null;\nvar count__32813_32933 \x3d (0);\nvar i__32814_32934 \x3d (0);\nwhile(true){\nif((i__32814_32934 \x3c count__32813_32933)){\nvar cb_32935 \x3d chunk__32812_32932.cljs$core$IIndexed$_nth$arity$2(null,i__32814_32934);\ncljs.core.async.impl.dispatch.run(((function (seq__32811_32931,chunk__32812_32932,count__32813_32933,i__32814_32934,cb_32935,val,vec__32803,done_QMARK_,cbs,take_cb,temp__5821__auto__,this$__$1){\nreturn (function (){\nreturn (cb_32935.cljs$core$IFn$_invoke$arity$1 ? cb_32935.cljs$core$IFn$_invoke$arity$1(true) : cb_32935.call(null,true));\n});})(seq__32811_32931,chunk__32812_32932,count__32813_32933,i__32814_32934,cb_32935,val,vec__32803,done_QMARK_,cbs,take_cb,temp__5821__auto__,this$__$1))\n);\n\n\nvar G__32937 \x3d seq__32811_32931;\nvar G__32938 \x3d chunk__32812_32932;\nvar G__32939 \x3d count__32813_32933;\nvar G__32940 \x3d (i__32814_32934 + (1));\nseq__32811_32931 \x3d G__32937;\nchunk__32812_32932 \x3d G__32938;\ncount__32813_32933 \x3d G__32939;\ni__32814_32934 \x3d G__32940;\ncontinue;\n} else {\nvar temp__5823__auto___32941 \x3d cljs.core.seq(seq__32811_32931);\nif(temp__5823__auto___32941){\nvar seq__32811_32942__$1 \x3d temp__5823__auto___32941;\nif(cljs.core.chunked_seq_QMARK_(seq__32811_32942__$1)){\nvar c__5548__auto___32943 \x3d cljs.core.chunk_first(seq__32811_32942__$1);\nvar G__32944 \x3d cljs.core.chunk_rest(seq__32811_32942__$1);\nvar G__32945 \x3d c__5548__auto___32943;\nvar G__32946 \x3d cljs.core.count(c__5548__auto___32943);\nvar G__32947 \x3d (0);\nseq__32811_32931 \x3d G__32944;\nchunk__32812_32932 \x3d G__32945;\ncount__32813_32933 \x3d G__32946;\ni__32814_32934 \x3d G__32947;\ncontinue;\n} else {\nvar cb_32949 \x3d cljs.core.first(seq__32811_32942__$1);\ncljs.core.async.impl.dispatch.run(((function (seq__32811_32931,chunk__32812_32932,count__32813_32933,i__32814_32934,cb_32949,seq__32811_32942__$1,temp__5823__auto___32941,val,vec__32803,done_QMARK_,cbs,take_cb,temp__5821__auto__,this$__$1){\nreturn (function (){\nreturn (cb_32949.cljs$core$IFn$_invoke$arity$1 ? cb_32949.cljs$core$IFn$_invoke$arity$1(true) : cb_32949.call(null,true));\n});})(seq__32811_32931,chunk__32812_32932,count__32813_32933,i__32814_32934,cb_32949,seq__32811_32942__$1,temp__5823__auto___32941,val,vec__32803,done_QMARK_,cbs,take_cb,temp__5821__auto__,this$__$1))\n);\n\n\nvar G__32950 \x3d cljs.core.next(seq__32811_32942__$1);\nvar G__32951 \x3d null;\nvar G__32952 \x3d (0);\nvar G__32953 \x3d (0);\nseq__32811_32931 \x3d G__32950;\nchunk__32812_32932 \x3d G__32951;\ncount__32813_32933 \x3d G__32952;\ni__32814_32934 \x3d G__32953;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nvar putter \x3d (function (){while(true){\nvar putter \x3d self__.puts.pop();\nif(cljs.core.truth_(putter)){\nif(cljs.core.async.impl.protocols.active_QMARK_(putter.handler)){\nreturn putter;\n} else {\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(putter)){\nvar put_cb \x3d cljs.core.async.impl.protocols.commit(putter.handler);\nhandler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n\ncljs.core.async.impl.dispatch.run((function (){\nreturn (put_cb.cljs$core$IFn$_invoke$arity$1 ? put_cb.cljs$core$IFn$_invoke$arity$1(true) : put_cb.call(null,true));\n}));\n\nreturn cljs.core.async.impl.channels.box(putter.val);\n} else {\nif(cljs.core.truth_(self__.closed)){\nif(cljs.core.truth_(self__.buf)){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d handler.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn handler.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar has_val \x3d (function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar val \x3d (cljs.core.truth_(has_val)?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\nreturn cljs.core.async.impl.channels.box(val);\n} else {\nreturn null;\n}\n} else {\nif((self__.dirty_takes \x3e (64))){\n(self__.dirty_takes \x3d (0));\n\nself__.takes.cleanup(cljs.core.async.impl.protocols.active_QMARK_);\n} else {\n(self__.dirty_takes \x3d (self__.dirty_takes + (1)));\n}\n\nif(cljs.core.truth_(handler.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1(null))){\nif((self__.takes.length \x3c (1024))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22No more than \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((1024)),\x22 pending takes are allowed on a single channel.\x22].join(\x27\x27),\x22\\n\x22,\x22(\x3c (.-length takes) impl/MAX-QUEUE-SIZE)\x22].join(\x27\x27)));\n}\n\nself__.takes.unbounded_unshift(handler);\n} else {\n}\n\nreturn null;\n}\n}\n}\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.closed;\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(self__.closed){\nreturn null;\n} else {\n(self__.closed \x3d true);\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (self__.puts.length \x3d\x3d\x3d (0));\n} else {\nreturn and__5023__auto__;\n}\n})())){\n(self__.add_BANG_.cljs$core$IFn$_invoke$arity$1 ? self__.add_BANG_.cljs$core$IFn$_invoke$arity$1(self__.buf) : self__.add_BANG_.call(null,self__.buf));\n} else {\n}\n\nwhile(true){\nvar taker_32956 \x3d self__.takes.pop();\nif((taker_32956 \x3d\x3d null)){\n} else {\nif(taker_32956.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null)){\nvar take_cb_32957 \x3d taker_32956.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\nvar val_32958 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d self__.buf;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.core.count(self__.buf) \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})())?self__.buf.cljs$core$async$impl$protocols$Buffer$remove_BANG_$arity$1(null):null);\ncljs.core.async.impl.dispatch.run(((function (take_cb_32957,val_32958,taker_32956,this$__$1){\nreturn (function (){\nreturn (take_cb_32957.cljs$core$IFn$_invoke$arity$1 ? take_cb_32957.cljs$core$IFn$_invoke$arity$1(val_32958) : take_cb_32957.call(null,val_32958));\n});})(take_cb_32957,val_32958,taker_32956,this$__$1))\n);\n} else {\n}\n\ncontinue;\n}\nbreak;\n}\n\nif(cljs.core.truth_(self__.buf)){\nself__.buf.cljs$core$async$impl$protocols$Buffer$close_buf_BANG_$arity$1(null);\n} else {\n}\n\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22takes\x22,\x22takes\x22,298247964,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-takes\x22,\x22dirty-takes\x22,575642138,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22puts\x22,\x22puts\x22,-1883877054,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22dirty-puts\x22,\x22dirty-puts\x22,57041148,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22closed\x22,\x22closed\x22,720856168,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22add!\x22,\x22add!\x22,2046056845,null)], null);\n}));\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n\n(cljs.core.async.impl.channels.ManyToManyChannel.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.channels/ManyToManyChannel\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.channels/ManyToManyChannel.\n */\ncljs.core.async.impl.channels.__GT_ManyToManyChannel \x3d (function cljs$core$async$impl$channels$__GT_ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(takes,dirty_takes,puts,dirty_puts,buf,closed,add_BANG_));\n});\n\ncljs.core.async.impl.channels.ex_handler \x3d (function cljs$core$async$impl$channels$ex_handler(ex){\nconsole.log(ex);\n\nreturn null;\n});\ncljs.core.async.impl.channels.handle \x3d (function cljs$core$async$impl$channels$handle(buf,exh,t){\nvar else$ \x3d (function (){var fexpr__32867 \x3d (function (){var or__5025__auto__ \x3d exh;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.async.impl.channels.ex_handler;\n}\n})();\nreturn (fexpr__32867.cljs$core$IFn$_invoke$arity$1 ? fexpr__32867.cljs$core$IFn$_invoke$arity$1(t) : fexpr__32867.call(null,t));\n})();\nif((else$ \x3d\x3d null)){\nreturn buf;\n} else {\nreturn cljs.core.async.impl.protocols.add_BANG_.cljs$core$IFn$_invoke$arity$2(buf,else$);\n}\n});\ncljs.core.async.impl.channels.chan \x3d (function cljs$core$async$impl$channels$chan(var_args){\nvar G__32873 \x3d arguments.length;\nswitch (G__32873) {\ncase 1:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2(buf,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf,xform){\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(buf,xform,null);\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf,xform,exh){\nreturn (new cljs.core.async.impl.channels.ManyToManyChannel(cljs.core.async.impl.buffers.ring_buffer((32)),(0),cljs.core.async.impl.buffers.ring_buffer((32)),(0),buf,false,(function (){var add_BANG_ \x3d (cljs.core.truth_(xform)?(xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(cljs.core.async.impl.protocols.add_BANG_) : xform.call(null,cljs.core.async.impl.protocols.add_BANG_)):cljs.core.async.impl.protocols.add_BANG_);\nreturn (function() {\nvar G__32970 \x3d null;\nvar G__32970__1 \x3d (function (buf__$1){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$1 ? add_BANG_.cljs$core$IFn$_invoke$arity$1(buf__$1) : add_BANG_.call(null,buf__$1));\n}catch (e32880){var t \x3d e32880;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nvar G__32970__2 \x3d (function (buf__$1,val){\ntry{return (add_BANG_.cljs$core$IFn$_invoke$arity$2 ? add_BANG_.cljs$core$IFn$_invoke$arity$2(buf__$1,val) : add_BANG_.call(null,buf__$1,val));\n}catch (e32881){var t \x3d e32881;\nreturn cljs.core.async.impl.channels.handle(buf__$1,exh,t);\n}});\nG__32970 \x3d function(buf__$1,val){\nswitch(arguments.length){\ncase 1:\nreturn G__32970__1.call(this,buf__$1);\ncase 2:\nreturn G__32970__2.call(this,buf__$1,val);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__32970.cljs$core$IFn$_invoke$arity$1 \x3d G__32970__1;\nG__32970.cljs$core$IFn$_invoke$arity$2 \x3d G__32970__2;\nreturn G__32970;\n})()\n})()));\n}));\n\n(cljs.core.async.impl.channels.chan.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.timers.js", true, "goog.provide(\x27cljs.core.async.impl.timers\x27);\ncljs.core.async.impl.timers.MAX_LEVEL \x3d (15);\ncljs.core.async.impl.timers.P \x3d ((1) / (2));\ncljs.core.async.impl.timers.random_level \x3d (function cljs$core$async$impl$timers$random_level(var_args){\nvar G__32959 \x3d arguments.length;\nswitch (G__32959) {\ncase 0:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1((0));\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nwhile(true){\nif((((Math.random() \x3c cljs.core.async.impl.timers.P)) \x26\x26 ((level \x3c cljs.core.async.impl.timers.MAX_LEVEL)))){\nvar G__33028 \x3d (level + (1));\nlevel \x3d G__33028;\ncontinue;\n} else {\nreturn level;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.random_level.cljs$lang$maxFixedArity \x3d 1);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipListNode \x3d (function (key,val,forward){\nthis.key \x3d key;\nthis.val \x3d val;\nthis.forward \x3d forward;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn (new cljs.core.List(null,self__.key,(new cljs.core.List(null,self__.val,null,(1),null)),(2),null));\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22[\x22,\x22 \x22,\x22]\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22forward\x22,\x22forward\x22,1083186224,null)], null);\n}));\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipListNode\x22);\n\n(cljs.core.async.impl.timers.SkipListNode.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.timers/SkipListNode\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipListNode.\n */\ncljs.core.async.impl.timers.__GT_SkipListNode \x3d (function cljs$core$async$impl$timers$__GT_SkipListNode(key,val,forward){\nreturn (new cljs.core.async.impl.timers.SkipListNode(key,val,forward));\n});\n\ncljs.core.async.impl.timers.skip_list_node \x3d (function cljs$core$async$impl$timers$skip_list_node(var_args){\nvar G__32983 \x3d arguments.length;\nswitch (G__32983) {\ncase 1:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1 \x3d (function (level){\nreturn cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(null,null,level);\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (k,v,level){\nvar arr \x3d (new Array((level + (1))));\nvar i_33039 \x3d (0);\nwhile(true){\nif((i_33039 \x3c arr.length)){\n(arr[i_33039] \x3d null);\n\nvar G__33044 \x3d (i_33039 + (1));\ni_33039 \x3d G__33044;\ncontinue;\n} else {\n}\nbreak;\n}\n\nreturn (new cljs.core.async.impl.timers.SkipListNode(k,v,arr));\n}));\n\n(cljs.core.async.impl.timers.skip_list_node.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.impl.timers.least_greater_node \x3d (function cljs$core$async$impl$timers$least_greater_node(var_args){\nvar G__32992 \x3d arguments.length;\nswitch (G__32992) {\ncase 3:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (x,k,level){\nreturn cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(x,k,level,null);\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (x,k,level,update){\nwhile(true){\nif((!((level \x3c (0))))){\nvar x__$1 \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar temp__5821__auto__ \x3d (((level \x3c x__$1.forward.length))?(x__$1.forward[level]):null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar x_SINGLEQUOTE_ \x3d temp__5821__auto__;\nif((x_SINGLEQUOTE_.key \x3c k)){\nvar G__33058 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__33058;\ncontinue;\n} else {\nreturn x__$1;\n}\n} else {\nreturn x__$1;\n}\nbreak;\n}\n})();\nif((update \x3d\x3d null)){\n} else {\n(update[level] \x3d x__$1);\n}\n\nvar G__33059 \x3d x__$1;\nvar G__33060 \x3d k;\nvar G__33061 \x3d (level - (1));\nvar G__33062 \x3d update;\nx \x3d G__33059;\nk \x3d G__33060;\nlevel \x3d G__33061;\nupdate \x3d G__33062;\ncontinue;\n} else {\nreturn x;\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.least_greater_node.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IPrintWithWriter}\n*/\ncljs.core.async.impl.timers.SkipList \x3d (function (header,level){\nthis.header \x3d header;\nthis.level \x3d level;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2155872256;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.timers.SkipList.prototype.put \x3d (function (k,v){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (x.forward[(0)]);\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nreturn (x__$1.val \x3d v);\n} else {\nvar new_level \x3d cljs.core.async.impl.timers.random_level.cljs$core$IFn$_invoke$arity$0();\nif((new_level \x3e self__.level)){\nvar i_33065 \x3d (self__.level + (1));\nwhile(true){\nif((i_33065 \x3c\x3d (new_level + (1)))){\n(update[i_33065] \x3d self__.header);\n\nvar G__33066 \x3d (i_33065 + (1));\ni_33065 \x3d G__33066;\ncontinue;\n} else {\n}\nbreak;\n}\n\n(self__.level \x3d new_level);\n} else {\n}\n\nvar x__$2 \x3d cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$3(k,v,(new Array(new_level)));\nvar i \x3d (0);\nwhile(true){\nif((i \x3c\x3d self__.level)){\nvar links_33068 \x3d (update[i]).forward;\nif((i \x3c x__$2.forward.length)){\n(x__$2.forward[i] \x3d (links_33068[i]));\n} else {\nx__$2.forward.push((((i \x3c links_33068.length))?(links_33068[i]):null));\n}\n\nif((i \x3c links_33068.length)){\n(links_33068[i] \x3d x__$2);\n} else {\nlinks_33068.push(x__$2);\n}\n\nvar G__33070 \x3d (i + (1));\ni \x3d G__33070;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.remove \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar update \x3d (new Array(cljs.core.async.impl.timers.MAX_LEVEL));\nvar x \x3d cljs.core.async.impl.timers.least_greater_node.cljs$core$IFn$_invoke$arity$4(self__.header,k,self__.level,update);\nvar x__$1 \x3d (((x.forward.length \x3d\x3d\x3d (0)))?null:(x.forward[(0)]));\nif((((!((x__$1 \x3d\x3d null)))) \x26\x26 ((x__$1.key \x3d\x3d\x3d k)))){\nvar i_33071 \x3d (0);\nwhile(true){\nif((i_33071 \x3c\x3d self__.level)){\nvar links_33072 \x3d (update[i_33071]).forward;\nif((x__$1 \x3d\x3d\x3d (((i_33071 \x3c links_33072.length))?(links_33072[i_33071]):null))){\n(links_33072[i_33071] \x3d (x__$1.forward[i_33071]));\n\nvar G__33073 \x3d (i_33071 + (1));\ni_33071 \x3d G__33073;\ncontinue;\n} else {\nvar G__33074 \x3d (i_33071 + (1));\ni_33071 \x3d G__33074;\ncontinue;\n}\n} else {\n}\nbreak;\n}\n\nwhile(true){\nif(((((((0) \x3c self__.level)) \x26\x26 ((self__.level \x3c self__.header.forward.length)))) \x26\x26 (((self__.header.forward[self__.level]) \x3d\x3d null)))){\n(self__.level \x3d (self__.level - (1)));\n\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.ceilingEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__33077 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__33077;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__33078 \x3d nx;\nvar G__33079 \x3d (level__$1 - (1));\nx \x3d G__33078;\nlevel__$1 \x3d G__33079;\ncontinue;\n} else {\nvar G__33080 \x3d x;\nvar G__33081 \x3d (level__$1 - (1));\nx \x3d G__33080;\nlevel__$1 \x3d G__33081;\ncontinue;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x.key,k)){\nreturn x;\n} else {\nreturn (x.forward[(0)]);\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.floorEntry \x3d (function (k){\nvar self__ \x3d this;\nvar coll \x3d this;\nvar x \x3d self__.header;\nvar level__$1 \x3d self__.level;\nwhile(true){\nif((!((level__$1 \x3c (0))))){\nvar nx \x3d (function (){var x__$1 \x3d x;\nwhile(true){\nvar x_SINGLEQUOTE_ \x3d (((level__$1 \x3c x__$1.forward.length))?(x__$1.forward[level__$1]):null);\nif((!((x_SINGLEQUOTE_ \x3d\x3d null)))){\nif((x_SINGLEQUOTE_.key \x3e k)){\nreturn x__$1;\n} else {\nvar G__33082 \x3d x_SINGLEQUOTE_;\nx__$1 \x3d G__33082;\ncontinue;\n}\n} else {\nif((level__$1 \x3d\x3d\x3d (0))){\nreturn x__$1;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n})();\nif(cljs.core.truth_(nx)){\nvar G__33083 \x3d nx;\nvar G__33084 \x3d (level__$1 - (1));\nx \x3d G__33083;\nlevel__$1 \x3d G__33084;\ncontinue;\n} else {\nvar G__33085 \x3d x;\nvar G__33086 \x3d (level__$1 - (1));\nx \x3d G__33085;\nlevel__$1 \x3d G__33086;\ncontinue;\n}\n} else {\nif((x \x3d\x3d\x3d self__.header)){\nreturn null;\n} else {\nreturn x;\n}\n}\nbreak;\n}\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (coll){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar iter \x3d (function cljs$core$async$impl$timers$iter(node){\nreturn (new cljs.core.LazySeq(null,(function (){\nif((node \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node.key,node.val], null),cljs$core$async$impl$timers$iter((node.forward[(0)])));\n}\n}),null,null));\n});\nreturn iter((self__.header.forward[(0)]));\n}));\n\n(cljs.core.async.impl.timers.SkipList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar self__ \x3d this;\nvar coll__$1 \x3d this;\nvar pr_pair \x3d (function (keyval){\nreturn cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts,keyval);\n});\nreturn cljs.core.pr_sequential_writer(writer,pr_pair,\x22{\x22,\x22, \x22,\x22}\x22,opts,coll__$1);\n}));\n\n(cljs.core.async.impl.timers.SkipList.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22header\x22,\x22header\x22,1759972661,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22level\x22,\x22level\x22,-1363938217,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.timers/SkipList\x22);\n\n(cljs.core.async.impl.timers.SkipList.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.timers/SkipList\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.timers/SkipList.\n */\ncljs.core.async.impl.timers.__GT_SkipList \x3d (function cljs$core$async$impl$timers$__GT_SkipList(header,level){\nreturn (new cljs.core.async.impl.timers.SkipList(header,level));\n});\n\ncljs.core.async.impl.timers.skip_list \x3d (function cljs$core$async$impl$timers$skip_list(){\nreturn (new cljs.core.async.impl.timers.SkipList(cljs.core.async.impl.timers.skip_list_node.cljs$core$IFn$_invoke$arity$1((0)),(0)));\n});\ncljs.core.async.impl.timers.timeouts_map \x3d cljs.core.async.impl.timers.skip_list();\ncljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS \x3d (10);\n/**\n * returns a channel that will close after msecs\n */\ncljs.core.async.impl.timers.timeout \x3d (function cljs$core$async$impl$timers$timeout(msecs){\nvar timeout \x3d ((new Date()).valueOf() + msecs);\nvar me \x3d cljs.core.async.impl.timers.timeouts_map.ceilingEntry(timeout);\nvar or__5025__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d me;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (me.key \x3c (timeout + cljs.core.async.impl.timers.TIMEOUT_RESOLUTION_MS));\n} else {\nreturn and__5023__auto__;\n}\n})())?me.val:null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar timeout_channel \x3d cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$1(null);\ncljs.core.async.impl.timers.timeouts_map.put(timeout,timeout_channel);\n\ncljs.core.async.impl.dispatch.queue_delay((function (){\ncljs.core.async.impl.timers.timeouts_map.remove(timeout);\n\nreturn cljs.core.async.impl.protocols.close_BANG_(timeout_channel);\n}),msecs);\n\nreturn timeout_channel;\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.impl.ioc_helpers.js", true, "goog.provide(\x27cljs.core.async.impl.ioc_helpers\x27);\ncljs.core.async.impl.ioc_helpers.FN_IDX \x3d (0);\ncljs.core.async.impl.ioc_helpers.STATE_IDX \x3d (1);\ncljs.core.async.impl.ioc_helpers.VALUE_IDX \x3d (2);\ncljs.core.async.impl.ioc_helpers.BINDINGS_IDX \x3d (3);\ncljs.core.async.impl.ioc_helpers.EXCEPTION_FRAMES \x3d (4);\ncljs.core.async.impl.ioc_helpers.CURRENT_EXCEPTION \x3d (5);\ncljs.core.async.impl.ioc_helpers.USER_START_IDX \x3d (6);\ncljs.core.async.impl.ioc_helpers.aset_object \x3d (function cljs$core$async$impl$ioc_helpers$aset_object(arr,idx,o){\nreturn (arr[idx][o]);\n});\ncljs.core.async.impl.ioc_helpers.aget_object \x3d (function cljs$core$async$impl$ioc_helpers$aget_object(arr,idx){\nreturn (arr[idx]);\n});\n/**\n * Returns true if the machine is in a finished state\n */\ncljs.core.async.impl.ioc_helpers.finished_QMARK_ \x3d (function cljs$core$async$impl$ioc_helpers$finished_QMARK_(state_array){\nreturn cljs.core.keyword_identical_QMARK_((state_array[(1)]),new cljs.core.Keyword(null,\x22finished\x22,\x22finished\x22,-1018867731));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887 \x3d (function (f,meta34888){\nthis.f \x3d f;\nthis.meta34888 \x3d meta34888;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_34889,meta34888__$1){\nvar self__ \x3d this;\nvar _34889__$1 \x3d this;\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887(self__.f,meta34888__$1));\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_34889){\nvar self__ \x3d this;\nvar _34889__$1 \x3d this;\nreturn self__.meta34888;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22meta34888\x22,\x22meta34888\x22,1196217389,null)], null);\n}));\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.cljs$lang$type \x3d true);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.cljs$lang$ctorStr \x3d \x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers34887\x22);\n\n(cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers34887\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async.impl.ioc-helpers/t_cljs$core$async$impl$ioc_helpers34887.\n */\ncljs.core.async.impl.ioc_helpers.__GT_t_cljs$core$async$impl$ioc_helpers34887 \x3d (function cljs$core$async$impl$ioc_helpers$__GT_t_cljs$core$async$impl$ioc_helpers34887(f,meta34888){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887(f,meta34888));\n});\n\n\ncljs.core.async.impl.ioc_helpers.fn_handler \x3d (function cljs$core$async$impl$ioc_helpers$fn_handler(f){\nreturn (new cljs.core.async.impl.ioc_helpers.t_cljs$core$async$impl$ioc_helpers34887(f,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine(state){\nvar fexpr__34903 \x3d cljs.core.async.impl.ioc_helpers.aget_object(state,(0));\nreturn (fexpr__34903.cljs$core$IFn$_invoke$arity$1 ? fexpr__34903.cljs$core$IFn$_invoke$arity$1(state) : fexpr__34903.call(null,state));\n});\ncljs.core.async.impl.ioc_helpers.run_state_machine_wrapped \x3d (function cljs$core$async$impl$ioc_helpers$run_state_machine_wrapped(state){\ntry{return cljs.core.async.impl.ioc_helpers.run_state_machine(state);\n}catch (e34912){if((e34912 instanceof Object)){\nvar ex \x3d e34912;\ncljs.core.async.impl.ioc_helpers.aget_object(state,(6)).cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nthrow ex;\n} else {\nthrow e34912;\n\n}\n}});\ncljs.core.async.impl.ioc_helpers.take_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$take_BANG_(state,blk,c){\nvar temp__5821__auto__ \x3d c.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2(null,cljs.core.async.impl.ioc_helpers.fn_handler((function (x){\nvar statearr_34918_34948 \x3d state;\n(statearr_34918_34948[(2)] \x3d x);\n\n(statearr_34918_34948[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar cb \x3d temp__5821__auto__;\nvar statearr_34923_34949 \x3d state;\n(statearr_34923_34949[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_34923_34949[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.put_BANG_ \x3d (function cljs$core$async$impl$ioc_helpers$put_BANG_(state,blk,c,val){\nvar temp__5821__auto__ \x3d c.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,val,cljs.core.async.impl.ioc_helpers.fn_handler((function (ret_val){\nvar statearr_34927_34951 \x3d state;\n(statearr_34927_34951[(2)] \x3d ret_val);\n\n(statearr_34927_34951[(1)] \x3d blk);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n})));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar cb \x3d temp__5821__auto__;\nvar statearr_34930_34952 \x3d state;\n(statearr_34930_34952[(2)] \x3d cljs.core.deref(cb));\n\n(statearr_34930_34952[(1)] \x3d blk);\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n});\ncljs.core.async.impl.ioc_helpers.return_chan \x3d (function cljs$core$async$impl$ioc_helpers$return_chan(state,value){\nvar c \x3d (state[(6)]);\nif((value \x3d\x3d null)){\n} else {\nc.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3(null,value,cljs.core.async.impl.ioc_helpers.fn_handler((function (_){\nreturn null;\n})));\n}\n\nc.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1(null);\n\nreturn c;\n});\n");
SHADOW_ENV.evalLoad("cljs.core.async.js", true, "goog.provide(\x27cljs.core.async\x27);\ngoog.scope(function(){\n cljs.core.async.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35103 \x3d (function (f,blockable,meta35104){\nthis.f \x3d f;\nthis.blockable \x3d blockable;\nthis.meta35104 \x3d meta35104;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35105,meta35104__$1){\nvar self__ \x3d this;\nvar _35105__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35103(self__.f,self__.blockable,meta35104__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35105){\nvar self__ \x3d this;\nvar _35105__$1 \x3d this;\nreturn self__.meta35104;\n}));\n\n(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.blockable;\n}));\n\n(cljs.core.async.t_cljs$core$async35103.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.f;\n}));\n\n(cljs.core.async.t_cljs$core$async35103.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22blockable\x22,\x22blockable\x22,-28395259,null),new cljs.core.Symbol(null,\x22meta35104\x22,\x22meta35104\x22,1106271189,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35103.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35103.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35103\x22);\n\n(cljs.core.async.t_cljs$core$async35103.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35103\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35103.\n */\ncljs.core.async.__GT_t_cljs$core$async35103 \x3d (function cljs$core$async$__GT_t_cljs$core$async35103(f,blockable,meta35104){\nreturn (new cljs.core.async.t_cljs$core$async35103(f,blockable,meta35104));\n});\n\n\ncljs.core.async.fn_handler \x3d (function cljs$core$async$fn_handler(var_args){\nvar G__35100 \x3d arguments.length;\nswitch (G__35100) {\ncase 1:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(f,true);\n}));\n\n(cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,blockable){\nreturn (new cljs.core.async.t_cljs$core$async35103(f,blockable,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.core.async.fn_handler.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a fixed buffer of size n. When full, puts will block/park.\n */\ncljs.core.async.buffer \x3d (function cljs$core$async$buffer(n){\nreturn cljs.core.async.impl.buffers.fixed_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete but\n * val will be dropped (no transfer).\n */\ncljs.core.async.dropping_buffer \x3d (function cljs$core$async$dropping_buffer(n){\nreturn cljs.core.async.impl.buffers.dropping_buffer(n);\n});\n/**\n * Returns a buffer of size n. When full, puts will complete, and be\n * buffered, but oldest elements in buffer will be dropped (not\n * transferred).\n */\ncljs.core.async.sliding_buffer \x3d (function cljs$core$async$sliding_buffer(n){\nreturn cljs.core.async.impl.buffers.sliding_buffer(n);\n});\n/**\n * Returns true if a channel created with buff will never block. That is to say,\n * puts into this buffer will never cause the buffer to be full. \n */\ncljs.core.async.unblocking_buffer_QMARK_ \x3d (function cljs$core$async$unblocking_buffer_QMARK_(buff){\nif((!((buff \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d buff.cljs$core$async$impl$protocols$UnblockingBuffer$)))){\nreturn true;\n} else {\nif((!buff.cljs$lang$protocol_mask$partition$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.async.impl.protocols.UnblockingBuffer,buff);\n}\n});\n/**\n * Creates a channel with an optional buffer, an optional transducer (like (map f),\n * (filter p) etc or a composition thereof), and an optional exception handler.\n * If buf-or-n is a number, will create and use a fixed buffer of that size. If a\n * transducer is supplied a buffer must be specified. ex-handler must be a\n * fn of one argument - if an exception occurs during transformation it will be called\n * with the thrown value as an argument, and any non-nil return value will be placed\n * in the channel.\n */\ncljs.core.async.chan \x3d (function cljs$core$async$chan(var_args){\nvar G__35129 \x3d arguments.length;\nswitch (G__35129) {\ncase 0:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (buf_or_n){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,null,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (buf_or_n,xform){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(buf_or_n,xform,null);\n}));\n\n(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (buf_or_n,xform,ex_handler){\nvar buf_or_n__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(buf_or_n,(0)))?null:buf_or_n);\nif(cljs.core.truth_(xform)){\nif(cljs.core.truth_(buf_or_n__$1)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22buffer must be supplied when transducer is\x22,\x22\\n\x22,\x22buf-or-n\x22].join(\x27\x27)));\n}\n} else {\n}\n\nreturn cljs.core.async.impl.channels.chan.cljs$core$IFn$_invoke$arity$3(((typeof buf_or_n__$1 \x3d\x3d\x3d \x27number\x27)?cljs.core.async.buffer(buf_or_n__$1):buf_or_n__$1),xform,ex_handler);\n}));\n\n(cljs.core.async.chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a promise channel with an optional transducer, and an optional\n * exception-handler. A promise channel can take exactly one value that consumers\n * will receive. Once full, puts complete but val is dropped (no transfer).\n * Consumers will block until either a value is placed in the channel or the\n * channel is closed, then return the value (or nil) forever. See chan for the\n * semantics of xform and ex-handler.\n */\ncljs.core.async.promise_chan \x3d (function cljs$core$async$promise_chan(var_args){\nvar G__35152 \x3d arguments.length;\nswitch (G__35152) {\ncase 0:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1(null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 \x3d (function (xform){\nreturn cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2(xform,null);\n}));\n\n(cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (xform,ex_handler){\nreturn cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3(cljs.core.async.impl.buffers.promise_buffer(),xform,ex_handler);\n}));\n\n(cljs.core.async.promise_chan.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel that will close after msecs\n */\ncljs.core.async.timeout \x3d (function cljs$core$async$timeout(msecs){\nreturn cljs.core.async.impl.timers.timeout(msecs);\n});\n/**\n * takes a val from port. Must be called inside a (go ...) block. Will\n * return nil if closed. Will park if nothing is available.\n * Returns true unless port is already closed\n */\ncljs.core.async._LT__BANG_ \x3d (function cljs$core$async$_LT__BANG_(port){\nthrow (new Error(\x22\x3c! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously takes a val from port, passing to fn1. Will pass nil\n * if closed. If on-caller? (default true) is true, and value is\n * immediately available, will call fn1 on calling thread.\n * Returns nil.\n */\ncljs.core.async.take_BANG_ \x3d (function cljs$core$async$take_BANG_(var_args){\nvar G__35173 \x3d arguments.length;\nswitch (G__35173) {\ncase 2:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,fn1){\nreturn cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3(port,fn1,true);\n}));\n\n(cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,fn1,on_caller_QMARK_){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(ret)){\nvar val_37434 \x3d cljs.core.deref(ret);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_37434) : fn1.call(null,val_37434));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(val_37434) : fn1.call(null,val_37434));\n}));\n}\n} else {\n}\n\nreturn null;\n}));\n\n(cljs.core.async.take_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.nop \x3d (function cljs$core$async$nop(_){\nreturn null;\n});\ncljs.core.async.fhnop \x3d cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(cljs.core.async.nop);\n/**\n * puts a val into port. nil values are not allowed. Must be called\n * inside a (go ...) block. Will park if no buffer space is available.\n * Returns true unless port is already closed.\n */\ncljs.core.async._GT__BANG_ \x3d (function cljs$core$async$_GT__BANG_(port,val){\nthrow (new Error(\x22\x3e! used not in (go ...) block\x22));\n});\n/**\n * Asynchronously puts a val into port, calling fn1 (if supplied) when\n * complete. nil values are not allowed. Will throw if closed. If\n * on-caller? (default true) is true, and the put is immediately\n * accepted, will call fn1 on calling thread. Returns nil.\n */\ncljs.core.async.put_BANG_ \x3d (function cljs$core$async$put_BANG_(var_args){\nvar G__35184 \x3d arguments.length;\nswitch (G__35184) {\ncase 2:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (port,val){\nvar temp__5821__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fhnop);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ret \x3d temp__5821__auto__;\nreturn cljs.core.deref(ret);\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (port,val,fn1){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4(port,val,fn1,true);\n}));\n\n(cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 \x3d (function (port,val,fn1,on_caller_QMARK_){\nvar temp__5821__auto__ \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1(fn1));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar retb \x3d temp__5821__auto__;\nvar ret \x3d cljs.core.deref(retb);\nif(cljs.core.truth_(on_caller_QMARK_)){\n(fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n} else {\ncljs.core.async.impl.dispatch.run((function (){\nreturn (fn1.cljs$core$IFn$_invoke$arity$1 ? fn1.cljs$core$IFn$_invoke$arity$1(ret) : fn1.call(null,ret));\n}));\n}\n\nreturn ret;\n} else {\nreturn true;\n}\n}));\n\n(cljs.core.async.put_BANG_.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.async.close_BANG_ \x3d (function cljs$core$async$close_BANG_(port){\nreturn cljs.core.async.impl.protocols.close_BANG_(port);\n});\ncljs.core.async.random_array \x3d (function cljs$core$async$random_array(n){\nvar a \x3d (new Array(n));\nvar n__5616__auto___37441 \x3d n;\nvar x_37442 \x3d (0);\nwhile(true){\nif((x_37442 \x3c n__5616__auto___37441)){\n(a[x_37442] \x3d x_37442);\n\nvar G__37443 \x3d (x_37442 + (1));\nx_37442 \x3d G__37443;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncljs.core.async.goog$module$goog$array.shuffle(a);\n\nreturn a;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35214 \x3d (function (flag,meta35215){\nthis.flag \x3d flag;\nthis.meta35215 \x3d meta35215;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35216,meta35215__$1){\nvar self__ \x3d this;\nvar _35216__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35214(self__.flag,meta35215__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35216){\nvar self__ \x3d this;\nvar _35216__$1 \x3d this;\nreturn self__.meta35215;\n}));\n\n(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.deref(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35214.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.flag,null);\n\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35214.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22meta35215\x22,\x22meta35215\x22,229705246,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35214.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35214.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35214\x22);\n\n(cljs.core.async.t_cljs$core$async35214.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35214\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35214.\n */\ncljs.core.async.__GT_t_cljs$core$async35214 \x3d (function cljs$core$async$__GT_t_cljs$core$async35214(flag,meta35215){\nreturn (new cljs.core.async.t_cljs$core$async35214(flag,meta35215));\n});\n\n\ncljs.core.async.alt_flag \x3d (function cljs$core$async$alt_flag(){\nvar flag \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nreturn (new cljs.core.async.t_cljs$core$async35214(flag,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35220 \x3d (function (flag,cb,meta35221){\nthis.flag \x3d flag;\nthis.cb \x3d cb;\nthis.meta35221 \x3d meta35221;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35222,meta35221__$1){\nvar self__ \x3d this;\nvar _35222__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35220(self__.flag,self__.cb,meta35221__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35222){\nvar self__ \x3d this;\nvar _35222__$1 \x3d this;\nreturn self__.meta35221;\n}));\n\n(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.flag);\n}));\n\n(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async35220.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.async.impl.protocols.commit(self__.flag);\n\nreturn self__.cb;\n}));\n\n(cljs.core.async.t_cljs$core$async35220.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22flag\x22,\x22flag\x22,-1565787888,null),new cljs.core.Symbol(null,\x22cb\x22,\x22cb\x22,-2064487928,null),new cljs.core.Symbol(null,\x22meta35221\x22,\x22meta35221\x22,1352133137,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35220.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35220.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35220\x22);\n\n(cljs.core.async.t_cljs$core$async35220.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35220\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35220.\n */\ncljs.core.async.__GT_t_cljs$core$async35220 \x3d (function cljs$core$async$__GT_t_cljs$core$async35220(flag,cb,meta35221){\nreturn (new cljs.core.async.t_cljs$core$async35220(flag,cb,meta35221));\n});\n\n\ncljs.core.async.alt_handler \x3d (function cljs$core$async$alt_handler(flag,cb){\nreturn (new cljs.core.async.t_cljs$core$async35220(flag,cb,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * returns derefable [val port] if immediate, nil if enqueued\n */\ncljs.core.async.do_alts \x3d (function cljs$core$async$do_alts(fret,ports,opts){\nif((cljs.core.count(ports) \x3e (0))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22alts must have at least one channel operation\x22,\x22\\n\x22,\x22(pos? (count ports))\x22].join(\x27\x27)));\n}\n\nvar flag \x3d cljs.core.async.alt_flag();\nvar ports__$1 \x3d cljs.core.vec(ports);\nvar n \x3d cljs.core.count(ports__$1);\nvar _ \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar port_37445 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports__$1,i);\nif(cljs.core.vector_QMARK_(port_37445)){\nif((!(((port_37445.cljs$core$IFn$_invoke$arity$1 ? port_37445.cljs$core$IFn$_invoke$arity$1((1)) : port_37445.call(null,(1))) \x3d\x3d null)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can\x27t put nil on channel\x22,\x22\\n\x22,\x22(some? (port 1))\x22].join(\x27\x27)));\n}\n} else {\n}\n\nvar G__37449 \x3d (i + (1));\ni \x3d G__37449;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar idxs \x3d cljs.core.async.random_array(n);\nvar priority \x3d new cljs.core.Keyword(null,\x22priority\x22,\x22priority\x22,1431093715).cljs$core$IFn$_invoke$arity$1(opts);\nvar ret \x3d (function (){var i \x3d (0);\nwhile(true){\nif((i \x3c n)){\nvar idx \x3d (cljs.core.truth_(priority)?i:(idxs[i]));\nvar port \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ports__$1,idx);\nvar wport \x3d ((cljs.core.vector_QMARK_(port))?(port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((0)) : port.call(null,(0))):null);\nvar vbox \x3d (cljs.core.truth_(wport)?(function (){var val \x3d (port.cljs$core$IFn$_invoke$arity$1 ? port.cljs$core$IFn$_invoke$arity$1((1)) : port.call(null,(1)));\nreturn cljs.core.async.impl.protocols.put_BANG_(wport,val,cljs.core.async.alt_handler(flag,((function (i,val,idx,port,wport,flag,ports__$1,n,_,idxs,priority){\nreturn (function (p1__35246_SHARP_){\nvar G__35250 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__35246_SHARP_,wport], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__35250) : fret.call(null,G__35250));\n});})(i,val,idx,port,wport,flag,ports__$1,n,_,idxs,priority))\n));\n})():cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.alt_handler(flag,((function (i,idx,port,wport,flag,ports__$1,n,_,idxs,priority){\nreturn (function (p1__35247_SHARP_){\nvar G__35251 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__35247_SHARP_,port], null);\nreturn (fret.cljs$core$IFn$_invoke$arity$1 ? fret.cljs$core$IFn$_invoke$arity$1(G__35251) : fret.call(null,G__35251));\n});})(i,idx,port,wport,flag,ports__$1,n,_,idxs,priority))\n)));\nif(cljs.core.truth_(vbox)){\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(vbox),(function (){var or__5025__auto__ \x3d wport;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn port;\n}\n})()], null));\n} else {\nvar G__37450 \x3d (i + (1));\ni \x3d G__37450;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n})();\nvar or__5025__auto__ \x3d ret;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))){\nvar temp__5823__auto__ \x3d (function (){var and__5023__auto__ \x3d flag.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1(null);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn flag.cljs$core$async$impl$protocols$Handler$commit$arity$1(null);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar got \x3d temp__5823__auto__;\nreturn cljs.core.async.impl.channels.box(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Completes at most one of several channel operations. Must be called\n * inside a (go ...) block. ports is a vector of channel endpoints,\n * which can be either a channel to take from or a vector of\n * [channel-to-put-to val-to-put], in any combination. Takes will be\n * made as if by \x3c!, and puts will be made as if by \x3e!. Unless\n * the :priority option is true, if more than one port operation is\n * ready a non-deterministic choice will be made. If no operation is\n * ready and a :default value is supplied, [default-val :default] will\n * be returned, otherwise alts! will park until the first operation to\n * become ready completes. Returns [val port] of the completed\n * operation, where val is the value taken for takes, and a\n * boolean (true unless already closed, as per put!) for puts.\n * \n * opts are passed as :key val ... Supported options:\n * \n * :default val - the value to use if none of the operations are immediately ready\n * :priority true - (default nil) when true, the operations will be tried in order.\n * \n * Note: there is no guarantee that the port exps or val exprs will be\n * used, nor in what order should they be, so they should not be\n * depended upon for side effects.\n */\ncljs.core.async.alts_BANG_ \x3d (function cljs$core$async$alts_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___37451 \x3d arguments.length;\nvar i__5750__auto___37452 \x3d (0);\nwhile(true){\nif((i__5750__auto___37452 \x3c len__5749__auto___37451)){\nargs__5755__auto__.push((arguments[i__5750__auto___37452]));\n\nvar G__37453 \x3d (i__5750__auto___37452 + (1));\ni__5750__auto___37452 \x3d G__37453;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ports,p__35278){\nvar map__35280 \x3d p__35278;\nvar map__35280__$1 \x3d cljs.core.__destructure_map(map__35280);\nvar opts \x3d map__35280__$1;\nthrow (new Error(\x22alts! used not in (go ...) block\x22));\n}));\n\n(cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.core.async.alts_BANG_.cljs$lang$applyTo \x3d (function (seq35263){\nvar G__35265 \x3d cljs.core.first(seq35263);\nvar seq35263__$1 \x3d cljs.core.next(seq35263);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__35265,seq35263__$1);\n}));\n\n/**\n * Puts a val into port if it\x27s possible to do so immediately.\n * nil values are not allowed. Never blocks. Returns true if offer succeeds.\n */\ncljs.core.async.offer_BANG_ \x3d (function cljs$core$async$offer_BANG_(port,val){\nvar ret \x3d cljs.core.async.impl.protocols.put_BANG_(port,val,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes a val from port if it\x27s possible to do so immediately.\n * Never blocks. Returns value if successful, nil otherwise.\n */\ncljs.core.async.poll_BANG_ \x3d (function cljs$core$async$poll_BANG_(port){\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(port,cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2(cljs.core.async.nop,false));\nif(cljs.core.truth_(ret)){\nreturn cljs.core.deref(ret);\n} else {\nreturn null;\n}\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes\n */\ncljs.core.async.pipe \x3d (function cljs$core$async$pipe(var_args){\nvar G__35286 \x3d arguments.length;\nswitch (G__35286) {\ncase 2:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 \x3d (function (from,to){\nreturn cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3(from,to,true);\n}));\n\n(cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,close_QMARK_){\nvar c__34994__auto___37462 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35391){\nvar state_val_35392 \x3d (state_35391[(1)]);\nif((state_val_35392 \x3d\x3d\x3d (7))){\nvar inst_35385 \x3d (state_35391[(2)]);\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35394_37466 \x3d state_35391__$1;\n(statearr_35394_37466[(2)] \x3d inst_35385);\n\n(statearr_35394_37466[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (1))){\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35395_37467 \x3d state_35391__$1;\n(statearr_35395_37467[(2)] \x3d null);\n\n(statearr_35395_37467[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (4))){\nvar inst_35355 \x3d (state_35391[(7)]);\nvar inst_35355__$1 \x3d (state_35391[(2)]);\nvar inst_35357 \x3d (inst_35355__$1 \x3d\x3d null);\nvar state_35391__$1 \x3d (function (){var statearr_35396 \x3d state_35391;\n(statearr_35396[(7)] \x3d inst_35355__$1);\n\nreturn statearr_35396;\n})();\nif(cljs.core.truth_(inst_35357)){\nvar statearr_35397_37468 \x3d state_35391__$1;\n(statearr_35397_37468[(1)] \x3d (5));\n\n} else {\nvar statearr_35398_37469 \x3d state_35391__$1;\n(statearr_35398_37469[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (13))){\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35399_37470 \x3d state_35391__$1;\n(statearr_35399_37470[(2)] \x3d null);\n\n(statearr_35399_37470[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (6))){\nvar inst_35355 \x3d (state_35391[(7)]);\nvar state_35391__$1 \x3d state_35391;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35391__$1,(11),to,inst_35355);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (3))){\nvar inst_35388 \x3d (state_35391[(2)]);\nvar state_35391__$1 \x3d state_35391;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35391__$1,inst_35388);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (12))){\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35401_37471 \x3d state_35391__$1;\n(statearr_35401_37471[(2)] \x3d null);\n\n(statearr_35401_37471[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (2))){\nvar state_35391__$1 \x3d state_35391;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35391__$1,(4),from);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (11))){\nvar inst_35378 \x3d (state_35391[(2)]);\nvar state_35391__$1 \x3d state_35391;\nif(cljs.core.truth_(inst_35378)){\nvar statearr_35402_37472 \x3d state_35391__$1;\n(statearr_35402_37472[(1)] \x3d (12));\n\n} else {\nvar statearr_35403_37473 \x3d state_35391__$1;\n(statearr_35403_37473[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (9))){\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35404_37474 \x3d state_35391__$1;\n(statearr_35404_37474[(2)] \x3d null);\n\n(statearr_35404_37474[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (5))){\nvar state_35391__$1 \x3d state_35391;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_35405_37475 \x3d state_35391__$1;\n(statearr_35405_37475[(1)] \x3d (8));\n\n} else {\nvar statearr_35406_37476 \x3d state_35391__$1;\n(statearr_35406_37476[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (14))){\nvar inst_35383 \x3d (state_35391[(2)]);\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35407_37477 \x3d state_35391__$1;\n(statearr_35407_37477[(2)] \x3d inst_35383);\n\n(statearr_35407_37477[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (10))){\nvar inst_35375 \x3d (state_35391[(2)]);\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35408_37478 \x3d state_35391__$1;\n(statearr_35408_37478[(2)] \x3d inst_35375);\n\n(statearr_35408_37478[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35392 \x3d\x3d\x3d (8))){\nvar inst_35368 \x3d cljs.core.async.close_BANG_(to);\nvar state_35391__$1 \x3d state_35391;\nvar statearr_35409_37479 \x3d state_35391__$1;\n(statearr_35409_37479[(2)] \x3d inst_35368);\n\n(statearr_35409_37479[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35411 \x3d [null,null,null,null,null,null,null,null];\n(statearr_35411[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_35411[(1)] \x3d (1));\n\nreturn statearr_35411;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_35391){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35391);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35412){var ex__34872__auto__ \x3d e35412;\nvar statearr_35413_37480 \x3d state_35391;\n(statearr_35413_37480[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35391[(4)]))){\nvar statearr_35414_37481 \x3d state_35391;\n(statearr_35414_37481[(1)] \x3d cljs.core.first((state_35391[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37482 \x3d state_35391;\nstate_35391 \x3d G__37482;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_35391){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_35391);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35415 \x3d f__34995__auto__();\n(statearr_35415[(6)] \x3d c__34994__auto___37462);\n\nreturn statearr_35415;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn to;\n}));\n\n(cljs.core.async.pipe.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.pipeline_STAR_ \x3d (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){\nif((n \x3e (0))){\n} else {\nthrow (new Error(\x22Assert failed: (pos? n)\x22));\n}\n\nvar jobs \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar results \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(n);\nvar process__$1 \x3d (function (p__35417){\nvar vec__35418 \x3d p__35417;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35418,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35418,(1),null);\nvar job \x3d vec__35418;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((1),xf,ex_handler);\nvar c__34994__auto___37487 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35425){\nvar state_val_35426 \x3d (state_35425[(1)]);\nif((state_val_35426 \x3d\x3d\x3d (1))){\nvar state_35425__$1 \x3d state_35425;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35425__$1,(2),res,v);\n} else {\nif((state_val_35426 \x3d\x3d\x3d (2))){\nvar inst_35422 \x3d (state_35425[(2)]);\nvar inst_35423 \x3d cljs.core.async.close_BANG_(res);\nvar state_35425__$1 \x3d (function (){var statearr_35427 \x3d state_35425;\n(statearr_35427[(7)] \x3d inst_35422);\n\nreturn statearr_35427;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35425__$1,inst_35423);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35428 \x3d [null,null,null,null,null,null,null,null];\n(statearr_35428[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);\n\n(statearr_35428[(1)] \x3d (1));\n\nreturn statearr_35428;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 \x3d (function (state_35425){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35425);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35429){var ex__34872__auto__ \x3d e35429;\nvar statearr_35430_37489 \x3d state_35425;\n(statearr_35430_37489[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35425[(4)]))){\nvar statearr_35432_37490 \x3d state_35425;\n(statearr_35432_37490[(1)] \x3d cljs.core.first((state_35425[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37491 \x3d state_35425;\nstate_35425 \x3d G__37491;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d function(state_35425){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35425);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35433 \x3d f__34995__auto__();\n(statearr_35433[(6)] \x3d c__34994__auto___37487);\n\nreturn statearr_35433;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar async \x3d (function (p__35434){\nvar vec__35435 \x3d p__35434;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35435,(0),null);\nvar p \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35435,(1),null);\nvar job \x3d vec__35435;\nif((job \x3d\x3d null)){\ncljs.core.async.close_BANG_(results);\n\nreturn null;\n} else {\nvar res \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\n(xf.cljs$core$IFn$_invoke$arity$2 ? xf.cljs$core$IFn$_invoke$arity$2(v,res) : xf.call(null,v,res));\n\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(p,res);\n\nreturn true;\n}\n});\nvar n__5616__auto___37492 \x3d n;\nvar __37493 \x3d (0);\nwhile(true){\nif((__37493 \x3c n__5616__auto___37492)){\nvar G__35438_37494 \x3d type;\nvar G__35438_37495__$1 \x3d (((G__35438_37494 instanceof cljs.core.Keyword))?G__35438_37494.fqn:null);\nswitch (G__35438_37495__$1) {\ncase \x22compute\x22:\nvar c__34994__auto___37497 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){\nreturn (function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d ((function (__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){\nreturn (function (state_35452){\nvar state_val_35453 \x3d (state_35452[(1)]);\nif((state_val_35453 \x3d\x3d\x3d (1))){\nvar state_35452__$1 \x3d state_35452;\nvar statearr_35454_37498 \x3d state_35452__$1;\n(statearr_35454_37498[(2)] \x3d null);\n\n(statearr_35454_37498[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35453 \x3d\x3d\x3d (2))){\nvar state_35452__$1 \x3d state_35452;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35452__$1,(4),jobs);\n} else {\nif((state_val_35453 \x3d\x3d\x3d (3))){\nvar inst_35450 \x3d (state_35452[(2)]);\nvar state_35452__$1 \x3d state_35452;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35452__$1,inst_35450);\n} else {\nif((state_val_35453 \x3d\x3d\x3d (4))){\nvar inst_35442 \x3d (state_35452[(2)]);\nvar inst_35443 \x3d process__$1(inst_35442);\nvar state_35452__$1 \x3d state_35452;\nif(cljs.core.truth_(inst_35443)){\nvar statearr_35455_37499 \x3d state_35452__$1;\n(statearr_35455_37499[(1)] \x3d (5));\n\n} else {\nvar statearr_35456_37500 \x3d state_35452__$1;\n(statearr_35456_37500[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35453 \x3d\x3d\x3d (5))){\nvar state_35452__$1 \x3d state_35452;\nvar statearr_35457_37501 \x3d state_35452__$1;\n(statearr_35457_37501[(2)] \x3d null);\n\n(statearr_35457_37501[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35453 \x3d\x3d\x3d (6))){\nvar state_35452__$1 \x3d state_35452;\nvar statearr_35458_37502 \x3d state_35452__$1;\n(statearr_35458_37502[(2)] \x3d null);\n\n(statearr_35458_37502[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35453 \x3d\x3d\x3d (7))){\nvar inst_35448 \x3d (state_35452[(2)]);\nvar state_35452__$1 \x3d state_35452;\nvar statearr_35459_37503 \x3d state_35452__$1;\n(statearr_35459_37503[(2)] \x3d inst_35448);\n\n(statearr_35459_37503[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))\n;\nreturn ((function (__37493,switch__34868__auto__,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35461 \x3d [null,null,null,null,null,null,null];\n(statearr_35461[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);\n\n(statearr_35461[(1)] \x3d (1));\n\nreturn statearr_35461;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 \x3d (function (state_35452){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35452);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35462){var ex__34872__auto__ \x3d e35462;\nvar statearr_35463_37504 \x3d state_35452;\n(statearr_35463_37504[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35452[(4)]))){\nvar statearr_35464_37505 \x3d state_35452;\n(statearr_35464_37505[(1)] \x3d cljs.core.first((state_35452[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37506 \x3d state_35452;\nstate_35452 \x3d G__37506;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d function(state_35452){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35452);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;\n})()\n;})(__37493,switch__34868__auto__,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35465 \x3d f__34995__auto__();\n(statearr_35465[(6)] \x3d c__34994__auto___37497);\n\nreturn statearr_35465;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n});})(__37493,c__34994__auto___37497,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))\n);\n\n\nbreak;\ncase \x22async\x22:\nvar c__34994__auto___37507 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run(((function (__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){\nreturn (function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d ((function (__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){\nreturn (function (state_35478){\nvar state_val_35479 \x3d (state_35478[(1)]);\nif((state_val_35479 \x3d\x3d\x3d (1))){\nvar state_35478__$1 \x3d state_35478;\nvar statearr_35481_37508 \x3d state_35478__$1;\n(statearr_35481_37508[(2)] \x3d null);\n\n(statearr_35481_37508[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35479 \x3d\x3d\x3d (2))){\nvar state_35478__$1 \x3d state_35478;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35478__$1,(4),jobs);\n} else {\nif((state_val_35479 \x3d\x3d\x3d (3))){\nvar inst_35476 \x3d (state_35478[(2)]);\nvar state_35478__$1 \x3d state_35478;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35478__$1,inst_35476);\n} else {\nif((state_val_35479 \x3d\x3d\x3d (4))){\nvar inst_35468 \x3d (state_35478[(2)]);\nvar inst_35469 \x3d async(inst_35468);\nvar state_35478__$1 \x3d state_35478;\nif(cljs.core.truth_(inst_35469)){\nvar statearr_35482_37509 \x3d state_35478__$1;\n(statearr_35482_37509[(1)] \x3d (5));\n\n} else {\nvar statearr_35483_37510 \x3d state_35478__$1;\n(statearr_35483_37510[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35479 \x3d\x3d\x3d (5))){\nvar state_35478__$1 \x3d state_35478;\nvar statearr_35484_37511 \x3d state_35478__$1;\n(statearr_35484_37511[(2)] \x3d null);\n\n(statearr_35484_37511[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35479 \x3d\x3d\x3d (6))){\nvar state_35478__$1 \x3d state_35478;\nvar statearr_35485_37512 \x3d state_35478__$1;\n(statearr_35485_37512[(2)] \x3d null);\n\n(statearr_35485_37512[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35479 \x3d\x3d\x3d (7))){\nvar inst_35474 \x3d (state_35478[(2)]);\nvar state_35478__$1 \x3d state_35478;\nvar statearr_35486_37513 \x3d state_35478__$1;\n(statearr_35486_37513[(2)] \x3d inst_35474);\n\n(statearr_35486_37513[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n});})(__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))\n;\nreturn ((function (__37493,switch__34868__auto__,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async){\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35487 \x3d [null,null,null,null,null,null,null];\n(statearr_35487[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);\n\n(statearr_35487[(1)] \x3d (1));\n\nreturn statearr_35487;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 \x3d (function (state_35478){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35478);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35488){var ex__34872__auto__ \x3d e35488;\nvar statearr_35489_37515 \x3d state_35478;\n(statearr_35489_37515[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35478[(4)]))){\nvar statearr_35490_37516 \x3d state_35478;\n(statearr_35490_37516[(1)] \x3d cljs.core.first((state_35478[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37517 \x3d state_35478;\nstate_35478 \x3d G__37517;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d function(state_35478){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35478);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;\n})()\n;})(__37493,switch__34868__auto__,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35492 \x3d f__34995__auto__();\n(statearr_35492[(6)] \x3d c__34994__auto___37507);\n\nreturn statearr_35492;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n});})(__37493,c__34994__auto___37507,G__35438_37494,G__35438_37495__$1,n__5616__auto___37492,jobs,results,process__$1,async))\n);\n\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__35438_37495__$1)].join(\x27\x27)));\n\n}\n\nvar G__37518 \x3d (__37493 + (1));\n__37493 \x3d G__37518;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar c__34994__auto___37519 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35514){\nvar state_val_35515 \x3d (state_35514[(1)]);\nif((state_val_35515 \x3d\x3d\x3d (7))){\nvar inst_35510 \x3d (state_35514[(2)]);\nvar state_35514__$1 \x3d state_35514;\nvar statearr_35517_37520 \x3d state_35514__$1;\n(statearr_35517_37520[(2)] \x3d inst_35510);\n\n(statearr_35517_37520[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (1))){\nvar state_35514__$1 \x3d state_35514;\nvar statearr_35518_37521 \x3d state_35514__$1;\n(statearr_35518_37521[(2)] \x3d null);\n\n(statearr_35518_37521[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (4))){\nvar inst_35495 \x3d (state_35514[(7)]);\nvar inst_35495__$1 \x3d (state_35514[(2)]);\nvar inst_35496 \x3d (inst_35495__$1 \x3d\x3d null);\nvar state_35514__$1 \x3d (function (){var statearr_35519 \x3d state_35514;\n(statearr_35519[(7)] \x3d inst_35495__$1);\n\nreturn statearr_35519;\n})();\nif(cljs.core.truth_(inst_35496)){\nvar statearr_35521_37522 \x3d state_35514__$1;\n(statearr_35521_37522[(1)] \x3d (5));\n\n} else {\nvar statearr_35522_37523 \x3d state_35514__$1;\n(statearr_35522_37523[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (6))){\nvar inst_35495 \x3d (state_35514[(7)]);\nvar inst_35500 \x3d (state_35514[(8)]);\nvar inst_35500__$1 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar inst_35501 \x3d cljs.core.PersistentVector.EMPTY_NODE;\nvar inst_35502 \x3d [inst_35495,inst_35500__$1];\nvar inst_35503 \x3d (new cljs.core.PersistentVector(null,2,(5),inst_35501,inst_35502,null));\nvar state_35514__$1 \x3d (function (){var statearr_35523 \x3d state_35514;\n(statearr_35523[(8)] \x3d inst_35500__$1);\n\nreturn statearr_35523;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35514__$1,(8),jobs,inst_35503);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (3))){\nvar inst_35512 \x3d (state_35514[(2)]);\nvar state_35514__$1 \x3d state_35514;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35514__$1,inst_35512);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (2))){\nvar state_35514__$1 \x3d state_35514;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35514__$1,(4),from);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (9))){\nvar inst_35507 \x3d (state_35514[(2)]);\nvar state_35514__$1 \x3d (function (){var statearr_35524 \x3d state_35514;\n(statearr_35524[(9)] \x3d inst_35507);\n\nreturn statearr_35524;\n})();\nvar statearr_35525_37525 \x3d state_35514__$1;\n(statearr_35525_37525[(2)] \x3d null);\n\n(statearr_35525_37525[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (5))){\nvar inst_35498 \x3d cljs.core.async.close_BANG_(jobs);\nvar state_35514__$1 \x3d state_35514;\nvar statearr_35526_37526 \x3d state_35514__$1;\n(statearr_35526_37526[(2)] \x3d inst_35498);\n\n(statearr_35526_37526[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35515 \x3d\x3d\x3d (8))){\nvar inst_35500 \x3d (state_35514[(8)]);\nvar inst_35505 \x3d (state_35514[(2)]);\nvar state_35514__$1 \x3d (function (){var statearr_35527 \x3d state_35514;\n(statearr_35527[(10)] \x3d inst_35505);\n\nreturn statearr_35527;\n})();\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35514__$1,(9),results,inst_35500);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35529 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_35529[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);\n\n(statearr_35529[(1)] \x3d (1));\n\nreturn statearr_35529;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 \x3d (function (state_35514){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35514);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35530){var ex__34872__auto__ \x3d e35530;\nvar statearr_35531_37528 \x3d state_35514;\n(statearr_35531_37528[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35514[(4)]))){\nvar statearr_35532_37529 \x3d state_35514;\n(statearr_35532_37529[(1)] \x3d cljs.core.first((state_35514[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37530 \x3d state_35514;\nstate_35514 \x3d G__37530;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d function(state_35514){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35514);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35533 \x3d f__34995__auto__();\n(statearr_35533[(6)] \x3d c__34994__auto___37519);\n\nreturn statearr_35533;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35572){\nvar state_val_35573 \x3d (state_35572[(1)]);\nif((state_val_35573 \x3d\x3d\x3d (7))){\nvar inst_35568 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35575_37531 \x3d state_35572__$1;\n(statearr_35575_37531[(2)] \x3d inst_35568);\n\n(statearr_35575_37531[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (20))){\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35576_37532 \x3d state_35572__$1;\n(statearr_35576_37532[(2)] \x3d null);\n\n(statearr_35576_37532[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (1))){\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35577_37533 \x3d state_35572__$1;\n(statearr_35577_37533[(2)] \x3d null);\n\n(statearr_35577_37533[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (4))){\nvar inst_35537 \x3d (state_35572[(7)]);\nvar inst_35537__$1 \x3d (state_35572[(2)]);\nvar inst_35538 \x3d (inst_35537__$1 \x3d\x3d null);\nvar state_35572__$1 \x3d (function (){var statearr_35578 \x3d state_35572;\n(statearr_35578[(7)] \x3d inst_35537__$1);\n\nreturn statearr_35578;\n})();\nif(cljs.core.truth_(inst_35538)){\nvar statearr_35579_37534 \x3d state_35572__$1;\n(statearr_35579_37534[(1)] \x3d (5));\n\n} else {\nvar statearr_35580_37535 \x3d state_35572__$1;\n(statearr_35580_37535[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (15))){\nvar inst_35550 \x3d (state_35572[(8)]);\nvar state_35572__$1 \x3d state_35572;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35572__$1,(18),to,inst_35550);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (21))){\nvar inst_35563 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35581_37536 \x3d state_35572__$1;\n(statearr_35581_37536[(2)] \x3d inst_35563);\n\n(statearr_35581_37536[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (13))){\nvar inst_35565 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d (function (){var statearr_35583 \x3d state_35572;\n(statearr_35583[(9)] \x3d inst_35565);\n\nreturn statearr_35583;\n})();\nvar statearr_35584_37537 \x3d state_35572__$1;\n(statearr_35584_37537[(2)] \x3d null);\n\n(statearr_35584_37537[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (6))){\nvar inst_35537 \x3d (state_35572[(7)]);\nvar state_35572__$1 \x3d state_35572;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35572__$1,(11),inst_35537);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (17))){\nvar inst_35558 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d state_35572;\nif(cljs.core.truth_(inst_35558)){\nvar statearr_35585_37538 \x3d state_35572__$1;\n(statearr_35585_37538[(1)] \x3d (19));\n\n} else {\nvar statearr_35586_37539 \x3d state_35572__$1;\n(statearr_35586_37539[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (3))){\nvar inst_35570 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d state_35572;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35572__$1,inst_35570);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (12))){\nvar inst_35547 \x3d (state_35572[(10)]);\nvar state_35572__$1 \x3d state_35572;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35572__$1,(14),inst_35547);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (2))){\nvar state_35572__$1 \x3d state_35572;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35572__$1,(4),results);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (19))){\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35587_37540 \x3d state_35572__$1;\n(statearr_35587_37540[(2)] \x3d null);\n\n(statearr_35587_37540[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (11))){\nvar inst_35547 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d (function (){var statearr_35588 \x3d state_35572;\n(statearr_35588[(10)] \x3d inst_35547);\n\nreturn statearr_35588;\n})();\nvar statearr_35589_37541 \x3d state_35572__$1;\n(statearr_35589_37541[(2)] \x3d null);\n\n(statearr_35589_37541[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (9))){\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35591_37542 \x3d state_35572__$1;\n(statearr_35591_37542[(2)] \x3d null);\n\n(statearr_35591_37542[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (5))){\nvar state_35572__$1 \x3d state_35572;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_35592_37543 \x3d state_35572__$1;\n(statearr_35592_37543[(1)] \x3d (8));\n\n} else {\nvar statearr_35593_37544 \x3d state_35572__$1;\n(statearr_35593_37544[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (14))){\nvar inst_35550 \x3d (state_35572[(8)]);\nvar inst_35552 \x3d (state_35572[(11)]);\nvar inst_35550__$1 \x3d (state_35572[(2)]);\nvar inst_35551 \x3d (inst_35550__$1 \x3d\x3d null);\nvar inst_35552__$1 \x3d cljs.core.not(inst_35551);\nvar state_35572__$1 \x3d (function (){var statearr_35594 \x3d state_35572;\n(statearr_35594[(8)] \x3d inst_35550__$1);\n\n(statearr_35594[(11)] \x3d inst_35552__$1);\n\nreturn statearr_35594;\n})();\nif(inst_35552__$1){\nvar statearr_35595_37545 \x3d state_35572__$1;\n(statearr_35595_37545[(1)] \x3d (15));\n\n} else {\nvar statearr_35596_37546 \x3d state_35572__$1;\n(statearr_35596_37546[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (16))){\nvar inst_35552 \x3d (state_35572[(11)]);\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35597_37547 \x3d state_35572__$1;\n(statearr_35597_37547[(2)] \x3d inst_35552);\n\n(statearr_35597_37547[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (10))){\nvar inst_35544 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35598_37549 \x3d state_35572__$1;\n(statearr_35598_37549[(2)] \x3d inst_35544);\n\n(statearr_35598_37549[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (18))){\nvar inst_35555 \x3d (state_35572[(2)]);\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35599_37550 \x3d state_35572__$1;\n(statearr_35599_37550[(2)] \x3d inst_35555);\n\n(statearr_35599_37550[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35573 \x3d\x3d\x3d (8))){\nvar inst_35541 \x3d cljs.core.async.close_BANG_(to);\nvar state_35572__$1 \x3d state_35572;\nvar statearr_35601_37551 \x3d state_35572__$1;\n(statearr_35601_37551[(2)] \x3d inst_35541);\n\n(statearr_35601_37551[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35602 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_35602[(0)] \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__);\n\n(statearr_35602[(1)] \x3d (1));\n\nreturn statearr_35602;\n});\nvar cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1 \x3d (function (state_35572){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35572);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35603){var ex__34872__auto__ \x3d e35603;\nvar statearr_35604_37553 \x3d state_35572;\n(statearr_35604_37553[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35572[(4)]))){\nvar statearr_35605_37554 \x3d state_35572;\n(statearr_35605_37554[(1)] \x3d cljs.core.first((state_35572[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37555 \x3d state_35572;\nstate_35572 \x3d G__37555;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__ \x3d function(state_35572){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1.call(this,state_35572);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____0;\ncljs$core$async$pipeline_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$pipeline_STAR__$_state_machine__34869__auto____1;\nreturn cljs$core$async$pipeline_STAR__$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35606 \x3d f__34995__auto__();\n(statearr_35606[(6)] \x3d c__34994__auto__);\n\nreturn statearr_35606;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n});\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the async function af, with parallelism n. af\n * must be a function of two arguments, the first an input value and\n * the second a channel on which to place the result(s). The\n * presumption is that af will return immediately, having launched some\n * asynchronous operation whose completion/callback will put results on\n * the channel, then close! it. Outputs will be returned in order\n * relative to the inputs. By default, the to channel will be closed\n * when the from channel closes, but can be determined by the close?\n * parameter. Will stop consuming the from channel if the to channel\n * closes. See also pipeline, pipeline-blocking.\n */\ncljs.core.async.pipeline_async \x3d (function cljs$core$async$pipeline_async(var_args){\nvar G__35609 \x3d arguments.length;\nswitch (G__35609) {\ncase 4:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,af,from){\nreturn cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5(n,to,af,from,true);\n}));\n\n(cljs.core.async.pipeline_async.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,af,from,close_QMARK_){\nreturn cljs.core.async.pipeline_STAR_(n,to,af,from,close_QMARK_,null,new cljs.core.Keyword(null,\x22async\x22,\x22async\x22,1050769601));\n}));\n\n(cljs.core.async.pipeline_async.cljs$lang$maxFixedArity \x3d 5);\n\n/**\n * Takes elements from the from channel and supplies them to the to\n * channel, subject to the transducer xf, with parallelism n. Because\n * it is parallel, the transducer will be applied independently to each\n * element, not across elements, and may produce zero or more outputs\n * per input. Outputs will be returned in order relative to the\n * inputs. By default, the to channel will be closed when the from\n * channel closes, but can be determined by the close? parameter. Will\n * stop consuming the from channel if the to channel closes.\n * \n * Note this is supplied for API compatibility with the Clojure version.\n * Values of N \x3e 1 will not result in actual concurrency in a\n * single-threaded runtime.\n */\ncljs.core.async.pipeline \x3d (function cljs$core$async$pipeline(var_args){\nvar G__35612 \x3d arguments.length;\nswitch (G__35612) {\ncase 4:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$4 \x3d (function (n,to,xf,from){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5(n,to,xf,from,true);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$5 \x3d (function (n,to,xf,from,close_QMARK_){\nreturn cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6(n,to,xf,from,close_QMARK_,null);\n}));\n\n(cljs.core.async.pipeline.cljs$core$IFn$_invoke$arity$6 \x3d (function (n,to,xf,from,close_QMARK_,ex_handler){\nreturn cljs.core.async.pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,new cljs.core.Keyword(null,\x22compute\x22,\x22compute\x22,1555393130));\n}));\n\n(cljs.core.async.pipeline.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Takes a predicate and a source channel and returns a vector of two\n * channels, the first of which will contain the values for which the\n * predicate returned true, the second those for which it returned\n * false.\n * \n * The out channels will be unbuffered by default, or two buf-or-ns can\n * be supplied. The channels will close after the source channel has\n * closed.\n */\ncljs.core.async.split \x3d (function cljs$core$async$split(var_args){\nvar G__35615 \x3d arguments.length;\nswitch (G__35615) {\ncase 2:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.split.cljs$core$IFn$_invoke$arity$4(p,ch,null,null);\n}));\n\n(cljs.core.async.split.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,ch,t_buf_or_n,f_buf_or_n){\nvar tc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(t_buf_or_n);\nvar fc \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(f_buf_or_n);\nvar c__34994__auto___37565 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35642){\nvar state_val_35643 \x3d (state_35642[(1)]);\nif((state_val_35643 \x3d\x3d\x3d (7))){\nvar inst_35638 \x3d (state_35642[(2)]);\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35644_37566 \x3d state_35642__$1;\n(statearr_35644_37566[(2)] \x3d inst_35638);\n\n(statearr_35644_37566[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (1))){\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35645_37567 \x3d state_35642__$1;\n(statearr_35645_37567[(2)] \x3d null);\n\n(statearr_35645_37567[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (4))){\nvar inst_35618 \x3d (state_35642[(7)]);\nvar inst_35618__$1 \x3d (state_35642[(2)]);\nvar inst_35619 \x3d (inst_35618__$1 \x3d\x3d null);\nvar state_35642__$1 \x3d (function (){var statearr_35646 \x3d state_35642;\n(statearr_35646[(7)] \x3d inst_35618__$1);\n\nreturn statearr_35646;\n})();\nif(cljs.core.truth_(inst_35619)){\nvar statearr_35647_37568 \x3d state_35642__$1;\n(statearr_35647_37568[(1)] \x3d (5));\n\n} else {\nvar statearr_35648_37569 \x3d state_35642__$1;\n(statearr_35648_37569[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (13))){\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35650_37570 \x3d state_35642__$1;\n(statearr_35650_37570[(2)] \x3d null);\n\n(statearr_35650_37570[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (6))){\nvar inst_35618 \x3d (state_35642[(7)]);\nvar inst_35624 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_35618) : p.call(null,inst_35618));\nvar state_35642__$1 \x3d state_35642;\nif(cljs.core.truth_(inst_35624)){\nvar statearr_35651_37574 \x3d state_35642__$1;\n(statearr_35651_37574[(1)] \x3d (9));\n\n} else {\nvar statearr_35652_37575 \x3d state_35642__$1;\n(statearr_35652_37575[(1)] \x3d (10));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (3))){\nvar inst_35640 \x3d (state_35642[(2)]);\nvar state_35642__$1 \x3d state_35642;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35642__$1,inst_35640);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (12))){\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35653_37576 \x3d state_35642__$1;\n(statearr_35653_37576[(2)] \x3d null);\n\n(statearr_35653_37576[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (2))){\nvar state_35642__$1 \x3d state_35642;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35642__$1,(4),ch);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (11))){\nvar inst_35618 \x3d (state_35642[(7)]);\nvar inst_35629 \x3d (state_35642[(2)]);\nvar state_35642__$1 \x3d state_35642;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35642__$1,(8),inst_35629,inst_35618);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (9))){\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35654_37578 \x3d state_35642__$1;\n(statearr_35654_37578[(2)] \x3d tc);\n\n(statearr_35654_37578[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (5))){\nvar inst_35621 \x3d cljs.core.async.close_BANG_(tc);\nvar inst_35622 \x3d cljs.core.async.close_BANG_(fc);\nvar state_35642__$1 \x3d (function (){var statearr_35655 \x3d state_35642;\n(statearr_35655[(8)] \x3d inst_35621);\n\nreturn statearr_35655;\n})();\nvar statearr_35656_37580 \x3d state_35642__$1;\n(statearr_35656_37580[(2)] \x3d inst_35622);\n\n(statearr_35656_37580[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (14))){\nvar inst_35636 \x3d (state_35642[(2)]);\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35658_37581 \x3d state_35642__$1;\n(statearr_35658_37581[(2)] \x3d inst_35636);\n\n(statearr_35658_37581[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (10))){\nvar state_35642__$1 \x3d state_35642;\nvar statearr_35659_37582 \x3d state_35642__$1;\n(statearr_35659_37582[(2)] \x3d fc);\n\n(statearr_35659_37582[(1)] \x3d (11));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35643 \x3d\x3d\x3d (8))){\nvar inst_35631 \x3d (state_35642[(2)]);\nvar state_35642__$1 \x3d state_35642;\nif(cljs.core.truth_(inst_35631)){\nvar statearr_35660_37583 \x3d state_35642__$1;\n(statearr_35660_37583[(1)] \x3d (12));\n\n} else {\nvar statearr_35661_37584 \x3d state_35642__$1;\n(statearr_35661_37584[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35662 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_35662[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_35662[(1)] \x3d (1));\n\nreturn statearr_35662;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_35642){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35642);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35663){var ex__34872__auto__ \x3d e35663;\nvar statearr_35664_37586 \x3d state_35642;\n(statearr_35664_37586[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35642[(4)]))){\nvar statearr_35665_37588 \x3d state_35642;\n(statearr_35665_37588[(1)] \x3d cljs.core.first((state_35642[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37589 \x3d state_35642;\nstate_35642 \x3d G__37589;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_35642){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_35642);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35666 \x3d f__34995__auto__();\n(statearr_35666[(6)] \x3d c__34994__auto___37565);\n\nreturn statearr_35666;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [tc,fc], null);\n}));\n\n(cljs.core.async.split.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * f should be a function of 2 arguments. Returns a channel containing\n * the single result of applying f to init and the first item from the\n * channel, then applying f to that result and the 2nd item, etc. If\n * the channel closes without yielding items, returns init and f is not\n * called. ch must close before reduce produces a result.\n */\ncljs.core.async.reduce \x3d (function cljs$core$async$reduce(f,init,ch){\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35689){\nvar state_val_35690 \x3d (state_35689[(1)]);\nif((state_val_35690 \x3d\x3d\x3d (7))){\nvar inst_35685 \x3d (state_35689[(2)]);\nvar state_35689__$1 \x3d state_35689;\nvar statearr_35692_37591 \x3d state_35689__$1;\n(statearr_35692_37591[(2)] \x3d inst_35685);\n\n(statearr_35692_37591[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (1))){\nvar inst_35668 \x3d init;\nvar inst_35669 \x3d inst_35668;\nvar state_35689__$1 \x3d (function (){var statearr_35693 \x3d state_35689;\n(statearr_35693[(7)] \x3d inst_35669);\n\nreturn statearr_35693;\n})();\nvar statearr_35694_37592 \x3d state_35689__$1;\n(statearr_35694_37592[(2)] \x3d null);\n\n(statearr_35694_37592[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (4))){\nvar inst_35672 \x3d (state_35689[(8)]);\nvar inst_35672__$1 \x3d (state_35689[(2)]);\nvar inst_35673 \x3d (inst_35672__$1 \x3d\x3d null);\nvar state_35689__$1 \x3d (function (){var statearr_35695 \x3d state_35689;\n(statearr_35695[(8)] \x3d inst_35672__$1);\n\nreturn statearr_35695;\n})();\nif(cljs.core.truth_(inst_35673)){\nvar statearr_35696_37593 \x3d state_35689__$1;\n(statearr_35696_37593[(1)] \x3d (5));\n\n} else {\nvar statearr_35697_37594 \x3d state_35689__$1;\n(statearr_35697_37594[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (6))){\nvar inst_35669 \x3d (state_35689[(7)]);\nvar inst_35672 \x3d (state_35689[(8)]);\nvar inst_35676 \x3d (state_35689[(9)]);\nvar inst_35676__$1 \x3d (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(inst_35669,inst_35672) : f.call(null,inst_35669,inst_35672));\nvar inst_35677 \x3d cljs.core.reduced_QMARK_(inst_35676__$1);\nvar state_35689__$1 \x3d (function (){var statearr_35698 \x3d state_35689;\n(statearr_35698[(9)] \x3d inst_35676__$1);\n\nreturn statearr_35698;\n})();\nif(inst_35677){\nvar statearr_35699_37595 \x3d state_35689__$1;\n(statearr_35699_37595[(1)] \x3d (8));\n\n} else {\nvar statearr_35700_37596 \x3d state_35689__$1;\n(statearr_35700_37596[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (3))){\nvar inst_35687 \x3d (state_35689[(2)]);\nvar state_35689__$1 \x3d state_35689;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35689__$1,inst_35687);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (2))){\nvar state_35689__$1 \x3d state_35689;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35689__$1,(4),ch);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (9))){\nvar inst_35676 \x3d (state_35689[(9)]);\nvar inst_35669 \x3d inst_35676;\nvar state_35689__$1 \x3d (function (){var statearr_35702 \x3d state_35689;\n(statearr_35702[(7)] \x3d inst_35669);\n\nreturn statearr_35702;\n})();\nvar statearr_35703_37597 \x3d state_35689__$1;\n(statearr_35703_37597[(2)] \x3d null);\n\n(statearr_35703_37597[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (5))){\nvar inst_35669 \x3d (state_35689[(7)]);\nvar state_35689__$1 \x3d state_35689;\nvar statearr_35704_37598 \x3d state_35689__$1;\n(statearr_35704_37598[(2)] \x3d inst_35669);\n\n(statearr_35704_37598[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (10))){\nvar inst_35683 \x3d (state_35689[(2)]);\nvar state_35689__$1 \x3d state_35689;\nvar statearr_35705_37599 \x3d state_35689__$1;\n(statearr_35705_37599[(2)] \x3d inst_35683);\n\n(statearr_35705_37599[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35690 \x3d\x3d\x3d (8))){\nvar inst_35676 \x3d (state_35689[(9)]);\nvar inst_35679 \x3d cljs.core.deref(inst_35676);\nvar state_35689__$1 \x3d state_35689;\nvar statearr_35706_37600 \x3d state_35689__$1;\n(statearr_35706_37600[(2)] \x3d inst_35679);\n\n(statearr_35706_37600[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$reduce_$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$reduce_$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35707 \x3d [null,null,null,null,null,null,null,null,null,null];\n(statearr_35707[(0)] \x3d cljs$core$async$reduce_$_state_machine__34869__auto__);\n\n(statearr_35707[(1)] \x3d (1));\n\nreturn statearr_35707;\n});\nvar cljs$core$async$reduce_$_state_machine__34869__auto____1 \x3d (function (state_35689){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35689);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35709){var ex__34872__auto__ \x3d e35709;\nvar statearr_35710_37601 \x3d state_35689;\n(statearr_35710_37601[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35689[(4)]))){\nvar statearr_35711_37602 \x3d state_35689;\n(statearr_35711_37602[(1)] \x3d cljs.core.first((state_35689[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37603 \x3d state_35689;\nstate_35689 \x3d G__37603;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$reduce_$_state_machine__34869__auto__ \x3d function(state_35689){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$reduce_$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$reduce_$_state_machine__34869__auto____1.call(this,state_35689);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$reduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$reduce_$_state_machine__34869__auto____0;\ncljs$core$async$reduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$reduce_$_state_machine__34869__auto____1;\nreturn cljs$core$async$reduce_$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35712 \x3d f__34995__auto__();\n(statearr_35712[(6)] \x3d c__34994__auto__);\n\nreturn statearr_35712;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n});\n/**\n * async/reduces a channel with a transformation (xform f).\n * Returns a channel containing the result. ch must close before\n * transduce produces a result.\n */\ncljs.core.async.transduce \x3d (function cljs$core$async$transduce(xform,f,init,ch){\nvar f__$1 \x3d (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35719){\nvar state_val_35720 \x3d (state_35719[(1)]);\nif((state_val_35720 \x3d\x3d\x3d (1))){\nvar inst_35714 \x3d cljs.core.async.reduce(f__$1,init,ch);\nvar state_35719__$1 \x3d state_35719;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35719__$1,(2),inst_35714);\n} else {\nif((state_val_35720 \x3d\x3d\x3d (2))){\nvar inst_35716 \x3d (state_35719[(2)]);\nvar inst_35717 \x3d (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(inst_35716) : f__$1.call(null,inst_35716));\nvar state_35719__$1 \x3d state_35719;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35719__$1,inst_35717);\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$transduce_$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$transduce_$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35721 \x3d [null,null,null,null,null,null,null];\n(statearr_35721[(0)] \x3d cljs$core$async$transduce_$_state_machine__34869__auto__);\n\n(statearr_35721[(1)] \x3d (1));\n\nreturn statearr_35721;\n});\nvar cljs$core$async$transduce_$_state_machine__34869__auto____1 \x3d (function (state_35719){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35719);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35722){var ex__34872__auto__ \x3d e35722;\nvar statearr_35723_37605 \x3d state_35719;\n(statearr_35723_37605[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35719[(4)]))){\nvar statearr_35724_37606 \x3d state_35719;\n(statearr_35724_37606[(1)] \x3d cljs.core.first((state_35719[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37607 \x3d state_35719;\nstate_35719 \x3d G__37607;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$transduce_$_state_machine__34869__auto__ \x3d function(state_35719){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$transduce_$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$transduce_$_state_machine__34869__auto____1.call(this,state_35719);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$transduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$transduce_$_state_machine__34869__auto____0;\ncljs$core$async$transduce_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$transduce_$_state_machine__34869__auto____1;\nreturn cljs$core$async$transduce_$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35726 \x3d f__34995__auto__();\n(statearr_35726[(6)] \x3d c__34994__auto__);\n\nreturn statearr_35726;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n});\n/**\n * Puts the contents of coll into the supplied channel.\n * \n * By default the channel will be closed after the items are copied,\n * but can be determined by the close? parameter.\n * \n * Returns a channel which will close after the items are copied.\n */\ncljs.core.async.onto_chan_BANG_ \x3d (function cljs$core$async$onto_chan_BANG_(var_args){\nvar G__35728 \x3d arguments.length;\nswitch (G__35728) {\ncase 2:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35754){\nvar state_val_35755 \x3d (state_35754[(1)]);\nif((state_val_35755 \x3d\x3d\x3d (7))){\nvar inst_35736 \x3d (state_35754[(2)]);\nvar state_35754__$1 \x3d state_35754;\nvar statearr_35756_37612 \x3d state_35754__$1;\n(statearr_35756_37612[(2)] \x3d inst_35736);\n\n(statearr_35756_37612[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (1))){\nvar inst_35729 \x3d cljs.core.seq(coll);\nvar inst_35730 \x3d inst_35729;\nvar state_35754__$1 \x3d (function (){var statearr_35758 \x3d state_35754;\n(statearr_35758[(7)] \x3d inst_35730);\n\nreturn statearr_35758;\n})();\nvar statearr_35760_37613 \x3d state_35754__$1;\n(statearr_35760_37613[(2)] \x3d null);\n\n(statearr_35760_37613[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (4))){\nvar inst_35730 \x3d (state_35754[(7)]);\nvar inst_35734 \x3d cljs.core.first(inst_35730);\nvar state_35754__$1 \x3d state_35754;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_35754__$1,(7),ch,inst_35734);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (13))){\nvar inst_35748 \x3d (state_35754[(2)]);\nvar state_35754__$1 \x3d state_35754;\nvar statearr_35761_37614 \x3d state_35754__$1;\n(statearr_35761_37614[(2)] \x3d inst_35748);\n\n(statearr_35761_37614[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (6))){\nvar inst_35739 \x3d (state_35754[(2)]);\nvar state_35754__$1 \x3d state_35754;\nif(cljs.core.truth_(inst_35739)){\nvar statearr_35762_37615 \x3d state_35754__$1;\n(statearr_35762_37615[(1)] \x3d (8));\n\n} else {\nvar statearr_35763_37616 \x3d state_35754__$1;\n(statearr_35763_37616[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (3))){\nvar inst_35752 \x3d (state_35754[(2)]);\nvar state_35754__$1 \x3d state_35754;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35754__$1,inst_35752);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (12))){\nvar state_35754__$1 \x3d state_35754;\nvar statearr_35764_37621 \x3d state_35754__$1;\n(statearr_35764_37621[(2)] \x3d null);\n\n(statearr_35764_37621[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (2))){\nvar inst_35730 \x3d (state_35754[(7)]);\nvar state_35754__$1 \x3d state_35754;\nif(cljs.core.truth_(inst_35730)){\nvar statearr_35765_37622 \x3d state_35754__$1;\n(statearr_35765_37622[(1)] \x3d (4));\n\n} else {\nvar statearr_35766_37623 \x3d state_35754__$1;\n(statearr_35766_37623[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (11))){\nvar inst_35745 \x3d cljs.core.async.close_BANG_(ch);\nvar state_35754__$1 \x3d state_35754;\nvar statearr_35767_37624 \x3d state_35754__$1;\n(statearr_35767_37624[(2)] \x3d inst_35745);\n\n(statearr_35767_37624[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (9))){\nvar state_35754__$1 \x3d state_35754;\nif(cljs.core.truth_(close_QMARK_)){\nvar statearr_35768_37629 \x3d state_35754__$1;\n(statearr_35768_37629[(1)] \x3d (11));\n\n} else {\nvar statearr_35769_37630 \x3d state_35754__$1;\n(statearr_35769_37630[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (5))){\nvar inst_35730 \x3d (state_35754[(7)]);\nvar state_35754__$1 \x3d state_35754;\nvar statearr_35772_37631 \x3d state_35754__$1;\n(statearr_35772_37631[(2)] \x3d inst_35730);\n\n(statearr_35772_37631[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (10))){\nvar inst_35750 \x3d (state_35754[(2)]);\nvar state_35754__$1 \x3d state_35754;\nvar statearr_35773_37632 \x3d state_35754__$1;\n(statearr_35773_37632[(2)] \x3d inst_35750);\n\n(statearr_35773_37632[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35755 \x3d\x3d\x3d (8))){\nvar inst_35730 \x3d (state_35754[(7)]);\nvar inst_35741 \x3d cljs.core.next(inst_35730);\nvar inst_35730__$1 \x3d inst_35741;\nvar state_35754__$1 \x3d (function (){var statearr_35774 \x3d state_35754;\n(statearr_35774[(7)] \x3d inst_35730__$1);\n\nreturn statearr_35774;\n})();\nvar statearr_35775_37637 \x3d state_35754__$1;\n(statearr_35775_37637[(2)] \x3d null);\n\n(statearr_35775_37637[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_35776 \x3d [null,null,null,null,null,null,null,null];\n(statearr_35776[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_35776[(1)] \x3d (1));\n\nreturn statearr_35776;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_35754){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35754);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e35777){var ex__34872__auto__ \x3d e35777;\nvar statearr_35778_37638 \x3d state_35754;\n(statearr_35778_37638[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35754[(4)]))){\nvar statearr_35779_37639 \x3d state_35754;\n(statearr_35779_37639[(1)] \x3d cljs.core.first((state_35754[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37640 \x3d state_35754;\nstate_35754 \x3d G__37640;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_35754){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_35754);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_35780 \x3d f__34995__auto__();\n(statearr_35780[(6)] \x3d c__34994__auto__);\n\nreturn statearr_35780;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n}));\n\n(cljs.core.async.onto_chan_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates and returns a channel which contains the contents of coll,\n * closing when exhausted.\n */\ncljs.core.async.to_chan_BANG_ \x3d (function cljs$core$async$to_chan_BANG_(coll){\nvar ch \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.bounded_count((100),coll));\ncljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$2(ch,coll);\n\nreturn ch;\n});\n/**\n * Deprecated - use onto-chan!\n */\ncljs.core.async.onto_chan \x3d (function cljs$core$async$onto_chan(var_args){\nvar G__35784 \x3d arguments.length;\nswitch (G__35784) {\ncase 2:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,coll){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,true);\n}));\n\n(cljs.core.async.onto_chan.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,coll,close_QMARK_){\nreturn cljs.core.async.onto_chan_BANG_.cljs$core$IFn$_invoke$arity$3(ch,coll,close_QMARK_);\n}));\n\n(cljs.core.async.onto_chan.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - use to-chan!\n */\ncljs.core.async.to_chan \x3d (function cljs$core$async$to_chan(coll){\nreturn cljs.core.async.to_chan_BANG_(coll);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mux \x3d function(){};\n\nvar cljs$core$async$Mux$muxch_STAR_$dyn_37642 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (cljs.core.async.muxch_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.muxch_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mux.muxch*\x22,_);\n}\n}\n});\ncljs.core.async.muxch_STAR_ \x3d (function cljs$core$async$muxch_STAR_(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$core$async$Mux$muxch_STAR_$arity$1(_);\n} else {\nreturn cljs$core$async$Mux$muxch_STAR_$dyn_37642(_);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.core.async.Mult \x3d function(){};\n\nvar cljs$core$async$Mult$tap_STAR_$dyn_37643 \x3d (function (m,ch,close_QMARK_){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.tap_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5374__auto__.call(null,m,ch,close_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.tap_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(m,ch,close_QMARK_) : m__5372__auto__.call(null,m,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.tap*\x22,m);\n}\n}\n});\ncljs.core.async.tap_STAR_ \x3d (function cljs$core$async$tap_STAR_(m,ch,close_QMARK_){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$tap_STAR_$arity$3(m,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Mult$tap_STAR_$dyn_37643(m,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Mult$untap_STAR_$dyn_37644 \x3d (function (m,ch){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.untap_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.untap_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap*\x22,m);\n}\n}\n});\ncljs.core.async.untap_STAR_ \x3d (function cljs$core$async$untap_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mult$untap_STAR_$dyn_37644(m,ch);\n}\n});\n\nvar cljs$core$async$Mult$untap_all_STAR_$dyn_37645 \x3d (function (m){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.untap_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5374__auto__.call(null,m));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.untap_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5372__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mult.untap-all*\x22,m);\n}\n}\n});\ncljs.core.async.untap_all_STAR_ \x3d (function cljs$core$async$untap_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mult$untap_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mult$untap_all_STAR_$dyn_37645(m);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Mult}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async35798 \x3d (function (ch,cs,meta35799){\nthis.ch \x3d ch;\nthis.cs \x3d cs;\nthis.meta35799 \x3d meta35799;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35800,meta35799__$1){\nvar self__ \x3d this;\nvar _35800__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async35798(self__.ch,self__.cs,meta35799__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35800){\nvar self__ \x3d this;\nvar _35800__$1 \x3d this;\nreturn self__.meta35799;\n}));\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mult$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mult$tap_STAR_$arity$3 \x3d (function (_,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch__$1,close_QMARK_);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mult$untap_STAR_$arity$2 \x3d (function (_,ch__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch__$1);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async35798.prototype.cljs$core$async$Mult$untap_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn null;\n}));\n\n(cljs.core.async.t_cljs$core$async35798.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22meta35799\x22,\x22meta35799\x22,-1779080314,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async35798.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async35798.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async35798\x22);\n\n(cljs.core.async.t_cljs$core$async35798.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async35798\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async35798.\n */\ncljs.core.async.__GT_t_cljs$core$async35798 \x3d (function cljs$core$async$__GT_t_cljs$core$async35798(ch,cs,meta35799){\nreturn (new cljs.core.async.t_cljs$core$async35798(ch,cs,meta35799));\n});\n\n\n/**\n * Creates and returns a mult(iple) of the supplied channel. Channels\n * containing copies of the channel can be created with \x27tap\x27, and\n * detached with \x27untap\x27.\n * \n * Each item is distributed to all taps in parallel and synchronously,\n * i.e. each tap must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow taps from holding up the mult.\n * \n * Items received when there are no taps get dropped.\n * \n * If a tap puts to a closed channel, it will be removed from the mult.\n */\ncljs.core.async.mult \x3d (function cljs$core$async$mult(ch){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar m \x3d (new cljs.core.async.t_cljs$core$async35798(ch,cs,cljs.core.PersistentArrayMap.EMPTY));\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d (function (_){\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,true);\n} else {\nreturn null;\n}\n});\nvar c__34994__auto___37652 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_35969){\nvar state_val_35970 \x3d (state_35969[(1)]);\nif((state_val_35970 \x3d\x3d\x3d (7))){\nvar inst_35961 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_35975_37653 \x3d state_35969__$1;\n(statearr_35975_37653[(2)] \x3d inst_35961);\n\n(statearr_35975_37653[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (20))){\nvar inst_35851 \x3d (state_35969[(7)]);\nvar inst_35867 \x3d cljs.core.first(inst_35851);\nvar inst_35868 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35867,(0),null);\nvar inst_35869 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35867,(1),null);\nvar state_35969__$1 \x3d (function (){var statearr_35977 \x3d state_35969;\n(statearr_35977[(8)] \x3d inst_35868);\n\nreturn statearr_35977;\n})();\nif(cljs.core.truth_(inst_35869)){\nvar statearr_35980_37654 \x3d state_35969__$1;\n(statearr_35980_37654[(1)] \x3d (22));\n\n} else {\nvar statearr_35982_37655 \x3d state_35969__$1;\n(statearr_35982_37655[(1)] \x3d (23));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (27))){\nvar inst_35901 \x3d (state_35969[(9)]);\nvar inst_35903 \x3d (state_35969[(10)]);\nvar inst_35908 \x3d (state_35969[(11)]);\nvar inst_35816 \x3d (state_35969[(12)]);\nvar inst_35908__$1 \x3d cljs.core._nth(inst_35901,inst_35903);\nvar inst_35909 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_35908__$1,inst_35816,done);\nvar state_35969__$1 \x3d (function (){var statearr_35984 \x3d state_35969;\n(statearr_35984[(11)] \x3d inst_35908__$1);\n\nreturn statearr_35984;\n})();\nif(cljs.core.truth_(inst_35909)){\nvar statearr_35985_37656 \x3d state_35969__$1;\n(statearr_35985_37656[(1)] \x3d (30));\n\n} else {\nvar statearr_35987_37657 \x3d state_35969__$1;\n(statearr_35987_37657[(1)] \x3d (31));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (1))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_35990_37658 \x3d state_35969__$1;\n(statearr_35990_37658[(2)] \x3d null);\n\n(statearr_35990_37658[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (24))){\nvar inst_35851 \x3d (state_35969[(7)]);\nvar inst_35877 \x3d (state_35969[(2)]);\nvar inst_35878 \x3d cljs.core.next(inst_35851);\nvar inst_35826 \x3d inst_35878;\nvar inst_35827 \x3d null;\nvar inst_35828 \x3d (0);\nvar inst_35830 \x3d (0);\nvar state_35969__$1 \x3d (function (){var statearr_35991 \x3d state_35969;\n(statearr_35991[(13)] \x3d inst_35877);\n\n(statearr_35991[(14)] \x3d inst_35826);\n\n(statearr_35991[(15)] \x3d inst_35827);\n\n(statearr_35991[(16)] \x3d inst_35828);\n\n(statearr_35991[(17)] \x3d inst_35830);\n\nreturn statearr_35991;\n})();\nvar statearr_35993_37659 \x3d state_35969__$1;\n(statearr_35993_37659[(2)] \x3d null);\n\n(statearr_35993_37659[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (39))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36000_37660 \x3d state_35969__$1;\n(statearr_36000_37660[(2)] \x3d null);\n\n(statearr_36000_37660[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (4))){\nvar inst_35816 \x3d (state_35969[(12)]);\nvar inst_35816__$1 \x3d (state_35969[(2)]);\nvar inst_35817 \x3d (inst_35816__$1 \x3d\x3d null);\nvar state_35969__$1 \x3d (function (){var statearr_36002 \x3d state_35969;\n(statearr_36002[(12)] \x3d inst_35816__$1);\n\nreturn statearr_36002;\n})();\nif(cljs.core.truth_(inst_35817)){\nvar statearr_36003_37661 \x3d state_35969__$1;\n(statearr_36003_37661[(1)] \x3d (5));\n\n} else {\nvar statearr_36004_37662 \x3d state_35969__$1;\n(statearr_36004_37662[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (15))){\nvar inst_35830 \x3d (state_35969[(17)]);\nvar inst_35826 \x3d (state_35969[(14)]);\nvar inst_35827 \x3d (state_35969[(15)]);\nvar inst_35828 \x3d (state_35969[(16)]);\nvar inst_35846 \x3d (state_35969[(2)]);\nvar inst_35848 \x3d (inst_35830 + (1));\nvar tmp35996 \x3d inst_35826;\nvar tmp35997 \x3d inst_35828;\nvar tmp35998 \x3d inst_35827;\nvar inst_35826__$1 \x3d tmp35996;\nvar inst_35827__$1 \x3d tmp35998;\nvar inst_35828__$1 \x3d tmp35997;\nvar inst_35830__$1 \x3d inst_35848;\nvar state_35969__$1 \x3d (function (){var statearr_36008 \x3d state_35969;\n(statearr_36008[(18)] \x3d inst_35846);\n\n(statearr_36008[(14)] \x3d inst_35826__$1);\n\n(statearr_36008[(15)] \x3d inst_35827__$1);\n\n(statearr_36008[(16)] \x3d inst_35828__$1);\n\n(statearr_36008[(17)] \x3d inst_35830__$1);\n\nreturn statearr_36008;\n})();\nvar statearr_36010_37666 \x3d state_35969__$1;\n(statearr_36010_37666[(2)] \x3d null);\n\n(statearr_36010_37666[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (21))){\nvar inst_35881 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36014_37667 \x3d state_35969__$1;\n(statearr_36014_37667[(2)] \x3d inst_35881);\n\n(statearr_36014_37667[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (31))){\nvar inst_35908 \x3d (state_35969[(11)]);\nvar inst_35914 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_35908);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36016_37668 \x3d state_35969__$1;\n(statearr_36016_37668[(2)] \x3d inst_35914);\n\n(statearr_36016_37668[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (32))){\nvar inst_35903 \x3d (state_35969[(10)]);\nvar inst_35900 \x3d (state_35969[(19)]);\nvar inst_35901 \x3d (state_35969[(9)]);\nvar inst_35902 \x3d (state_35969[(20)]);\nvar inst_35916 \x3d (state_35969[(2)]);\nvar inst_35918 \x3d (inst_35903 + (1));\nvar tmp36011 \x3d inst_35901;\nvar tmp36012 \x3d inst_35900;\nvar tmp36013 \x3d inst_35902;\nvar inst_35900__$1 \x3d tmp36012;\nvar inst_35901__$1 \x3d tmp36011;\nvar inst_35902__$1 \x3d tmp36013;\nvar inst_35903__$1 \x3d inst_35918;\nvar state_35969__$1 \x3d (function (){var statearr_36017 \x3d state_35969;\n(statearr_36017[(21)] \x3d inst_35916);\n\n(statearr_36017[(19)] \x3d inst_35900__$1);\n\n(statearr_36017[(9)] \x3d inst_35901__$1);\n\n(statearr_36017[(20)] \x3d inst_35902__$1);\n\n(statearr_36017[(10)] \x3d inst_35903__$1);\n\nreturn statearr_36017;\n})();\nvar statearr_36021_37669 \x3d state_35969__$1;\n(statearr_36021_37669[(2)] \x3d null);\n\n(statearr_36021_37669[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (40))){\nvar inst_35933 \x3d (state_35969[(22)]);\nvar inst_35938 \x3d m.cljs$core$async$Mult$untap_STAR_$arity$2(null,inst_35933);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36024_37670 \x3d state_35969__$1;\n(statearr_36024_37670[(2)] \x3d inst_35938);\n\n(statearr_36024_37670[(1)] \x3d (41));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (33))){\nvar inst_35921 \x3d (state_35969[(23)]);\nvar inst_35923 \x3d cljs.core.chunked_seq_QMARK_(inst_35921);\nvar state_35969__$1 \x3d state_35969;\nif(inst_35923){\nvar statearr_36029_37671 \x3d state_35969__$1;\n(statearr_36029_37671[(1)] \x3d (36));\n\n} else {\nvar statearr_36030_37672 \x3d state_35969__$1;\n(statearr_36030_37672[(1)] \x3d (37));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (13))){\nvar inst_35840 \x3d (state_35969[(24)]);\nvar inst_35843 \x3d cljs.core.async.close_BANG_(inst_35840);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36035_37673 \x3d state_35969__$1;\n(statearr_36035_37673[(2)] \x3d inst_35843);\n\n(statearr_36035_37673[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (22))){\nvar inst_35868 \x3d (state_35969[(8)]);\nvar inst_35874 \x3d cljs.core.async.close_BANG_(inst_35868);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36039_37674 \x3d state_35969__$1;\n(statearr_36039_37674[(2)] \x3d inst_35874);\n\n(statearr_36039_37674[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (36))){\nvar inst_35921 \x3d (state_35969[(23)]);\nvar inst_35926 \x3d cljs.core.chunk_first(inst_35921);\nvar inst_35927 \x3d cljs.core.chunk_rest(inst_35921);\nvar inst_35928 \x3d cljs.core.count(inst_35926);\nvar inst_35900 \x3d inst_35927;\nvar inst_35901 \x3d inst_35926;\nvar inst_35902 \x3d inst_35928;\nvar inst_35903 \x3d (0);\nvar state_35969__$1 \x3d (function (){var statearr_36042 \x3d state_35969;\n(statearr_36042[(19)] \x3d inst_35900);\n\n(statearr_36042[(9)] \x3d inst_35901);\n\n(statearr_36042[(20)] \x3d inst_35902);\n\n(statearr_36042[(10)] \x3d inst_35903);\n\nreturn statearr_36042;\n})();\nvar statearr_36043_37675 \x3d state_35969__$1;\n(statearr_36043_37675[(2)] \x3d null);\n\n(statearr_36043_37675[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (41))){\nvar inst_35921 \x3d (state_35969[(23)]);\nvar inst_35940 \x3d (state_35969[(2)]);\nvar inst_35941 \x3d cljs.core.next(inst_35921);\nvar inst_35900 \x3d inst_35941;\nvar inst_35901 \x3d null;\nvar inst_35902 \x3d (0);\nvar inst_35903 \x3d (0);\nvar state_35969__$1 \x3d (function (){var statearr_36047 \x3d state_35969;\n(statearr_36047[(25)] \x3d inst_35940);\n\n(statearr_36047[(19)] \x3d inst_35900);\n\n(statearr_36047[(9)] \x3d inst_35901);\n\n(statearr_36047[(20)] \x3d inst_35902);\n\n(statearr_36047[(10)] \x3d inst_35903);\n\nreturn statearr_36047;\n})();\nvar statearr_36049_37676 \x3d state_35969__$1;\n(statearr_36049_37676[(2)] \x3d null);\n\n(statearr_36049_37676[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (43))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36050_37677 \x3d state_35969__$1;\n(statearr_36050_37677[(2)] \x3d null);\n\n(statearr_36050_37677[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (29))){\nvar inst_35949 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36054_37678 \x3d state_35969__$1;\n(statearr_36054_37678[(2)] \x3d inst_35949);\n\n(statearr_36054_37678[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (44))){\nvar inst_35958 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d (function (){var statearr_36056 \x3d state_35969;\n(statearr_36056[(26)] \x3d inst_35958);\n\nreturn statearr_36056;\n})();\nvar statearr_36058_37679 \x3d state_35969__$1;\n(statearr_36058_37679[(2)] \x3d null);\n\n(statearr_36058_37679[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (6))){\nvar inst_35891 \x3d (state_35969[(27)]);\nvar inst_35890 \x3d cljs.core.deref(cs);\nvar inst_35891__$1 \x3d cljs.core.keys(inst_35890);\nvar inst_35892 \x3d cljs.core.count(inst_35891__$1);\nvar inst_35893 \x3d cljs.core.reset_BANG_(dctr,inst_35892);\nvar inst_35899 \x3d cljs.core.seq(inst_35891__$1);\nvar inst_35900 \x3d inst_35899;\nvar inst_35901 \x3d null;\nvar inst_35902 \x3d (0);\nvar inst_35903 \x3d (0);\nvar state_35969__$1 \x3d (function (){var statearr_36063 \x3d state_35969;\n(statearr_36063[(27)] \x3d inst_35891__$1);\n\n(statearr_36063[(28)] \x3d inst_35893);\n\n(statearr_36063[(19)] \x3d inst_35900);\n\n(statearr_36063[(9)] \x3d inst_35901);\n\n(statearr_36063[(20)] \x3d inst_35902);\n\n(statearr_36063[(10)] \x3d inst_35903);\n\nreturn statearr_36063;\n})();\nvar statearr_36064_37680 \x3d state_35969__$1;\n(statearr_36064_37680[(2)] \x3d null);\n\n(statearr_36064_37680[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (28))){\nvar inst_35900 \x3d (state_35969[(19)]);\nvar inst_35921 \x3d (state_35969[(23)]);\nvar inst_35921__$1 \x3d cljs.core.seq(inst_35900);\nvar state_35969__$1 \x3d (function (){var statearr_36068 \x3d state_35969;\n(statearr_36068[(23)] \x3d inst_35921__$1);\n\nreturn statearr_36068;\n})();\nif(inst_35921__$1){\nvar statearr_36069_37684 \x3d state_35969__$1;\n(statearr_36069_37684[(1)] \x3d (33));\n\n} else {\nvar statearr_36074_37685 \x3d state_35969__$1;\n(statearr_36074_37685[(1)] \x3d (34));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (25))){\nvar inst_35903 \x3d (state_35969[(10)]);\nvar inst_35902 \x3d (state_35969[(20)]);\nvar inst_35905 \x3d (inst_35903 \x3c inst_35902);\nvar inst_35906 \x3d inst_35905;\nvar state_35969__$1 \x3d state_35969;\nif(cljs.core.truth_(inst_35906)){\nvar statearr_36078_37686 \x3d state_35969__$1;\n(statearr_36078_37686[(1)] \x3d (27));\n\n} else {\nvar statearr_36079_37687 \x3d state_35969__$1;\n(statearr_36079_37687[(1)] \x3d (28));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (34))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36081_37688 \x3d state_35969__$1;\n(statearr_36081_37688[(2)] \x3d null);\n\n(statearr_36081_37688[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (17))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36085_37689 \x3d state_35969__$1;\n(statearr_36085_37689[(2)] \x3d null);\n\n(statearr_36085_37689[(1)] \x3d (18));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (3))){\nvar inst_35964 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_35969__$1,inst_35964);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (12))){\nvar inst_35886 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36090_37690 \x3d state_35969__$1;\n(statearr_36090_37690[(2)] \x3d inst_35886);\n\n(statearr_36090_37690[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (2))){\nvar state_35969__$1 \x3d state_35969;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35969__$1,(4),ch);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (23))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36095_37691 \x3d state_35969__$1;\n(statearr_36095_37691[(2)] \x3d null);\n\n(statearr_36095_37691[(1)] \x3d (24));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (35))){\nvar inst_35947 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36098_37692 \x3d state_35969__$1;\n(statearr_36098_37692[(2)] \x3d inst_35947);\n\n(statearr_36098_37692[(1)] \x3d (29));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (19))){\nvar inst_35851 \x3d (state_35969[(7)]);\nvar inst_35858 \x3d cljs.core.chunk_first(inst_35851);\nvar inst_35859 \x3d cljs.core.chunk_rest(inst_35851);\nvar inst_35860 \x3d cljs.core.count(inst_35858);\nvar inst_35826 \x3d inst_35859;\nvar inst_35827 \x3d inst_35858;\nvar inst_35828 \x3d inst_35860;\nvar inst_35830 \x3d (0);\nvar state_35969__$1 \x3d (function (){var statearr_36103 \x3d state_35969;\n(statearr_36103[(14)] \x3d inst_35826);\n\n(statearr_36103[(15)] \x3d inst_35827);\n\n(statearr_36103[(16)] \x3d inst_35828);\n\n(statearr_36103[(17)] \x3d inst_35830);\n\nreturn statearr_36103;\n})();\nvar statearr_36105_37693 \x3d state_35969__$1;\n(statearr_36105_37693[(2)] \x3d null);\n\n(statearr_36105_37693[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (11))){\nvar inst_35826 \x3d (state_35969[(14)]);\nvar inst_35851 \x3d (state_35969[(7)]);\nvar inst_35851__$1 \x3d cljs.core.seq(inst_35826);\nvar state_35969__$1 \x3d (function (){var statearr_36109 \x3d state_35969;\n(statearr_36109[(7)] \x3d inst_35851__$1);\n\nreturn statearr_36109;\n})();\nif(inst_35851__$1){\nvar statearr_36111_37694 \x3d state_35969__$1;\n(statearr_36111_37694[(1)] \x3d (16));\n\n} else {\nvar statearr_36112_37695 \x3d state_35969__$1;\n(statearr_36112_37695[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (9))){\nvar inst_35888 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36115_37696 \x3d state_35969__$1;\n(statearr_36115_37696[(2)] \x3d inst_35888);\n\n(statearr_36115_37696[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (5))){\nvar inst_35823 \x3d cljs.core.deref(cs);\nvar inst_35824 \x3d cljs.core.seq(inst_35823);\nvar inst_35826 \x3d inst_35824;\nvar inst_35827 \x3d null;\nvar inst_35828 \x3d (0);\nvar inst_35830 \x3d (0);\nvar state_35969__$1 \x3d (function (){var statearr_36118 \x3d state_35969;\n(statearr_36118[(14)] \x3d inst_35826);\n\n(statearr_36118[(15)] \x3d inst_35827);\n\n(statearr_36118[(16)] \x3d inst_35828);\n\n(statearr_36118[(17)] \x3d inst_35830);\n\nreturn statearr_36118;\n})();\nvar statearr_36119_37697 \x3d state_35969__$1;\n(statearr_36119_37697[(2)] \x3d null);\n\n(statearr_36119_37697[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (14))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36123_37698 \x3d state_35969__$1;\n(statearr_36123_37698[(2)] \x3d null);\n\n(statearr_36123_37698[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (45))){\nvar inst_35955 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36125_37699 \x3d state_35969__$1;\n(statearr_36125_37699[(2)] \x3d inst_35955);\n\n(statearr_36125_37699[(1)] \x3d (44));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (26))){\nvar inst_35891 \x3d (state_35969[(27)]);\nvar inst_35951 \x3d (state_35969[(2)]);\nvar inst_35952 \x3d cljs.core.seq(inst_35891);\nvar state_35969__$1 \x3d (function (){var statearr_36129 \x3d state_35969;\n(statearr_36129[(29)] \x3d inst_35951);\n\nreturn statearr_36129;\n})();\nif(inst_35952){\nvar statearr_36130_37700 \x3d state_35969__$1;\n(statearr_36130_37700[(1)] \x3d (42));\n\n} else {\nvar statearr_36131_37701 \x3d state_35969__$1;\n(statearr_36131_37701[(1)] \x3d (43));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (16))){\nvar inst_35851 \x3d (state_35969[(7)]);\nvar inst_35855 \x3d cljs.core.chunked_seq_QMARK_(inst_35851);\nvar state_35969__$1 \x3d state_35969;\nif(inst_35855){\nvar statearr_36133_37702 \x3d state_35969__$1;\n(statearr_36133_37702[(1)] \x3d (19));\n\n} else {\nvar statearr_36136_37703 \x3d state_35969__$1;\n(statearr_36136_37703[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (38))){\nvar inst_35944 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36138_37705 \x3d state_35969__$1;\n(statearr_36138_37705[(2)] \x3d inst_35944);\n\n(statearr_36138_37705[(1)] \x3d (35));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (30))){\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36140_37708 \x3d state_35969__$1;\n(statearr_36140_37708[(2)] \x3d null);\n\n(statearr_36140_37708[(1)] \x3d (32));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (10))){\nvar inst_35827 \x3d (state_35969[(15)]);\nvar inst_35830 \x3d (state_35969[(17)]);\nvar inst_35839 \x3d cljs.core._nth(inst_35827,inst_35830);\nvar inst_35840 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35839,(0),null);\nvar inst_35841 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_35839,(1),null);\nvar state_35969__$1 \x3d (function (){var statearr_36144 \x3d state_35969;\n(statearr_36144[(24)] \x3d inst_35840);\n\nreturn statearr_36144;\n})();\nif(cljs.core.truth_(inst_35841)){\nvar statearr_36146_37709 \x3d state_35969__$1;\n(statearr_36146_37709[(1)] \x3d (13));\n\n} else {\nvar statearr_36147_37710 \x3d state_35969__$1;\n(statearr_36147_37710[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (18))){\nvar inst_35884 \x3d (state_35969[(2)]);\nvar state_35969__$1 \x3d state_35969;\nvar statearr_36151_37711 \x3d state_35969__$1;\n(statearr_36151_37711[(2)] \x3d inst_35884);\n\n(statearr_36151_37711[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (42))){\nvar state_35969__$1 \x3d state_35969;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_35969__$1,(45),dchan);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (37))){\nvar inst_35921 \x3d (state_35969[(23)]);\nvar inst_35933 \x3d (state_35969[(22)]);\nvar inst_35816 \x3d (state_35969[(12)]);\nvar inst_35933__$1 \x3d cljs.core.first(inst_35921);\nvar inst_35934 \x3d cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3(inst_35933__$1,inst_35816,done);\nvar state_35969__$1 \x3d (function (){var statearr_36158 \x3d state_35969;\n(statearr_36158[(22)] \x3d inst_35933__$1);\n\nreturn statearr_36158;\n})();\nif(cljs.core.truth_(inst_35934)){\nvar statearr_36160_37712 \x3d state_35969__$1;\n(statearr_36160_37712[(1)] \x3d (39));\n\n} else {\nvar statearr_36164_37713 \x3d state_35969__$1;\n(statearr_36164_37713[(1)] \x3d (40));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_35970 \x3d\x3d\x3d (8))){\nvar inst_35830 \x3d (state_35969[(17)]);\nvar inst_35828 \x3d (state_35969[(16)]);\nvar inst_35832 \x3d (inst_35830 \x3c inst_35828);\nvar inst_35834 \x3d inst_35832;\nvar state_35969__$1 \x3d state_35969;\nif(cljs.core.truth_(inst_35834)){\nvar statearr_36168_37714 \x3d state_35969__$1;\n(statearr_36168_37714[(1)] \x3d (10));\n\n} else {\nvar statearr_36170_37715 \x3d state_35969__$1;\n(statearr_36170_37715[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mult_$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$mult_$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36178 \x3d [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];\n(statearr_36178[(0)] \x3d cljs$core$async$mult_$_state_machine__34869__auto__);\n\n(statearr_36178[(1)] \x3d (1));\n\nreturn statearr_36178;\n});\nvar cljs$core$async$mult_$_state_machine__34869__auto____1 \x3d (function (state_35969){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_35969);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36181){var ex__34872__auto__ \x3d e36181;\nvar statearr_36182_37716 \x3d state_35969;\n(statearr_36182_37716[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_35969[(4)]))){\nvar statearr_36186_37717 \x3d state_35969;\n(statearr_36186_37717[(1)] \x3d cljs.core.first((state_35969[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37718 \x3d state_35969;\nstate_35969 \x3d G__37718;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mult_$_state_machine__34869__auto__ \x3d function(state_35969){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mult_$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mult_$_state_machine__34869__auto____1.call(this,state_35969);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mult_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mult_$_state_machine__34869__auto____0;\ncljs$core$async$mult_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mult_$_state_machine__34869__auto____1;\nreturn cljs$core$async$mult_$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36190 \x3d f__34995__auto__();\n(statearr_36190[(6)] \x3d c__34994__auto___37652);\n\nreturn statearr_36190;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Copies the mult source onto the supplied channel.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.tap \x3d (function cljs$core$async$tap(var_args){\nvar G__36192 \x3d arguments.length;\nswitch (G__36192) {\ncase 2:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$2 \x3d (function (mult,ch){\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(mult,ch,true);\n}));\n\n(cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3 \x3d (function (mult,ch,close_QMARK_){\ncljs.core.async.tap_STAR_(mult,ch,close_QMARK_);\n\nreturn ch;\n}));\n\n(cljs.core.async.tap.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Disconnects a target channel from a mult\n */\ncljs.core.async.untap \x3d (function cljs$core$async$untap(mult,ch){\nreturn cljs.core.async.untap_STAR_(mult,ch);\n});\n/**\n * Disconnects all target channels from a mult\n */\ncljs.core.async.untap_all \x3d (function cljs$core$async$untap_all(mult){\nreturn cljs.core.async.untap_all_STAR_(mult);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Mix \x3d function(){};\n\nvar cljs$core$async$Mix$admix_STAR_$dyn_37720 \x3d (function (m,ch){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.admix_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.admix_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.admix*\x22,m);\n}\n}\n});\ncljs.core.async.admix_STAR_ \x3d (function cljs$core$async$admix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$admix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$admix_STAR_$dyn_37720(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_STAR_$dyn_37722 \x3d (function (m,ch){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.unmix_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5374__auto__.call(null,m,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unmix_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,ch) : m__5372__auto__.call(null,m,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_STAR_ \x3d (function cljs$core$async$unmix_STAR_(m,ch){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_STAR_$arity$2(m,ch);\n} else {\nreturn cljs$core$async$Mix$unmix_STAR_$dyn_37722(m,ch);\n}\n});\n\nvar cljs$core$async$Mix$unmix_all_STAR_$dyn_37726 \x3d (function (m){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.unmix_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5374__auto__.call(null,m));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unmix_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(m) : m__5372__auto__.call(null,m));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.unmix-all*\x22,m);\n}\n}\n});\ncljs.core.async.unmix_all_STAR_ \x3d (function cljs$core$async$unmix_all_STAR_(m){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$unmix_all_STAR_$arity$1(m);\n} else {\nreturn cljs$core$async$Mix$unmix_all_STAR_$dyn_37726(m);\n}\n});\n\nvar cljs$core$async$Mix$toggle_STAR_$dyn_37727 \x3d (function (m,state_map){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.toggle_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5374__auto__.call(null,m,state_map));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.toggle_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,state_map) : m__5372__auto__.call(null,m,state_map));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.toggle*\x22,m);\n}\n}\n});\ncljs.core.async.toggle_STAR_ \x3d (function cljs$core$async$toggle_STAR_(m,state_map){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$toggle_STAR_$arity$2(m,state_map);\n} else {\nreturn cljs$core$async$Mix$toggle_STAR_$dyn_37727(m,state_map);\n}\n});\n\nvar cljs$core$async$Mix$solo_mode_STAR_$dyn_37728 \x3d (function (m,mode){\nvar x__5373__auto__ \x3d (((m \x3d\x3d null))?null:m);\nvar m__5374__auto__ \x3d (cljs.core.async.solo_mode_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5374__auto__.call(null,m,mode));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.solo_mode_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(m,mode) : m__5372__auto__.call(null,m,mode));\n} else {\nthrow cljs.core.missing_protocol(\x22Mix.solo-mode*\x22,m);\n}\n}\n});\ncljs.core.async.solo_mode_STAR_ \x3d (function cljs$core$async$solo_mode_STAR_(m,mode){\nif((((!((m \x3d\x3d null)))) \x26\x26 ((!((m.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d\x3d null)))))){\nreturn m.cljs$core$async$Mix$solo_mode_STAR_$arity$2(m,mode);\n} else {\nreturn cljs$core$async$Mix$solo_mode_STAR_$dyn_37728(m,mode);\n}\n});\n\ncljs.core.async.ioc_alts_BANG_ \x3d (function cljs$core$async$ioc_alts_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___37732 \x3d arguments.length;\nvar i__5750__auto___37733 \x3d (0);\nwhile(true){\nif((i__5750__auto___37733 \x3c len__5749__auto___37732)){\nargs__5755__auto__.push((arguments[i__5750__auto___37733]));\n\nvar G__37734 \x3d (i__5750__auto___37733 + (1));\ni__5750__auto___37733 \x3d G__37734;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(cljs.core.async.ioc_alts_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (state,cont_block,ports,p__36250){\nvar map__36251 \x3d p__36250;\nvar map__36251__$1 \x3d cljs.core.__destructure_map(map__36251);\nvar opts \x3d map__36251__$1;\nvar statearr_36252_37735 \x3d state;\n(statearr_36252_37735[(1)] \x3d cont_block);\n\n\nvar temp__5823__auto__ \x3d cljs.core.async.do_alts((function (val){\nvar statearr_36257_37736 \x3d state;\n(statearr_36257_37736[(2)] \x3d val);\n\n\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state);\n}),ports,opts);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar cb \x3d temp__5823__auto__;\nvar statearr_36262_37737 \x3d state;\n(statearr_36262_37737[(2)] \x3d cljs.core.deref(cb));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(cljs.core.async.ioc_alts_BANG_.cljs$lang$applyTo \x3d (function (seq36241){\nvar G__36242 \x3d cljs.core.first(seq36241);\nvar seq36241__$1 \x3d cljs.core.next(seq36241);\nvar G__36243 \x3d cljs.core.first(seq36241__$1);\nvar seq36241__$2 \x3d cljs.core.next(seq36241__$1);\nvar G__36244 \x3d cljs.core.first(seq36241__$2);\nvar seq36241__$3 \x3d cljs.core.next(seq36241__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__36242,G__36243,G__36244,seq36241__$3);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mix}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36284 \x3d (function (change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36285){\nthis.change \x3d change;\nthis.solo_mode \x3d solo_mode;\nthis.pick \x3d pick;\nthis.cs \x3d cs;\nthis.calc_state \x3d calc_state;\nthis.out \x3d out;\nthis.changed \x3d changed;\nthis.solo_modes \x3d solo_modes;\nthis.attrs \x3d attrs;\nthis.meta36285 \x3d meta36285;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36286,meta36285__$1){\nvar self__ \x3d this;\nvar _36286__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36284(self__.change,self__.solo_mode,self__.pick,self__.cs,self__.calc_state,self__.out,self__.changed,self__.solo_modes,self__.attrs,meta36285__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36286){\nvar self__ \x3d this;\nvar _36286__$1 \x3d this;\nreturn self__.meta36285;\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.out;\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mix$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mix$admix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.cs,cljs.core.assoc,ch,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mix$unmix_STAR_$arity$2 \x3d (function (_,ch){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.dissoc,ch);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mix$unmix_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.reset_BANG_(self__.cs,cljs.core.PersistentArrayMap.EMPTY);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mix$toggle_STAR_$arity$2 \x3d (function (_,state_map){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.cs,cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.merge_with,cljs.core.merge),state_map);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36284.prototype.cljs$core$async$Mix$solo_mode_STAR_$arity$2 \x3d (function (_,mode){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.solo_modes.cljs$core$IFn$_invoke$arity$1 ? self__.solo_modes.cljs$core$IFn$_invoke$arity$1(mode) : self__.solo_modes.call(null,mode)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,[\x22mode must be one of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.solo_modes)].join(\x27\x27),\x22\\n\x22,\x22(solo-modes mode)\x22].join(\x27\x27)));\n}\n\ncljs.core.reset_BANG_(self__.solo_mode,mode);\n\nreturn (self__.changed.cljs$core$IFn$_invoke$arity$0 ? self__.changed.cljs$core$IFn$_invoke$arity$0() : self__.changed.call(null));\n}));\n\n(cljs.core.async.t_cljs$core$async36284.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 10, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22change\x22,\x22change\x22,477485025,null),new cljs.core.Symbol(null,\x22solo-mode\x22,\x22solo-mode\x22,2031788074,null),new cljs.core.Symbol(null,\x22pick\x22,\x22pick\x22,1300068175,null),new cljs.core.Symbol(null,\x22cs\x22,\x22cs\x22,-117024463,null),new cljs.core.Symbol(null,\x22calc-state\x22,\x22calc-state\x22,-349968968,null),new cljs.core.Symbol(null,\x22out\x22,\x22out\x22,729986010,null),new cljs.core.Symbol(null,\x22changed\x22,\x22changed\x22,-2083710852,null),new cljs.core.Symbol(null,\x22solo-modes\x22,\x22solo-modes\x22,882180540,null),new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta36285\x22,\x22meta36285\x22,1766447412,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36284.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36284.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36284\x22);\n\n(cljs.core.async.t_cljs$core$async36284.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36284\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36284.\n */\ncljs.core.async.__GT_t_cljs$core$async36284 \x3d (function cljs$core$async$__GT_t_cljs$core$async36284(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36285){\nreturn (new cljs.core.async.t_cljs$core$async36284(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,meta36285));\n});\n\n\n/**\n * Creates and returns a mix of one or more input channels which will\n * be put on the supplied out channel. Input sources can be added to\n * the mix with \x27admix\x27, and removed with \x27unmix\x27. A mix supports\n * soloing, muting and pausing multiple inputs atomically using\n * \x27toggle\x27, and can solo using either muting or pausing as determined\n * by \x27solo-mode\x27.\n * \n * Each channel can have zero or more boolean modes set via \x27toggle\x27:\n * \n * :solo - when true, only this (ond other soloed) channel(s) will appear\n * in the mix output channel. :mute and :pause states of soloed\n * channels are ignored. If solo-mode is :mute, non-soloed\n * channels are muted, if :pause, non-soloed channels are\n * paused.\n * \n * :mute - muted channels will have their contents consumed but not included in the mix\n * :pause - paused channels will not have their contents consumed (and thus also not included in the mix)\n */\ncljs.core.async.mix \x3d (function cljs$core$async$mix(out){\nvar cs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar solo_modes \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),null,new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),null], null), null);\nvar attrs \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(solo_modes,new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075));\nvar solo_mode \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646));\nvar change \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(cljs.core.async.sliding_buffer((1)));\nvar changed \x3d (function (){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(change,true);\n});\nvar pick \x3d (function (attr,chs){\nreturn cljs.core.reduce_kv((function (ret,c,v){\nif(cljs.core.truth_((attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(v) : attr.call(null,v)))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,c);\n} else {\nreturn ret;\n}\n}),cljs.core.PersistentHashSet.EMPTY,chs);\n});\nvar calc_state \x3d (function (){\nvar chs \x3d cljs.core.deref(cs);\nvar mode \x3d cljs.core.deref(solo_mode);\nvar solos \x3d pick(new cljs.core.Keyword(null,\x22solo\x22,\x22solo\x22,-316350075),chs);\nvar pauses \x3d pick(new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672),chs);\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643),solos,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309),pick(new cljs.core.Keyword(null,\x22mute\x22,\x22mute\x22,1151223646),chs),new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mode,new cljs.core.Keyword(null,\x22pause\x22,\x22pause\x22,-2095325672))) \x26\x26 (cljs.core.seq(solos))))?cljs.core.vec(solos):cljs.core.vec(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(pauses,cljs.core.keys(chs)))),change)], null);\n});\nvar m \x3d (new cljs.core.async.t_cljs$core$async36284(change,solo_mode,pick,cs,calc_state,out,changed,solo_modes,attrs,cljs.core.PersistentArrayMap.EMPTY));\nvar c__34994__auto___37747 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_36373){\nvar state_val_36374 \x3d (state_36373[(1)]);\nif((state_val_36374 \x3d\x3d\x3d (7))){\nvar inst_36333 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nif(cljs.core.truth_(inst_36333)){\nvar statearr_36375_37748 \x3d state_36373__$1;\n(statearr_36375_37748[(1)] \x3d (8));\n\n} else {\nvar statearr_36376_37749 \x3d state_36373__$1;\n(statearr_36376_37749[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (20))){\nvar inst_36325 \x3d (state_36373[(7)]);\nvar state_36373__$1 \x3d state_36373;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36373__$1,(23),out,inst_36325);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (1))){\nvar inst_36307 \x3d calc_state();\nvar inst_36308 \x3d cljs.core.__destructure_map(inst_36307);\nvar inst_36309 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36308,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_36310 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36308,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_36311 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36308,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar inst_36312 \x3d inst_36307;\nvar state_36373__$1 \x3d (function (){var statearr_36377 \x3d state_36373;\n(statearr_36377[(8)] \x3d inst_36309);\n\n(statearr_36377[(9)] \x3d inst_36310);\n\n(statearr_36377[(10)] \x3d inst_36311);\n\n(statearr_36377[(11)] \x3d inst_36312);\n\nreturn statearr_36377;\n})();\nvar statearr_36378_37753 \x3d state_36373__$1;\n(statearr_36378_37753[(2)] \x3d null);\n\n(statearr_36378_37753[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (24))){\nvar inst_36315 \x3d (state_36373[(12)]);\nvar inst_36312 \x3d inst_36315;\nvar state_36373__$1 \x3d (function (){var statearr_36379 \x3d state_36373;\n(statearr_36379[(11)] \x3d inst_36312);\n\nreturn statearr_36379;\n})();\nvar statearr_36380_37754 \x3d state_36373__$1;\n(statearr_36380_37754[(2)] \x3d null);\n\n(statearr_36380_37754[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (4))){\nvar inst_36325 \x3d (state_36373[(7)]);\nvar inst_36327 \x3d (state_36373[(13)]);\nvar inst_36324 \x3d (state_36373[(2)]);\nvar inst_36325__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36324,(0),null);\nvar inst_36326 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36324,(1),null);\nvar inst_36327__$1 \x3d (inst_36325__$1 \x3d\x3d null);\nvar state_36373__$1 \x3d (function (){var statearr_36381 \x3d state_36373;\n(statearr_36381[(7)] \x3d inst_36325__$1);\n\n(statearr_36381[(14)] \x3d inst_36326);\n\n(statearr_36381[(13)] \x3d inst_36327__$1);\n\nreturn statearr_36381;\n})();\nif(cljs.core.truth_(inst_36327__$1)){\nvar statearr_36382_37755 \x3d state_36373__$1;\n(statearr_36382_37755[(1)] \x3d (5));\n\n} else {\nvar statearr_36383_37756 \x3d state_36373__$1;\n(statearr_36383_37756[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (15))){\nvar inst_36316 \x3d (state_36373[(15)]);\nvar inst_36347 \x3d (state_36373[(16)]);\nvar inst_36347__$1 \x3d cljs.core.empty_QMARK_(inst_36316);\nvar state_36373__$1 \x3d (function (){var statearr_36384 \x3d state_36373;\n(statearr_36384[(16)] \x3d inst_36347__$1);\n\nreturn statearr_36384;\n})();\nif(inst_36347__$1){\nvar statearr_36385_37757 \x3d state_36373__$1;\n(statearr_36385_37757[(1)] \x3d (17));\n\n} else {\nvar statearr_36386_37758 \x3d state_36373__$1;\n(statearr_36386_37758[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (21))){\nvar inst_36315 \x3d (state_36373[(12)]);\nvar inst_36312 \x3d inst_36315;\nvar state_36373__$1 \x3d (function (){var statearr_36387 \x3d state_36373;\n(statearr_36387[(11)] \x3d inst_36312);\n\nreturn statearr_36387;\n})();\nvar statearr_36388_37759 \x3d state_36373__$1;\n(statearr_36388_37759[(2)] \x3d null);\n\n(statearr_36388_37759[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (13))){\nvar inst_36340 \x3d (state_36373[(2)]);\nvar inst_36341 \x3d calc_state();\nvar inst_36312 \x3d inst_36341;\nvar state_36373__$1 \x3d (function (){var statearr_36389 \x3d state_36373;\n(statearr_36389[(17)] \x3d inst_36340);\n\n(statearr_36389[(11)] \x3d inst_36312);\n\nreturn statearr_36389;\n})();\nvar statearr_36390_37760 \x3d state_36373__$1;\n(statearr_36390_37760[(2)] \x3d null);\n\n(statearr_36390_37760[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (22))){\nvar inst_36367 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36391_37761 \x3d state_36373__$1;\n(statearr_36391_37761[(2)] \x3d inst_36367);\n\n(statearr_36391_37761[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (6))){\nvar inst_36326 \x3d (state_36373[(14)]);\nvar inst_36331 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_36326,change);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36392_37762 \x3d state_36373__$1;\n(statearr_36392_37762[(2)] \x3d inst_36331);\n\n(statearr_36392_37762[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (25))){\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36394_37763 \x3d state_36373__$1;\n(statearr_36394_37763[(2)] \x3d null);\n\n(statearr_36394_37763[(1)] \x3d (26));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (17))){\nvar inst_36317 \x3d (state_36373[(18)]);\nvar inst_36326 \x3d (state_36373[(14)]);\nvar inst_36349 \x3d (inst_36317.cljs$core$IFn$_invoke$arity$1 ? inst_36317.cljs$core$IFn$_invoke$arity$1(inst_36326) : inst_36317.call(null,inst_36326));\nvar inst_36350 \x3d cljs.core.not(inst_36349);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36396_37767 \x3d state_36373__$1;\n(statearr_36396_37767[(2)] \x3d inst_36350);\n\n(statearr_36396_37767[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (3))){\nvar inst_36371 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36373__$1,inst_36371);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (12))){\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36397_37768 \x3d state_36373__$1;\n(statearr_36397_37768[(2)] \x3d null);\n\n(statearr_36397_37768[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (2))){\nvar inst_36312 \x3d (state_36373[(11)]);\nvar inst_36315 \x3d (state_36373[(12)]);\nvar inst_36315__$1 \x3d cljs.core.__destructure_map(inst_36312);\nvar inst_36316 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36315__$1,new cljs.core.Keyword(null,\x22solos\x22,\x22solos\x22,1441458643));\nvar inst_36317 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36315__$1,new cljs.core.Keyword(null,\x22mutes\x22,\x22mutes\x22,1068806309));\nvar inst_36318 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36315__$1,new cljs.core.Keyword(null,\x22reads\x22,\x22reads\x22,-1215067361));\nvar state_36373__$1 \x3d (function (){var statearr_36398 \x3d state_36373;\n(statearr_36398[(12)] \x3d inst_36315__$1);\n\n(statearr_36398[(15)] \x3d inst_36316);\n\n(statearr_36398[(18)] \x3d inst_36317);\n\nreturn statearr_36398;\n})();\nreturn cljs.core.async.ioc_alts_BANG_(state_36373__$1,(4),inst_36318);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (23))){\nvar inst_36358 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nif(cljs.core.truth_(inst_36358)){\nvar statearr_36399_37769 \x3d state_36373__$1;\n(statearr_36399_37769[(1)] \x3d (24));\n\n} else {\nvar statearr_36400_37770 \x3d state_36373__$1;\n(statearr_36400_37770[(1)] \x3d (25));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (19))){\nvar inst_36353 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36402_37774 \x3d state_36373__$1;\n(statearr_36402_37774[(2)] \x3d inst_36353);\n\n(statearr_36402_37774[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (11))){\nvar inst_36326 \x3d (state_36373[(14)]);\nvar inst_36337 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cs,cljs.core.dissoc,inst_36326);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36404_37775 \x3d state_36373__$1;\n(statearr_36404_37775[(2)] \x3d inst_36337);\n\n(statearr_36404_37775[(1)] \x3d (13));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (9))){\nvar inst_36316 \x3d (state_36373[(15)]);\nvar inst_36326 \x3d (state_36373[(14)]);\nvar inst_36344 \x3d (state_36373[(19)]);\nvar inst_36344__$1 \x3d (inst_36316.cljs$core$IFn$_invoke$arity$1 ? inst_36316.cljs$core$IFn$_invoke$arity$1(inst_36326) : inst_36316.call(null,inst_36326));\nvar state_36373__$1 \x3d (function (){var statearr_36405 \x3d state_36373;\n(statearr_36405[(19)] \x3d inst_36344__$1);\n\nreturn statearr_36405;\n})();\nif(cljs.core.truth_(inst_36344__$1)){\nvar statearr_36406_37776 \x3d state_36373__$1;\n(statearr_36406_37776[(1)] \x3d (14));\n\n} else {\nvar statearr_36407_37777 \x3d state_36373__$1;\n(statearr_36407_37777[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (5))){\nvar inst_36327 \x3d (state_36373[(13)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36408_37778 \x3d state_36373__$1;\n(statearr_36408_37778[(2)] \x3d inst_36327);\n\n(statearr_36408_37778[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (14))){\nvar inst_36344 \x3d (state_36373[(19)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36409_37779 \x3d state_36373__$1;\n(statearr_36409_37779[(2)] \x3d inst_36344);\n\n(statearr_36409_37779[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (26))){\nvar inst_36363 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36410_37780 \x3d state_36373__$1;\n(statearr_36410_37780[(2)] \x3d inst_36363);\n\n(statearr_36410_37780[(1)] \x3d (22));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (16))){\nvar inst_36355 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nif(cljs.core.truth_(inst_36355)){\nvar statearr_36412_37781 \x3d state_36373__$1;\n(statearr_36412_37781[(1)] \x3d (20));\n\n} else {\nvar statearr_36413_37782 \x3d state_36373__$1;\n(statearr_36413_37782[(1)] \x3d (21));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (10))){\nvar inst_36369 \x3d (state_36373[(2)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36415_37786 \x3d state_36373__$1;\n(statearr_36415_37786[(2)] \x3d inst_36369);\n\n(statearr_36415_37786[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (18))){\nvar inst_36347 \x3d (state_36373[(16)]);\nvar state_36373__$1 \x3d state_36373;\nvar statearr_36416_37787 \x3d state_36373__$1;\n(statearr_36416_37787[(2)] \x3d inst_36347);\n\n(statearr_36416_37787[(1)] \x3d (19));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36374 \x3d\x3d\x3d (8))){\nvar inst_36325 \x3d (state_36373[(7)]);\nvar inst_36335 \x3d (inst_36325 \x3d\x3d null);\nvar state_36373__$1 \x3d state_36373;\nif(cljs.core.truth_(inst_36335)){\nvar statearr_36417_37788 \x3d state_36373__$1;\n(statearr_36417_37788[(1)] \x3d (11));\n\n} else {\nvar statearr_36418_37789 \x3d state_36373__$1;\n(statearr_36418_37789[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mix_$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$mix_$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36419 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36419[(0)] \x3d cljs$core$async$mix_$_state_machine__34869__auto__);\n\n(statearr_36419[(1)] \x3d (1));\n\nreturn statearr_36419;\n});\nvar cljs$core$async$mix_$_state_machine__34869__auto____1 \x3d (function (state_36373){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_36373);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36420){var ex__34872__auto__ \x3d e36420;\nvar statearr_36421_37790 \x3d state_36373;\n(statearr_36421_37790[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_36373[(4)]))){\nvar statearr_36422_37791 \x3d state_36373;\n(statearr_36422_37791[(1)] \x3d cljs.core.first((state_36373[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37792 \x3d state_36373;\nstate_36373 \x3d G__37792;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mix_$_state_machine__34869__auto__ \x3d function(state_36373){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mix_$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mix_$_state_machine__34869__auto____1.call(this,state_36373);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mix_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mix_$_state_machine__34869__auto____0;\ncljs$core$async$mix_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mix_$_state_machine__34869__auto____1;\nreturn cljs$core$async$mix_$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36423 \x3d f__34995__auto__();\n(statearr_36423[(6)] \x3d c__34994__auto___37747);\n\nreturn statearr_36423;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn m;\n});\n/**\n * Adds ch as an input to the mix\n */\ncljs.core.async.admix \x3d (function cljs$core$async$admix(mix,ch){\nreturn cljs.core.async.admix_STAR_(mix,ch);\n});\n/**\n * Removes ch as an input to the mix\n */\ncljs.core.async.unmix \x3d (function cljs$core$async$unmix(mix,ch){\nreturn cljs.core.async.unmix_STAR_(mix,ch);\n});\n/**\n * removes all inputs from the mix\n */\ncljs.core.async.unmix_all \x3d (function cljs$core$async$unmix_all(mix){\nreturn cljs.core.async.unmix_all_STAR_(mix);\n});\n/**\n * Atomically sets the state(s) of one or more channels in a mix. The\n * state map is a map of channels -\x3e channel-state-map. A\n * channel-state-map is a map of attrs -\x3e boolean, where attr is one or\n * more of :mute, :pause or :solo. Any states supplied are merged with\n * the current state.\n * \n * Note that channels can be added to a mix via toggle, which can be\n * used to add channels in a particular (e.g. paused) state.\n */\ncljs.core.async.toggle \x3d (function cljs$core$async$toggle(mix,state_map){\nreturn cljs.core.async.toggle_STAR_(mix,state_map);\n});\n/**\n * Sets the solo mode of the mix. mode must be one of :mute or :pause\n */\ncljs.core.async.solo_mode \x3d (function cljs$core$async$solo_mode(mix,mode){\nreturn cljs.core.async.solo_mode_STAR_(mix,mode);\n});\n\n/**\n * @interface\n */\ncljs.core.async.Pub \x3d function(){};\n\nvar cljs$core$async$Pub$sub_STAR_$dyn_37793 \x3d (function (p,v,ch,close_QMARK_){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.sub_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5374__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.sub_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(p,v,ch,close_QMARK_) : m__5372__auto__.call(null,p,v,ch,close_QMARK_));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.sub*\x22,p);\n}\n}\n});\ncljs.core.async.sub_STAR_ \x3d (function cljs$core$async$sub_STAR_(p,v,ch,close_QMARK_){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$sub_STAR_$arity$4(p,v,ch,close_QMARK_);\n} else {\nreturn cljs$core$async$Pub$sub_STAR_$dyn_37793(p,v,ch,close_QMARK_);\n}\n});\n\nvar cljs$core$async$Pub$unsub_STAR_$dyn_37797 \x3d (function (p,v,ch){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.unsub_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5374__auto__.call(null,p,v,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unsub_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(p,v,ch) : m__5372__auto__.call(null,p,v,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub*\x22,p);\n}\n}\n});\ncljs.core.async.unsub_STAR_ \x3d (function cljs$core$async$unsub_STAR_(p,v,ch){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_STAR_$arity$3(p,v,ch);\n} else {\nreturn cljs$core$async$Pub$unsub_STAR_$dyn_37797(p,v,ch);\n}\n});\n\nvar cljs$core$async$Pub$unsub_all_STAR_$dyn_37798 \x3d (function() {\nvar G__37799 \x3d null;\nvar G__37799__1 \x3d (function (p){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5374__auto__.call(null,p));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(p) : m__5372__auto__.call(null,p));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nvar G__37799__2 \x3d (function (p,v){\nvar x__5373__auto__ \x3d (((p \x3d\x3d null))?null:p);\nvar m__5374__auto__ \x3d (cljs.core.async.unsub_all_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5374__auto__.call(null,p,v));\n} else {\nvar m__5372__auto__ \x3d (cljs.core.async.unsub_all_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(p,v) : m__5372__auto__.call(null,p,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Pub.unsub-all*\x22,p);\n}\n}\n});\nG__37799 \x3d function(p,v){\nswitch(arguments.length){\ncase 1:\nreturn G__37799__1.call(this,p);\ncase 2:\nreturn G__37799__2.call(this,p,v);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__37799.cljs$core$IFn$_invoke$arity$1 \x3d G__37799__1;\nG__37799.cljs$core$IFn$_invoke$arity$2 \x3d G__37799__2;\nreturn G__37799;\n})()\n;\ncljs.core.async.unsub_all_STAR_ \x3d (function cljs$core$async$unsub_all_STAR_(var_args){\nvar G__36439 \x3d arguments.length;\nswitch (G__36439) {\ncase 1:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$1(p);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_37798(p);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,v){\nif((((!((p \x3d\x3d null)))) \x26\x26 ((!((p.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d\x3d null)))))){\nreturn p.cljs$core$async$Pub$unsub_all_STAR_$arity$2(p,v);\n} else {\nreturn cljs$core$async$Pub$unsub_all_STAR_$dyn_37798(p,v);\n}\n}));\n\n(cljs.core.async.unsub_all_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.Pub}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.async.Mux}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36472 \x3d (function (ch,topic_fn,buf_fn,mults,ensure_mult,meta36473){\nthis.ch \x3d ch;\nthis.topic_fn \x3d topic_fn;\nthis.buf_fn \x3d buf_fn;\nthis.mults \x3d mults;\nthis.ensure_mult \x3d ensure_mult;\nthis.meta36473 \x3d meta36473;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36474,meta36473__$1){\nvar self__ \x3d this;\nvar _36474__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36472(self__.ch,self__.topic_fn,self__.buf_fn,self__.mults,self__.ensure_mult,meta36473__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36474){\nvar self__ \x3d this;\nvar _36474__$1 \x3d this;\nreturn self__.meta36473;\n}));\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Mux$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Mux$muxch_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ch;\n}));\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Pub$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Pub$sub_STAR_$arity$4 \x3d (function (p,topic,ch__$1,close_QMARK_){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar m \x3d (self__.ensure_mult.cljs$core$IFn$_invoke$arity$1 ? self__.ensure_mult.cljs$core$IFn$_invoke$arity$1(topic) : self__.ensure_mult.call(null,topic));\nreturn cljs.core.async.tap.cljs$core$IFn$_invoke$arity$3(m,ch__$1,close_QMARK_);\n}));\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Pub$unsub_STAR_$arity$3 \x3d (function (p,topic,ch__$1){\nvar self__ \x3d this;\nvar p__$1 \x3d this;\nvar temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.mults),topic);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar m \x3d temp__5823__auto__;\nreturn cljs.core.async.untap(m,ch__$1);\n} else {\nreturn null;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reset_BANG_(self__.mults,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cljs.core.async.t_cljs$core$async36472.prototype.cljs$core$async$Pub$unsub_all_STAR_$arity$2 \x3d (function (_,topic){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.mults,cljs.core.dissoc,topic);\n}));\n\n(cljs.core.async.t_cljs$core$async36472.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22topic-fn\x22,\x22topic-fn\x22,-862449736,null),new cljs.core.Symbol(null,\x22buf-fn\x22,\x22buf-fn\x22,-1200281591,null),new cljs.core.Symbol(null,\x22mults\x22,\x22mults\x22,-461114485,null),new cljs.core.Symbol(null,\x22ensure-mult\x22,\x22ensure-mult\x22,1796584816,null),new cljs.core.Symbol(null,\x22meta36473\x22,\x22meta36473\x22,-1196783693,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36472.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36472.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36472\x22);\n\n(cljs.core.async.t_cljs$core$async36472.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36472\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36472.\n */\ncljs.core.async.__GT_t_cljs$core$async36472 \x3d (function cljs$core$async$__GT_t_cljs$core$async36472(ch,topic_fn,buf_fn,mults,ensure_mult,meta36473){\nreturn (new cljs.core.async.t_cljs$core$async36472(ch,topic_fn,buf_fn,mults,ensure_mult,meta36473));\n});\n\n\n/**\n * Creates and returns a pub(lication) of the supplied channel,\n * partitioned into topics by the topic-fn. topic-fn will be applied to\n * each value on the channel and the result will determine the \x27topic\x27\n * on which that value will be put. Channels can be subscribed to\n * receive copies of topics using \x27sub\x27, and unsubscribed using\n * \x27unsub\x27. Each topic will be handled by an internal mult on a\n * dedicated channel. By default these internal channels are\n * unbuffered, but a buf-fn can be supplied which, given a topic,\n * creates a buffer with desired properties.\n * \n * Each item is distributed to all subs in parallel and synchronously,\n * i.e. each sub must accept before the next item is distributed. Use\n * buffering/windowing to prevent slow subs from holding up the pub.\n * \n * Items received when there are no matching subs get dropped.\n * \n * Note that if buf-fns are used then each topic is handled\n * asynchronously, i.e. if a channel is subscribed to more than one\n * topic it should not expect them to be interleaved identically with\n * the source.\n */\ncljs.core.async.pub \x3d (function cljs$core$async$pub(var_args){\nvar G__36461 \x3d arguments.length;\nswitch (G__36461) {\ncase 2:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,topic_fn){\nreturn cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3(ch,topic_fn,cljs.core.constantly(null));\n}));\n\n(cljs.core.async.pub.cljs$core$IFn$_invoke$arity$3 \x3d (function (ch,topic_fn,buf_fn){\nvar mults \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ensure_mult \x3d (function (topic){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(mults),topic);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(mults,(function (p1__36447_SHARP_){\nif(cljs.core.truth_((p1__36447_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__36447_SHARP_.cljs$core$IFn$_invoke$arity$1(topic) : p1__36447_SHARP_.call(null,topic)))){\nreturn p1__36447_SHARP_;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__36447_SHARP_,topic,cljs.core.async.mult(cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((buf_fn.cljs$core$IFn$_invoke$arity$1 ? buf_fn.cljs$core$IFn$_invoke$arity$1(topic) : buf_fn.call(null,topic)))));\n}\n})),topic);\n}\n});\nvar p \x3d (new cljs.core.async.t_cljs$core$async36472(ch,topic_fn,buf_fn,mults,ensure_mult,cljs.core.PersistentArrayMap.EMPTY));\nvar c__34994__auto___37806 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_36559){\nvar state_val_36560 \x3d (state_36559[(1)]);\nif((state_val_36560 \x3d\x3d\x3d (7))){\nvar inst_36555 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36562_37807 \x3d state_36559__$1;\n(statearr_36562_37807[(2)] \x3d inst_36555);\n\n(statearr_36562_37807[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (20))){\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36563_37808 \x3d state_36559__$1;\n(statearr_36563_37808[(2)] \x3d null);\n\n(statearr_36563_37808[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (1))){\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36565_37809 \x3d state_36559__$1;\n(statearr_36565_37809[(2)] \x3d null);\n\n(statearr_36565_37809[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (24))){\nvar inst_36536 \x3d (state_36559[(7)]);\nvar inst_36545 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(mults,cljs.core.dissoc,inst_36536);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36566_37810 \x3d state_36559__$1;\n(statearr_36566_37810[(2)] \x3d inst_36545);\n\n(statearr_36566_37810[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (4))){\nvar inst_36484 \x3d (state_36559[(8)]);\nvar inst_36484__$1 \x3d (state_36559[(2)]);\nvar inst_36485 \x3d (inst_36484__$1 \x3d\x3d null);\nvar state_36559__$1 \x3d (function (){var statearr_36567 \x3d state_36559;\n(statearr_36567[(8)] \x3d inst_36484__$1);\n\nreturn statearr_36567;\n})();\nif(cljs.core.truth_(inst_36485)){\nvar statearr_36568_37811 \x3d state_36559__$1;\n(statearr_36568_37811[(1)] \x3d (5));\n\n} else {\nvar statearr_36569_37812 \x3d state_36559__$1;\n(statearr_36569_37812[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (15))){\nvar inst_36530 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36570_37813 \x3d state_36559__$1;\n(statearr_36570_37813[(2)] \x3d inst_36530);\n\n(statearr_36570_37813[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (21))){\nvar inst_36551 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d (function (){var statearr_36571 \x3d state_36559;\n(statearr_36571[(9)] \x3d inst_36551);\n\nreturn statearr_36571;\n})();\nvar statearr_36572_37814 \x3d state_36559__$1;\n(statearr_36572_37814[(2)] \x3d null);\n\n(statearr_36572_37814[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (13))){\nvar inst_36509 \x3d (state_36559[(10)]);\nvar inst_36511 \x3d cljs.core.chunked_seq_QMARK_(inst_36509);\nvar state_36559__$1 \x3d state_36559;\nif(inst_36511){\nvar statearr_36573_37816 \x3d state_36559__$1;\n(statearr_36573_37816[(1)] \x3d (16));\n\n} else {\nvar statearr_36574_37817 \x3d state_36559__$1;\n(statearr_36574_37817[(1)] \x3d (17));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (22))){\nvar inst_36542 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nif(cljs.core.truth_(inst_36542)){\nvar statearr_36575_37818 \x3d state_36559__$1;\n(statearr_36575_37818[(1)] \x3d (23));\n\n} else {\nvar statearr_36576_37819 \x3d state_36559__$1;\n(statearr_36576_37819[(1)] \x3d (24));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (6))){\nvar inst_36484 \x3d (state_36559[(8)]);\nvar inst_36536 \x3d (state_36559[(7)]);\nvar inst_36538 \x3d (state_36559[(11)]);\nvar inst_36536__$1 \x3d (topic_fn.cljs$core$IFn$_invoke$arity$1 ? topic_fn.cljs$core$IFn$_invoke$arity$1(inst_36484) : topic_fn.call(null,inst_36484));\nvar inst_36537 \x3d cljs.core.deref(mults);\nvar inst_36538__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(inst_36537,inst_36536__$1);\nvar state_36559__$1 \x3d (function (){var statearr_36578 \x3d state_36559;\n(statearr_36578[(7)] \x3d inst_36536__$1);\n\n(statearr_36578[(11)] \x3d inst_36538__$1);\n\nreturn statearr_36578;\n})();\nif(cljs.core.truth_(inst_36538__$1)){\nvar statearr_36579_37821 \x3d state_36559__$1;\n(statearr_36579_37821[(1)] \x3d (19));\n\n} else {\nvar statearr_36581_37822 \x3d state_36559__$1;\n(statearr_36581_37822[(1)] \x3d (20));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (25))){\nvar inst_36547 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36582_37823 \x3d state_36559__$1;\n(statearr_36582_37823[(2)] \x3d inst_36547);\n\n(statearr_36582_37823[(1)] \x3d (21));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (17))){\nvar inst_36509 \x3d (state_36559[(10)]);\nvar inst_36521 \x3d cljs.core.first(inst_36509);\nvar inst_36522 \x3d cljs.core.async.muxch_STAR_(inst_36521);\nvar inst_36523 \x3d cljs.core.async.close_BANG_(inst_36522);\nvar inst_36524 \x3d cljs.core.next(inst_36509);\nvar inst_36494 \x3d inst_36524;\nvar inst_36495 \x3d null;\nvar inst_36496 \x3d (0);\nvar inst_36497 \x3d (0);\nvar state_36559__$1 \x3d (function (){var statearr_36583 \x3d state_36559;\n(statearr_36583[(12)] \x3d inst_36523);\n\n(statearr_36583[(13)] \x3d inst_36494);\n\n(statearr_36583[(14)] \x3d inst_36495);\n\n(statearr_36583[(15)] \x3d inst_36496);\n\n(statearr_36583[(16)] \x3d inst_36497);\n\nreturn statearr_36583;\n})();\nvar statearr_36584_37825 \x3d state_36559__$1;\n(statearr_36584_37825[(2)] \x3d null);\n\n(statearr_36584_37825[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (3))){\nvar inst_36557 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36559__$1,inst_36557);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (12))){\nvar inst_36532 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36587_37826 \x3d state_36559__$1;\n(statearr_36587_37826[(2)] \x3d inst_36532);\n\n(statearr_36587_37826[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (2))){\nvar state_36559__$1 \x3d state_36559;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36559__$1,(4),ch);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (23))){\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36591_37827 \x3d state_36559__$1;\n(statearr_36591_37827[(2)] \x3d null);\n\n(statearr_36591_37827[(1)] \x3d (25));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (19))){\nvar inst_36538 \x3d (state_36559[(11)]);\nvar inst_36484 \x3d (state_36559[(8)]);\nvar inst_36540 \x3d cljs.core.async.muxch_STAR_(inst_36538);\nvar state_36559__$1 \x3d state_36559;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36559__$1,(22),inst_36540,inst_36484);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (11))){\nvar inst_36494 \x3d (state_36559[(13)]);\nvar inst_36509 \x3d (state_36559[(10)]);\nvar inst_36509__$1 \x3d cljs.core.seq(inst_36494);\nvar state_36559__$1 \x3d (function (){var statearr_36592 \x3d state_36559;\n(statearr_36592[(10)] \x3d inst_36509__$1);\n\nreturn statearr_36592;\n})();\nif(inst_36509__$1){\nvar statearr_36593_37830 \x3d state_36559__$1;\n(statearr_36593_37830[(1)] \x3d (13));\n\n} else {\nvar statearr_36594_37831 \x3d state_36559__$1;\n(statearr_36594_37831[(1)] \x3d (14));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (9))){\nvar inst_36534 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36595_37832 \x3d state_36559__$1;\n(statearr_36595_37832[(2)] \x3d inst_36534);\n\n(statearr_36595_37832[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (5))){\nvar inst_36491 \x3d cljs.core.deref(mults);\nvar inst_36492 \x3d cljs.core.vals(inst_36491);\nvar inst_36493 \x3d cljs.core.seq(inst_36492);\nvar inst_36494 \x3d inst_36493;\nvar inst_36495 \x3d null;\nvar inst_36496 \x3d (0);\nvar inst_36497 \x3d (0);\nvar state_36559__$1 \x3d (function (){var statearr_36596 \x3d state_36559;\n(statearr_36596[(13)] \x3d inst_36494);\n\n(statearr_36596[(14)] \x3d inst_36495);\n\n(statearr_36596[(15)] \x3d inst_36496);\n\n(statearr_36596[(16)] \x3d inst_36497);\n\nreturn statearr_36596;\n})();\nvar statearr_36597_37833 \x3d state_36559__$1;\n(statearr_36597_37833[(2)] \x3d null);\n\n(statearr_36597_37833[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (14))){\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36601_37834 \x3d state_36559__$1;\n(statearr_36601_37834[(2)] \x3d null);\n\n(statearr_36601_37834[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (16))){\nvar inst_36509 \x3d (state_36559[(10)]);\nvar inst_36516 \x3d cljs.core.chunk_first(inst_36509);\nvar inst_36517 \x3d cljs.core.chunk_rest(inst_36509);\nvar inst_36518 \x3d cljs.core.count(inst_36516);\nvar inst_36494 \x3d inst_36517;\nvar inst_36495 \x3d inst_36516;\nvar inst_36496 \x3d inst_36518;\nvar inst_36497 \x3d (0);\nvar state_36559__$1 \x3d (function (){var statearr_36602 \x3d state_36559;\n(statearr_36602[(13)] \x3d inst_36494);\n\n(statearr_36602[(14)] \x3d inst_36495);\n\n(statearr_36602[(15)] \x3d inst_36496);\n\n(statearr_36602[(16)] \x3d inst_36497);\n\nreturn statearr_36602;\n})();\nvar statearr_36603_37835 \x3d state_36559__$1;\n(statearr_36603_37835[(2)] \x3d null);\n\n(statearr_36603_37835[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (10))){\nvar inst_36495 \x3d (state_36559[(14)]);\nvar inst_36497 \x3d (state_36559[(16)]);\nvar inst_36494 \x3d (state_36559[(13)]);\nvar inst_36496 \x3d (state_36559[(15)]);\nvar inst_36502 \x3d cljs.core._nth(inst_36495,inst_36497);\nvar inst_36503 \x3d cljs.core.async.muxch_STAR_(inst_36502);\nvar inst_36504 \x3d cljs.core.async.close_BANG_(inst_36503);\nvar inst_36506 \x3d (inst_36497 + (1));\nvar tmp36598 \x3d inst_36494;\nvar tmp36599 \x3d inst_36496;\nvar tmp36600 \x3d inst_36495;\nvar inst_36494__$1 \x3d tmp36598;\nvar inst_36495__$1 \x3d tmp36600;\nvar inst_36496__$1 \x3d tmp36599;\nvar inst_36497__$1 \x3d inst_36506;\nvar state_36559__$1 \x3d (function (){var statearr_36604 \x3d state_36559;\n(statearr_36604[(17)] \x3d inst_36504);\n\n(statearr_36604[(13)] \x3d inst_36494__$1);\n\n(statearr_36604[(14)] \x3d inst_36495__$1);\n\n(statearr_36604[(15)] \x3d inst_36496__$1);\n\n(statearr_36604[(16)] \x3d inst_36497__$1);\n\nreturn statearr_36604;\n})();\nvar statearr_36605_37836 \x3d state_36559__$1;\n(statearr_36605_37836[(2)] \x3d null);\n\n(statearr_36605_37836[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (18))){\nvar inst_36527 \x3d (state_36559[(2)]);\nvar state_36559__$1 \x3d state_36559;\nvar statearr_36606_37837 \x3d state_36559__$1;\n(statearr_36606_37837[(2)] \x3d inst_36527);\n\n(statearr_36606_37837[(1)] \x3d (15));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36560 \x3d\x3d\x3d (8))){\nvar inst_36497 \x3d (state_36559[(16)]);\nvar inst_36496 \x3d (state_36559[(15)]);\nvar inst_36499 \x3d (inst_36497 \x3c inst_36496);\nvar inst_36500 \x3d inst_36499;\nvar state_36559__$1 \x3d state_36559;\nif(cljs.core.truth_(inst_36500)){\nvar statearr_36607_37838 \x3d state_36559__$1;\n(statearr_36607_37838[(1)] \x3d (10));\n\n} else {\nvar statearr_36608_37839 \x3d state_36559__$1;\n(statearr_36608_37839[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36609 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36609[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_36609[(1)] \x3d (1));\n\nreturn statearr_36609;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_36559){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_36559);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36610){var ex__34872__auto__ \x3d e36610;\nvar statearr_36611_37841 \x3d state_36559;\n(statearr_36611_37841[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_36559[(4)]))){\nvar statearr_36612_37842 \x3d state_36559;\n(statearr_36612_37842[(1)] \x3d cljs.core.first((state_36559[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37843 \x3d state_36559;\nstate_36559 \x3d G__37843;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_36559){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_36559);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36618 \x3d f__34995__auto__();\n(statearr_36618[(6)] \x3d c__34994__auto___37806);\n\nreturn statearr_36618;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn p;\n}));\n\n(cljs.core.async.pub.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Subscribes a channel to a topic of a pub.\n * \n * By default the channel will be closed when the source closes,\n * but can be determined by the close? parameter.\n */\ncljs.core.async.sub \x3d (function cljs$core$async$sub(var_args){\nvar G__36620 \x3d arguments.length;\nswitch (G__36620) {\ncase 3:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,topic,ch){\nreturn cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4(p,topic,ch,true);\n}));\n\n(cljs.core.async.sub.cljs$core$IFn$_invoke$arity$4 \x3d (function (p,topic,ch,close_QMARK_){\nreturn cljs.core.async.sub_STAR_(p,topic,ch,close_QMARK_);\n}));\n\n(cljs.core.async.sub.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Unsubscribes a channel from a topic of a pub\n */\ncljs.core.async.unsub \x3d (function cljs$core$async$unsub(p,topic,ch){\nreturn cljs.core.async.unsub_STAR_(p,topic,ch);\n});\n/**\n * Unsubscribes all channels from a pub, or a topic of a pub\n */\ncljs.core.async.unsub_all \x3d (function cljs$core$async$unsub_all(var_args){\nvar G__36625 \x3d arguments.length;\nswitch (G__36625) {\ncase 1:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (p){\nreturn cljs.core.async.unsub_all_STAR_(p);\n}));\n\n(cljs.core.async.unsub_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,topic){\nreturn cljs.core.async.unsub_all_STAR_(p,topic);\n}));\n\n(cljs.core.async.unsub_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Takes a function and a collection of source channels, and returns a\n * channel which contains the values produced by applying f to the set\n * of first items taken from each source channel, followed by applying\n * f to the set of second items from each channel, until any one of the\n * channels is closed, at which point the output channel will be\n * closed. The returned channel will be unbuffered by default, or a\n * buf-or-n can be supplied\n */\ncljs.core.async.map \x3d (function cljs$core$async$map(var_args){\nvar G__36631 \x3d arguments.length;\nswitch (G__36631) {\ncase 2:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,chs){\nreturn cljs.core.async.map.cljs$core$IFn$_invoke$arity$3(f,chs,null);\n}));\n\n(cljs.core.async.map.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,chs,buf_or_n){\nvar chs__$1 \x3d cljs.core.vec(chs);\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar cnt \x3d cljs.core.count(chs__$1);\nvar rets \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(cnt);\nvar dchan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar dctr \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\nvar done \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (i){\nreturn (function (ret){\n(rets[i] \x3d ret);\n\nif((cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec) \x3d\x3d\x3d (0))){\nreturn cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(dchan,rets.slice((0)));\n} else {\nreturn null;\n}\n});\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cnt));\nif((cnt \x3d\x3d\x3d (0))){\ncljs.core.async.close_BANG_(out);\n} else {\nvar c__34994__auto___37847 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_36682){\nvar state_val_36683 \x3d (state_36682[(1)]);\nif((state_val_36683 \x3d\x3d\x3d (7))){\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36684_37848 \x3d state_36682__$1;\n(statearr_36684_37848[(2)] \x3d null);\n\n(statearr_36684_37848[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (1))){\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36685_37849 \x3d state_36682__$1;\n(statearr_36685_37849[(2)] \x3d null);\n\n(statearr_36685_37849[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (4))){\nvar inst_36635 \x3d (state_36682[(7)]);\nvar inst_36634 \x3d (state_36682[(8)]);\nvar inst_36637 \x3d (inst_36635 \x3c inst_36634);\nvar state_36682__$1 \x3d state_36682;\nif(cljs.core.truth_(inst_36637)){\nvar statearr_36686_37851 \x3d state_36682__$1;\n(statearr_36686_37851[(1)] \x3d (6));\n\n} else {\nvar statearr_36687_37852 \x3d state_36682__$1;\n(statearr_36687_37852[(1)] \x3d (7));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (15))){\nvar inst_36668 \x3d (state_36682[(9)]);\nvar inst_36673 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,inst_36668);\nvar state_36682__$1 \x3d state_36682;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36682__$1,(17),out,inst_36673);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (13))){\nvar inst_36668 \x3d (state_36682[(9)]);\nvar inst_36668__$1 \x3d (state_36682[(2)]);\nvar inst_36669 \x3d cljs.core.some(cljs.core.nil_QMARK_,inst_36668__$1);\nvar state_36682__$1 \x3d (function (){var statearr_36688 \x3d state_36682;\n(statearr_36688[(9)] \x3d inst_36668__$1);\n\nreturn statearr_36688;\n})();\nif(cljs.core.truth_(inst_36669)){\nvar statearr_36689_37854 \x3d state_36682__$1;\n(statearr_36689_37854[(1)] \x3d (14));\n\n} else {\nvar statearr_36691_37855 \x3d state_36682__$1;\n(statearr_36691_37855[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (6))){\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36693_37856 \x3d state_36682__$1;\n(statearr_36693_37856[(2)] \x3d null);\n\n(statearr_36693_37856[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (17))){\nvar inst_36675 \x3d (state_36682[(2)]);\nvar state_36682__$1 \x3d (function (){var statearr_36698 \x3d state_36682;\n(statearr_36698[(10)] \x3d inst_36675);\n\nreturn statearr_36698;\n})();\nvar statearr_36699_37861 \x3d state_36682__$1;\n(statearr_36699_37861[(2)] \x3d null);\n\n(statearr_36699_37861[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (3))){\nvar inst_36680 \x3d (state_36682[(2)]);\nvar state_36682__$1 \x3d state_36682;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36682__$1,inst_36680);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (12))){\nvar _ \x3d (function (){var statearr_36700 \x3d state_36682;\n(statearr_36700[(4)] \x3d cljs.core.rest((state_36682[(4)])));\n\nreturn statearr_36700;\n})();\nvar state_36682__$1 \x3d state_36682;\nvar ex36694 \x3d (state_36682__$1[(2)]);\nvar statearr_36701_37862 \x3d state_36682__$1;\n(statearr_36701_37862[(5)] \x3d ex36694);\n\n\nif((ex36694 instanceof Object)){\nvar statearr_36702_37863 \x3d state_36682__$1;\n(statearr_36702_37863[(1)] \x3d (11));\n\n(statearr_36702_37863[(5)] \x3d null);\n\n} else {\nthrow ex36694;\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (2))){\nvar inst_36633 \x3d cljs.core.reset_BANG_(dctr,cnt);\nvar inst_36634 \x3d cnt;\nvar inst_36635 \x3d (0);\nvar state_36682__$1 \x3d (function (){var statearr_36703 \x3d state_36682;\n(statearr_36703[(11)] \x3d inst_36633);\n\n(statearr_36703[(8)] \x3d inst_36634);\n\n(statearr_36703[(7)] \x3d inst_36635);\n\nreturn statearr_36703;\n})();\nvar statearr_36704_37864 \x3d state_36682__$1;\n(statearr_36704_37864[(2)] \x3d null);\n\n(statearr_36704_37864[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (11))){\nvar inst_36644 \x3d (state_36682[(2)]);\nvar inst_36648 \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(dctr,cljs.core.dec);\nvar state_36682__$1 \x3d (function (){var statearr_36705 \x3d state_36682;\n(statearr_36705[(12)] \x3d inst_36644);\n\nreturn statearr_36705;\n})();\nvar statearr_36706_37865 \x3d state_36682__$1;\n(statearr_36706_37865[(2)] \x3d inst_36648);\n\n(statearr_36706_37865[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (9))){\nvar inst_36635 \x3d (state_36682[(7)]);\nvar _ \x3d (function (){var statearr_36707 \x3d state_36682;\n(statearr_36707[(4)] \x3d cljs.core.cons((12),(state_36682[(4)])));\n\nreturn statearr_36707;\n})();\nvar inst_36654 \x3d (chs__$1.cljs$core$IFn$_invoke$arity$1 ? chs__$1.cljs$core$IFn$_invoke$arity$1(inst_36635) : chs__$1.call(null,inst_36635));\nvar inst_36655 \x3d (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(inst_36635) : done.call(null,inst_36635));\nvar inst_36656 \x3d cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2(inst_36654,inst_36655);\nvar ___$1 \x3d (function (){var statearr_36708 \x3d state_36682;\n(statearr_36708[(4)] \x3d cljs.core.rest((state_36682[(4)])));\n\nreturn statearr_36708;\n})();\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36709_37870 \x3d state_36682__$1;\n(statearr_36709_37870[(2)] \x3d inst_36656);\n\n(statearr_36709_37870[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (5))){\nvar inst_36666 \x3d (state_36682[(2)]);\nvar state_36682__$1 \x3d (function (){var statearr_36710 \x3d state_36682;\n(statearr_36710[(13)] \x3d inst_36666);\n\nreturn statearr_36710;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36682__$1,(13),dchan);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (14))){\nvar inst_36671 \x3d cljs.core.async.close_BANG_(out);\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36711_37872 \x3d state_36682__$1;\n(statearr_36711_37872[(2)] \x3d inst_36671);\n\n(statearr_36711_37872[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (16))){\nvar inst_36678 \x3d (state_36682[(2)]);\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36712_37873 \x3d state_36682__$1;\n(statearr_36712_37873[(2)] \x3d inst_36678);\n\n(statearr_36712_37873[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (10))){\nvar inst_36635 \x3d (state_36682[(7)]);\nvar inst_36659 \x3d (state_36682[(2)]);\nvar inst_36660 \x3d (inst_36635 + (1));\nvar inst_36635__$1 \x3d inst_36660;\nvar state_36682__$1 \x3d (function (){var statearr_36713 \x3d state_36682;\n(statearr_36713[(14)] \x3d inst_36659);\n\n(statearr_36713[(7)] \x3d inst_36635__$1);\n\nreturn statearr_36713;\n})();\nvar statearr_36714_37874 \x3d state_36682__$1;\n(statearr_36714_37874[(2)] \x3d null);\n\n(statearr_36714_37874[(1)] \x3d (4));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36683 \x3d\x3d\x3d (8))){\nvar inst_36664 \x3d (state_36682[(2)]);\nvar state_36682__$1 \x3d state_36682;\nvar statearr_36715_37875 \x3d state_36682__$1;\n(statearr_36715_37875[(2)] \x3d inst_36664);\n\n(statearr_36715_37875[(1)] \x3d (5));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36716 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36716[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_36716[(1)] \x3d (1));\n\nreturn statearr_36716;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_36682){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_36682);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36717){var ex__34872__auto__ \x3d e36717;\nvar statearr_36718_37876 \x3d state_36682;\n(statearr_36718_37876[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_36682[(4)]))){\nvar statearr_36719_37877 \x3d state_36682;\n(statearr_36719_37877[(1)] \x3d cljs.core.first((state_36682[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37882 \x3d state_36682;\nstate_36682 \x3d G__37882;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_36682){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_36682);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36720 \x3d f__34995__auto__();\n(statearr_36720[(6)] \x3d c__34994__auto___37847);\n\nreturn statearr_36720;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n}\n\nreturn out;\n}));\n\n(cljs.core.async.map.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Takes a collection of source channels and returns a channel which\n * contains all values taken from them. The returned channel will be\n * unbuffered by default, or a buf-or-n can be supplied. The channel\n * will close after all the source channels have closed.\n */\ncljs.core.async.merge \x3d (function cljs$core$async$merge(var_args){\nvar G__36723 \x3d arguments.length;\nswitch (G__36723) {\ncase 1:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$1 \x3d (function (chs){\nreturn cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2(chs,null);\n}));\n\n(cljs.core.async.merge.cljs$core$IFn$_invoke$arity$2 \x3d (function (chs,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__34994__auto___37885 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_36756){\nvar state_val_36757 \x3d (state_36756[(1)]);\nif((state_val_36757 \x3d\x3d\x3d (7))){\nvar inst_36734 \x3d (state_36756[(7)]);\nvar inst_36735 \x3d (state_36756[(8)]);\nvar inst_36734__$1 \x3d (state_36756[(2)]);\nvar inst_36735__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36734__$1,(0),null);\nvar inst_36736 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(inst_36734__$1,(1),null);\nvar inst_36737 \x3d (inst_36735__$1 \x3d\x3d null);\nvar state_36756__$1 \x3d (function (){var statearr_36758 \x3d state_36756;\n(statearr_36758[(7)] \x3d inst_36734__$1);\n\n(statearr_36758[(8)] \x3d inst_36735__$1);\n\n(statearr_36758[(9)] \x3d inst_36736);\n\nreturn statearr_36758;\n})();\nif(cljs.core.truth_(inst_36737)){\nvar statearr_36759_37886 \x3d state_36756__$1;\n(statearr_36759_37886[(1)] \x3d (8));\n\n} else {\nvar statearr_36760_37887 \x3d state_36756__$1;\n(statearr_36760_37887[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (1))){\nvar inst_36724 \x3d cljs.core.vec(chs);\nvar inst_36725 \x3d inst_36724;\nvar state_36756__$1 \x3d (function (){var statearr_36764 \x3d state_36756;\n(statearr_36764[(10)] \x3d inst_36725);\n\nreturn statearr_36764;\n})();\nvar statearr_36765_37888 \x3d state_36756__$1;\n(statearr_36765_37888[(2)] \x3d null);\n\n(statearr_36765_37888[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (4))){\nvar inst_36725 \x3d (state_36756[(10)]);\nvar state_36756__$1 \x3d state_36756;\nreturn cljs.core.async.ioc_alts_BANG_(state_36756__$1,(7),inst_36725);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (6))){\nvar inst_36752 \x3d (state_36756[(2)]);\nvar state_36756__$1 \x3d state_36756;\nvar statearr_36766_37889 \x3d state_36756__$1;\n(statearr_36766_37889[(2)] \x3d inst_36752);\n\n(statearr_36766_37889[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (3))){\nvar inst_36754 \x3d (state_36756[(2)]);\nvar state_36756__$1 \x3d state_36756;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36756__$1,inst_36754);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (2))){\nvar inst_36725 \x3d (state_36756[(10)]);\nvar inst_36727 \x3d cljs.core.count(inst_36725);\nvar inst_36728 \x3d (inst_36727 \x3e (0));\nvar state_36756__$1 \x3d state_36756;\nif(cljs.core.truth_(inst_36728)){\nvar statearr_36768_37890 \x3d state_36756__$1;\n(statearr_36768_37890[(1)] \x3d (4));\n\n} else {\nvar statearr_36769_37891 \x3d state_36756__$1;\n(statearr_36769_37891[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (11))){\nvar inst_36725 \x3d (state_36756[(10)]);\nvar inst_36745 \x3d (state_36756[(2)]);\nvar tmp36767 \x3d inst_36725;\nvar inst_36725__$1 \x3d tmp36767;\nvar state_36756__$1 \x3d (function (){var statearr_36770 \x3d state_36756;\n(statearr_36770[(11)] \x3d inst_36745);\n\n(statearr_36770[(10)] \x3d inst_36725__$1);\n\nreturn statearr_36770;\n})();\nvar statearr_36771_37893 \x3d state_36756__$1;\n(statearr_36771_37893[(2)] \x3d null);\n\n(statearr_36771_37893[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (9))){\nvar inst_36735 \x3d (state_36756[(8)]);\nvar state_36756__$1 \x3d state_36756;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36756__$1,(11),out,inst_36735);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (5))){\nvar inst_36750 \x3d cljs.core.async.close_BANG_(out);\nvar state_36756__$1 \x3d state_36756;\nvar statearr_36776_37894 \x3d state_36756__$1;\n(statearr_36776_37894[(2)] \x3d inst_36750);\n\n(statearr_36776_37894[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (10))){\nvar inst_36748 \x3d (state_36756[(2)]);\nvar state_36756__$1 \x3d state_36756;\nvar statearr_36777_37895 \x3d state_36756__$1;\n(statearr_36777_37895[(2)] \x3d inst_36748);\n\n(statearr_36777_37895[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36757 \x3d\x3d\x3d (8))){\nvar inst_36725 \x3d (state_36756[(10)]);\nvar inst_36734 \x3d (state_36756[(7)]);\nvar inst_36735 \x3d (state_36756[(8)]);\nvar inst_36736 \x3d (state_36756[(9)]);\nvar inst_36739 \x3d (function (){var cs \x3d inst_36725;\nvar vec__36730 \x3d inst_36734;\nvar v \x3d inst_36735;\nvar c \x3d inst_36736;\nreturn (function (p1__36721_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(c,p1__36721_SHARP_);\n});\n})();\nvar inst_36741 \x3d cljs.core.filterv(inst_36739,inst_36725);\nvar inst_36725__$1 \x3d inst_36741;\nvar state_36756__$1 \x3d (function (){var statearr_36778 \x3d state_36756;\n(statearr_36778[(10)] \x3d inst_36725__$1);\n\nreturn statearr_36778;\n})();\nvar statearr_36779_37896 \x3d state_36756__$1;\n(statearr_36779_37896[(2)] \x3d null);\n\n(statearr_36779_37896[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36780 \x3d [null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36780[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_36780[(1)] \x3d (1));\n\nreturn statearr_36780;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_36756){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_36756);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36781){var ex__34872__auto__ \x3d e36781;\nvar statearr_36782_37901 \x3d state_36756;\n(statearr_36782_37901[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_36756[(4)]))){\nvar statearr_36783_37902 \x3d state_36756;\n(statearr_36783_37902[(1)] \x3d cljs.core.first((state_36756[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37903 \x3d state_36756;\nstate_36756 \x3d G__37903;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_36756){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_36756);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36784 \x3d f__34995__auto__();\n(statearr_36784[(6)] \x3d c__34994__auto___37885);\n\nreturn statearr_36784;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.merge.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns a channel containing the single (collection) result of the\n * items taken from the channel conjoined to the supplied\n * collection. ch must close before into produces a result.\n */\ncljs.core.async.into \x3d (function cljs$core$async$into(coll,ch){\nreturn cljs.core.async.reduce(cljs.core.conj,coll,ch);\n});\n/**\n * Returns a channel that will return, at most, n items from ch. After n items\n * have been returned, or ch has been closed, the return chanel will close.\n * \n * The output channel is unbuffered by default, unless buf-or-n is given.\n */\ncljs.core.async.take \x3d (function cljs$core$async$take(var_args){\nvar G__36786 \x3d arguments.length;\nswitch (G__36786) {\ncase 2:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.take.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.take.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__34994__auto___37905 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_36830){\nvar state_val_36839 \x3d (state_36830[(1)]);\nif((state_val_36839 \x3d\x3d\x3d (7))){\nvar inst_36812 \x3d (state_36830[(7)]);\nvar inst_36812__$1 \x3d (state_36830[(2)]);\nvar inst_36813 \x3d (inst_36812__$1 \x3d\x3d null);\nvar inst_36814 \x3d cljs.core.not(inst_36813);\nvar state_36830__$1 \x3d (function (){var statearr_36852 \x3d state_36830;\n(statearr_36852[(7)] \x3d inst_36812__$1);\n\nreturn statearr_36852;\n})();\nif(inst_36814){\nvar statearr_36853_37906 \x3d state_36830__$1;\n(statearr_36853_37906[(1)] \x3d (8));\n\n} else {\nvar statearr_36854_37907 \x3d state_36830__$1;\n(statearr_36854_37907[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (1))){\nvar inst_36807 \x3d (0);\nvar state_36830__$1 \x3d (function (){var statearr_36855 \x3d state_36830;\n(statearr_36855[(8)] \x3d inst_36807);\n\nreturn statearr_36855;\n})();\nvar statearr_36856_37908 \x3d state_36830__$1;\n(statearr_36856_37908[(2)] \x3d null);\n\n(statearr_36856_37908[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (4))){\nvar state_36830__$1 \x3d state_36830;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36830__$1,(7),ch);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (6))){\nvar inst_36825 \x3d (state_36830[(2)]);\nvar state_36830__$1 \x3d state_36830;\nvar statearr_36859_37909 \x3d state_36830__$1;\n(statearr_36859_37909[(2)] \x3d inst_36825);\n\n(statearr_36859_37909[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (3))){\nvar inst_36827 \x3d (state_36830[(2)]);\nvar inst_36828 \x3d cljs.core.async.close_BANG_(out);\nvar state_36830__$1 \x3d (function (){var statearr_36860 \x3d state_36830;\n(statearr_36860[(9)] \x3d inst_36827);\n\nreturn statearr_36860;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36830__$1,inst_36828);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (2))){\nvar inst_36807 \x3d (state_36830[(8)]);\nvar inst_36809 \x3d (inst_36807 \x3c n);\nvar state_36830__$1 \x3d state_36830;\nif(cljs.core.truth_(inst_36809)){\nvar statearr_36862_37910 \x3d state_36830__$1;\n(statearr_36862_37910[(1)] \x3d (4));\n\n} else {\nvar statearr_36863_37911 \x3d state_36830__$1;\n(statearr_36863_37911[(1)] \x3d (5));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (11))){\nvar inst_36807 \x3d (state_36830[(8)]);\nvar inst_36817 \x3d (state_36830[(2)]);\nvar inst_36818 \x3d (inst_36807 + (1));\nvar inst_36807__$1 \x3d inst_36818;\nvar state_36830__$1 \x3d (function (){var statearr_36864 \x3d state_36830;\n(statearr_36864[(10)] \x3d inst_36817);\n\n(statearr_36864[(8)] \x3d inst_36807__$1);\n\nreturn statearr_36864;\n})();\nvar statearr_36865_37912 \x3d state_36830__$1;\n(statearr_36865_37912[(2)] \x3d null);\n\n(statearr_36865_37912[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (9))){\nvar state_36830__$1 \x3d state_36830;\nvar statearr_36866_37913 \x3d state_36830__$1;\n(statearr_36866_37913[(2)] \x3d null);\n\n(statearr_36866_37913[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (5))){\nvar state_36830__$1 \x3d state_36830;\nvar statearr_36867_37914 \x3d state_36830__$1;\n(statearr_36867_37914[(2)] \x3d null);\n\n(statearr_36867_37914[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (10))){\nvar inst_36822 \x3d (state_36830[(2)]);\nvar state_36830__$1 \x3d state_36830;\nvar statearr_36868_37915 \x3d state_36830__$1;\n(statearr_36868_37915[(2)] \x3d inst_36822);\n\n(statearr_36868_37915[(1)] \x3d (6));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36839 \x3d\x3d\x3d (8))){\nvar inst_36812 \x3d (state_36830[(7)]);\nvar state_36830__$1 \x3d state_36830;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36830__$1,(11),out,inst_36812);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36872 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_36872[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_36872[(1)] \x3d (1));\n\nreturn statearr_36872;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_36830){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_36830);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36873){var ex__34872__auto__ \x3d e36873;\nvar statearr_36874_37916 \x3d state_36830;\n(statearr_36874_37916[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_36830[(4)]))){\nvar statearr_36875_37917 \x3d state_36830;\n(statearr_36875_37917[(1)] \x3d cljs.core.first((state_36830[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37918 \x3d state_36830;\nstate_36830 \x3d G__37918;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_36830){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_36830);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36876 \x3d f__34995__auto__();\n(statearr_36876[(6)] \x3d c__34994__auto___37905);\n\nreturn statearr_36876;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.take.cljs$lang$maxFixedArity \x3d 3);\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Handler}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36881 \x3d (function (f,ch,meta36879,_,fn1,meta36882){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta36879 \x3d meta36879;\nthis._ \x3d _;\nthis.fn1 \x3d fn1;\nthis.meta36882 \x3d meta36882;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36883,meta36882__$1){\nvar self__ \x3d this;\nvar _36883__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36881(self__.f,self__.ch,self__.meta36879,self__._,self__.fn1,meta36882__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36883){\nvar self__ \x3d this;\nvar _36883__$1 \x3d this;\nreturn self__.meta36882;\n}));\n\n(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$async$impl$protocols$Handler$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn cljs.core.async.impl.protocols.active_QMARK_(self__.fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nreturn true;\n}));\n\n(cljs.core.async.t_cljs$core$async36881.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 \x3d (function (___$1){\nvar self__ \x3d this;\nvar ___$2 \x3d this;\nvar f1 \x3d cljs.core.async.impl.protocols.commit(self__.fn1);\nreturn (function (p1__36877_SHARP_){\nvar G__36884 \x3d (((p1__36877_SHARP_ \x3d\x3d null))?null:(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(p1__36877_SHARP_) : self__.f.call(null,p1__36877_SHARP_)));\nreturn (f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(G__36884) : f1.call(null,G__36884));\n});\n}));\n\n(cljs.core.async.t_cljs$core$async36881.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36879\x22,\x22meta36879\x22,1576118045,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(\x22cljs.core.async\x22,\x22t_cljs$core$async36878\x22,\x22cljs.core.async/t_cljs$core$async36878\x22,771103641,null)], null)),new cljs.core.Symbol(null,\x22fn1\x22,\x22fn1\x22,895834444,null),new cljs.core.Symbol(null,\x22meta36882\x22,\x22meta36882\x22,-1560378881,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36881.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36881.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36881\x22);\n\n(cljs.core.async.t_cljs$core$async36881.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36881\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36881.\n */\ncljs.core.async.__GT_t_cljs$core$async36881 \x3d (function cljs$core$async$__GT_t_cljs$core$async36881(f,ch,meta36879,_,fn1,meta36882){\nreturn (new cljs.core.async.t_cljs$core$async36881(f,ch,meta36879,_,fn1,meta36882));\n});\n\n\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36878 \x3d (function (f,ch,meta36879){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta36879 \x3d meta36879;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36880,meta36879__$1){\nvar self__ \x3d this;\nvar _36880__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36878(self__.f,self__.ch,meta36879__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36880){\nvar self__ \x3d this;\nvar _36880__$1 \x3d this;\nreturn self__.meta36879;\n}));\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.core.async.impl.protocols.take_BANG_(self__.ch,(new cljs.core.async.t_cljs$core$async36881(self__.f,self__.ch,self__.meta36879,___$1,fn1,cljs.core.PersistentArrayMap.EMPTY)));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d ret;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!((cljs.core.deref(ret) \x3d\x3d null)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.async.impl.channels.box((function (){var G__36885 \x3d cljs.core.deref(ret);\nreturn (self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(G__36885) : self__.f.call(null,G__36885));\n})());\n} else {\nreturn ret;\n}\n}));\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36878.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36878.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36879\x22,\x22meta36879\x22,1576118045,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36878.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36878.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36878\x22);\n\n(cljs.core.async.t_cljs$core$async36878.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36878\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36878.\n */\ncljs.core.async.__GT_t_cljs$core$async36878 \x3d (function cljs$core$async$__GT_t_cljs$core$async36878(f,ch,meta36879){\nreturn (new cljs.core.async.t_cljs$core$async36878(f,ch,meta36879));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_LT_ \x3d (function cljs$core$async$map_LT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async36878(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36894 \x3d (function (f,ch,meta36895){\nthis.f \x3d f;\nthis.ch \x3d ch;\nthis.meta36895 \x3d meta36895;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36896,meta36895__$1){\nvar self__ \x3d this;\nvar _36896__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36894(self__.f,self__.ch,meta36895__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36896){\nvar self__ \x3d this;\nvar _36896__$1 \x3d this;\nreturn self__.meta36895;\n}));\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36894.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,(self__.f.cljs$core$IFn$_invoke$arity$1 ? self__.f.cljs$core$IFn$_invoke$arity$1(val) : self__.f.call(null,val)),fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36894.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36895\x22,\x22meta36895\x22,-1631034978,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36894.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36894.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36894\x22);\n\n(cljs.core.async.t_cljs$core$async36894.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36894\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36894.\n */\ncljs.core.async.__GT_t_cljs$core$async36894 \x3d (function cljs$core$async$__GT_t_cljs$core$async36894(f,ch,meta36895){\nreturn (new cljs.core.async.t_cljs$core$async36894(f,ch,meta36895));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.map_GT_ \x3d (function cljs$core$async$map_GT_(f,ch){\nreturn (new cljs.core.async.t_cljs$core$async36894(f,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.async.impl.protocols.Channel}\n * @implements {cljs.core.async.impl.protocols.WritePort}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.core.async.t_cljs$core$async36900 \x3d (function (p,ch,meta36901){\nthis.p \x3d p;\nthis.ch \x3d ch;\nthis.meta36901 \x3d meta36901;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36902,meta36901__$1){\nvar self__ \x3d this;\nvar _36902__$1 \x3d this;\nreturn (new cljs.core.async.t_cljs$core$async36900(self__.p,self__.ch,meta36901__$1));\n}));\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36902){\nvar self__ \x3d this;\nvar _36902__$1 \x3d this;\nreturn self__.meta36901;\n}));\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$Channel$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$Channel$close_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.close_BANG_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$Channel$closed_QMARK_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.closed_QMARK_(self__.ch);\n}));\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (_,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.ch,fn1);\n}));\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$WritePort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.async.t_cljs$core$async36900.prototype.cljs$core$async$impl$protocols$WritePort$put_BANG_$arity$3 \x3d (function (_,val,fn1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.p.cljs$core$IFn$_invoke$arity$1 ? self__.p.cljs$core$IFn$_invoke$arity$1(val) : self__.p.call(null,val)))){\nreturn cljs.core.async.impl.protocols.put_BANG_(self__.ch,val,fn1);\n} else {\nreturn cljs.core.async.impl.channels.box(cljs.core.not(cljs.core.async.impl.protocols.closed_QMARK_(self__.ch)));\n}\n}));\n\n(cljs.core.async.t_cljs$core$async36900.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22ch\x22,\x22ch\x22,1085813622,null),new cljs.core.Symbol(null,\x22meta36901\x22,\x22meta36901\x22,-242059838,null)], null);\n}));\n\n(cljs.core.async.t_cljs$core$async36900.cljs$lang$type \x3d true);\n\n(cljs.core.async.t_cljs$core$async36900.cljs$lang$ctorStr \x3d \x22cljs.core.async/t_cljs$core$async36900\x22);\n\n(cljs.core.async.t_cljs$core$async36900.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.core.async/t_cljs$core$async36900\x22);\n}));\n\n/**\n * Positional factory function for cljs.core.async/t_cljs$core$async36900.\n */\ncljs.core.async.__GT_t_cljs$core$async36900 \x3d (function cljs$core$async$__GT_t_cljs$core$async36900(p,ch,meta36901){\nreturn (new cljs.core.async.t_cljs$core$async36900(p,ch,meta36901));\n});\n\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_GT_ \x3d (function cljs$core$async$filter_GT_(p,ch){\nreturn (new cljs.core.async.t_cljs$core$async36900(p,ch,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_GT_ \x3d (function cljs$core$async$remove_GT_(p,ch){\nreturn cljs.core.async.filter_GT_(cljs.core.complement(p),ch);\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.filter_LT_ \x3d (function cljs$core$async$filter_LT_(var_args){\nvar G__36909 \x3d arguments.length;\nswitch (G__36909) {\ncase 2:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__34994__auto___37933 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_36933){\nvar state_val_36934 \x3d (state_36933[(1)]);\nif((state_val_36934 \x3d\x3d\x3d (7))){\nvar inst_36929 \x3d (state_36933[(2)]);\nvar state_36933__$1 \x3d state_36933;\nvar statearr_36935_37934 \x3d state_36933__$1;\n(statearr_36935_37934[(2)] \x3d inst_36929);\n\n(statearr_36935_37934[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (1))){\nvar state_36933__$1 \x3d state_36933;\nvar statearr_36936_37935 \x3d state_36933__$1;\n(statearr_36936_37935[(2)] \x3d null);\n\n(statearr_36936_37935[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (4))){\nvar inst_36915 \x3d (state_36933[(7)]);\nvar inst_36915__$1 \x3d (state_36933[(2)]);\nvar inst_36916 \x3d (inst_36915__$1 \x3d\x3d null);\nvar state_36933__$1 \x3d (function (){var statearr_36937 \x3d state_36933;\n(statearr_36937[(7)] \x3d inst_36915__$1);\n\nreturn statearr_36937;\n})();\nif(cljs.core.truth_(inst_36916)){\nvar statearr_36938_37936 \x3d state_36933__$1;\n(statearr_36938_37936[(1)] \x3d (5));\n\n} else {\nvar statearr_36939_37937 \x3d state_36933__$1;\n(statearr_36939_37937[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (6))){\nvar inst_36915 \x3d (state_36933[(7)]);\nvar inst_36920 \x3d (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(inst_36915) : p.call(null,inst_36915));\nvar state_36933__$1 \x3d state_36933;\nif(cljs.core.truth_(inst_36920)){\nvar statearr_36940_37942 \x3d state_36933__$1;\n(statearr_36940_37942[(1)] \x3d (8));\n\n} else {\nvar statearr_36941_37943 \x3d state_36933__$1;\n(statearr_36941_37943[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (3))){\nvar inst_36931 \x3d (state_36933[(2)]);\nvar state_36933__$1 \x3d state_36933;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_36933__$1,inst_36931);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (2))){\nvar state_36933__$1 \x3d state_36933;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_36933__$1,(4),ch);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (11))){\nvar inst_36923 \x3d (state_36933[(2)]);\nvar state_36933__$1 \x3d state_36933;\nvar statearr_36942_37946 \x3d state_36933__$1;\n(statearr_36942_37946[(2)] \x3d inst_36923);\n\n(statearr_36942_37946[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (9))){\nvar state_36933__$1 \x3d state_36933;\nvar statearr_36943_37947 \x3d state_36933__$1;\n(statearr_36943_37947[(2)] \x3d null);\n\n(statearr_36943_37947[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (5))){\nvar inst_36918 \x3d cljs.core.async.close_BANG_(out);\nvar state_36933__$1 \x3d state_36933;\nvar statearr_36944_37948 \x3d state_36933__$1;\n(statearr_36944_37948[(2)] \x3d inst_36918);\n\n(statearr_36944_37948[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (10))){\nvar inst_36926 \x3d (state_36933[(2)]);\nvar state_36933__$1 \x3d (function (){var statearr_36945 \x3d state_36933;\n(statearr_36945[(8)] \x3d inst_36926);\n\nreturn statearr_36945;\n})();\nvar statearr_36949_37949 \x3d state_36933__$1;\n(statearr_36949_37949[(2)] \x3d null);\n\n(statearr_36949_37949[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_36934 \x3d\x3d\x3d (8))){\nvar inst_36915 \x3d (state_36933[(7)]);\nvar state_36933__$1 \x3d state_36933;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_36933__$1,(11),out,inst_36915);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_36950 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_36950[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_36950[(1)] \x3d (1));\n\nreturn statearr_36950;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_36933){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_36933);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e36951){var ex__34872__auto__ \x3d e36951;\nvar statearr_36952_37952 \x3d state_36933;\n(statearr_36952_37952[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_36933[(4)]))){\nvar statearr_36953_37953 \x3d state_36933;\n(statearr_36953_37953[(1)] \x3d cljs.core.first((state_36933[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__37954 \x3d state_36933;\nstate_36933 \x3d G__37954;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_36933){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_36933);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_36954 \x3d f__34995__auto__();\n(statearr_36954[(6)] \x3d c__34994__auto___37933);\n\nreturn statearr_36954;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.filter_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.remove_LT_ \x3d (function cljs$core$async$remove_LT_(var_args){\nvar G__36966 \x3d arguments.length;\nswitch (G__36966) {\ncase 2:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (p,ch){\nreturn cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3(p,ch,null);\n}));\n\n(cljs.core.async.remove_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (p,ch,buf_or_n){\nreturn cljs.core.async.filter_LT_.cljs$core$IFn$_invoke$arity$3(cljs.core.complement(p),ch,buf_or_n);\n}));\n\n(cljs.core.async.remove_LT_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.async.mapcat_STAR_ \x3d (function cljs$core$async$mapcat_STAR_(f,in$,out){\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_37058){\nvar state_val_37059 \x3d (state_37058[(1)]);\nif((state_val_37059 \x3d\x3d\x3d (7))){\nvar inst_37050 \x3d (state_37058[(2)]);\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37062_37958 \x3d state_37058__$1;\n(statearr_37062_37958[(2)] \x3d inst_37050);\n\n(statearr_37062_37958[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (20))){\nvar inst_37010 \x3d (state_37058[(7)]);\nvar inst_37028 \x3d (state_37058[(2)]);\nvar inst_37029 \x3d cljs.core.next(inst_37010);\nvar inst_36993 \x3d inst_37029;\nvar inst_36994 \x3d null;\nvar inst_36995 \x3d (0);\nvar inst_36996 \x3d (0);\nvar state_37058__$1 \x3d (function (){var statearr_37063 \x3d state_37058;\n(statearr_37063[(8)] \x3d inst_37028);\n\n(statearr_37063[(9)] \x3d inst_36993);\n\n(statearr_37063[(10)] \x3d inst_36994);\n\n(statearr_37063[(11)] \x3d inst_36995);\n\n(statearr_37063[(12)] \x3d inst_36996);\n\nreturn statearr_37063;\n})();\nvar statearr_37064_37959 \x3d state_37058__$1;\n(statearr_37064_37959[(2)] \x3d null);\n\n(statearr_37064_37959[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (1))){\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37065_37961 \x3d state_37058__$1;\n(statearr_37065_37961[(2)] \x3d null);\n\n(statearr_37065_37961[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (4))){\nvar inst_36982 \x3d (state_37058[(13)]);\nvar inst_36982__$1 \x3d (state_37058[(2)]);\nvar inst_36983 \x3d (inst_36982__$1 \x3d\x3d null);\nvar state_37058__$1 \x3d (function (){var statearr_37066 \x3d state_37058;\n(statearr_37066[(13)] \x3d inst_36982__$1);\n\nreturn statearr_37066;\n})();\nif(cljs.core.truth_(inst_36983)){\nvar statearr_37067_37962 \x3d state_37058__$1;\n(statearr_37067_37962[(1)] \x3d (5));\n\n} else {\nvar statearr_37068_37963 \x3d state_37058__$1;\n(statearr_37068_37963[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (15))){\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37072_37964 \x3d state_37058__$1;\n(statearr_37072_37964[(2)] \x3d null);\n\n(statearr_37072_37964[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (21))){\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37073_37965 \x3d state_37058__$1;\n(statearr_37073_37965[(2)] \x3d null);\n\n(statearr_37073_37965[(1)] \x3d (23));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (13))){\nvar inst_36996 \x3d (state_37058[(12)]);\nvar inst_36993 \x3d (state_37058[(9)]);\nvar inst_36994 \x3d (state_37058[(10)]);\nvar inst_36995 \x3d (state_37058[(11)]);\nvar inst_37003 \x3d (state_37058[(2)]);\nvar inst_37004 \x3d (inst_36996 + (1));\nvar tmp37069 \x3d inst_36995;\nvar tmp37070 \x3d inst_36993;\nvar tmp37071 \x3d inst_36994;\nvar inst_36993__$1 \x3d tmp37070;\nvar inst_36994__$1 \x3d tmp37071;\nvar inst_36995__$1 \x3d tmp37069;\nvar inst_36996__$1 \x3d inst_37004;\nvar state_37058__$1 \x3d (function (){var statearr_37074 \x3d state_37058;\n(statearr_37074[(14)] \x3d inst_37003);\n\n(statearr_37074[(9)] \x3d inst_36993__$1);\n\n(statearr_37074[(10)] \x3d inst_36994__$1);\n\n(statearr_37074[(11)] \x3d inst_36995__$1);\n\n(statearr_37074[(12)] \x3d inst_36996__$1);\n\nreturn statearr_37074;\n})();\nvar statearr_37075_37966 \x3d state_37058__$1;\n(statearr_37075_37966[(2)] \x3d null);\n\n(statearr_37075_37966[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (22))){\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37076_37967 \x3d state_37058__$1;\n(statearr_37076_37967[(2)] \x3d null);\n\n(statearr_37076_37967[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (6))){\nvar inst_36982 \x3d (state_37058[(13)]);\nvar inst_36991 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_36982) : f.call(null,inst_36982));\nvar inst_36992 \x3d cljs.core.seq(inst_36991);\nvar inst_36993 \x3d inst_36992;\nvar inst_36994 \x3d null;\nvar inst_36995 \x3d (0);\nvar inst_36996 \x3d (0);\nvar state_37058__$1 \x3d (function (){var statearr_37077 \x3d state_37058;\n(statearr_37077[(9)] \x3d inst_36993);\n\n(statearr_37077[(10)] \x3d inst_36994);\n\n(statearr_37077[(11)] \x3d inst_36995);\n\n(statearr_37077[(12)] \x3d inst_36996);\n\nreturn statearr_37077;\n})();\nvar statearr_37078_37968 \x3d state_37058__$1;\n(statearr_37078_37968[(2)] \x3d null);\n\n(statearr_37078_37968[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (17))){\nvar inst_37010 \x3d (state_37058[(7)]);\nvar inst_37018 \x3d cljs.core.chunk_first(inst_37010);\nvar inst_37022 \x3d cljs.core.chunk_rest(inst_37010);\nvar inst_37023 \x3d cljs.core.count(inst_37018);\nvar inst_36993 \x3d inst_37022;\nvar inst_36994 \x3d inst_37018;\nvar inst_36995 \x3d inst_37023;\nvar inst_36996 \x3d (0);\nvar state_37058__$1 \x3d (function (){var statearr_37079 \x3d state_37058;\n(statearr_37079[(9)] \x3d inst_36993);\n\n(statearr_37079[(10)] \x3d inst_36994);\n\n(statearr_37079[(11)] \x3d inst_36995);\n\n(statearr_37079[(12)] \x3d inst_36996);\n\nreturn statearr_37079;\n})();\nvar statearr_37080_37973 \x3d state_37058__$1;\n(statearr_37080_37973[(2)] \x3d null);\n\n(statearr_37080_37973[(1)] \x3d (8));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (3))){\nvar inst_37052 \x3d (state_37058[(2)]);\nvar state_37058__$1 \x3d state_37058;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37058__$1,inst_37052);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (12))){\nvar inst_37037 \x3d (state_37058[(2)]);\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37081_37978 \x3d state_37058__$1;\n(statearr_37081_37978[(2)] \x3d inst_37037);\n\n(statearr_37081_37978[(1)] \x3d (9));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (2))){\nvar state_37058__$1 \x3d state_37058;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37058__$1,(4),in$);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (23))){\nvar inst_37048 \x3d (state_37058[(2)]);\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37082_37979 \x3d state_37058__$1;\n(statearr_37082_37979[(2)] \x3d inst_37048);\n\n(statearr_37082_37979[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (19))){\nvar inst_37032 \x3d (state_37058[(2)]);\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37083_37980 \x3d state_37058__$1;\n(statearr_37083_37980[(2)] \x3d inst_37032);\n\n(statearr_37083_37980[(1)] \x3d (16));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (11))){\nvar inst_36993 \x3d (state_37058[(9)]);\nvar inst_37010 \x3d (state_37058[(7)]);\nvar inst_37010__$1 \x3d cljs.core.seq(inst_36993);\nvar state_37058__$1 \x3d (function (){var statearr_37084 \x3d state_37058;\n(statearr_37084[(7)] \x3d inst_37010__$1);\n\nreturn statearr_37084;\n})();\nif(inst_37010__$1){\nvar statearr_37085_37985 \x3d state_37058__$1;\n(statearr_37085_37985[(1)] \x3d (14));\n\n} else {\nvar statearr_37086_37986 \x3d state_37058__$1;\n(statearr_37086_37986[(1)] \x3d (15));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (9))){\nvar inst_37039 \x3d (state_37058[(2)]);\nvar inst_37043 \x3d cljs.core.async.impl.protocols.closed_QMARK_(out);\nvar state_37058__$1 \x3d (function (){var statearr_37087 \x3d state_37058;\n(statearr_37087[(15)] \x3d inst_37039);\n\nreturn statearr_37087;\n})();\nif(cljs.core.truth_(inst_37043)){\nvar statearr_37088_37996 \x3d state_37058__$1;\n(statearr_37088_37996[(1)] \x3d (21));\n\n} else {\nvar statearr_37089_38001 \x3d state_37058__$1;\n(statearr_37089_38001[(1)] \x3d (22));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (5))){\nvar inst_36985 \x3d cljs.core.async.close_BANG_(out);\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37090_38002 \x3d state_37058__$1;\n(statearr_37090_38002[(2)] \x3d inst_36985);\n\n(statearr_37090_38002[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (14))){\nvar inst_37010 \x3d (state_37058[(7)]);\nvar inst_37016 \x3d cljs.core.chunked_seq_QMARK_(inst_37010);\nvar state_37058__$1 \x3d state_37058;\nif(inst_37016){\nvar statearr_37091_38003 \x3d state_37058__$1;\n(statearr_37091_38003[(1)] \x3d (17));\n\n} else {\nvar statearr_37092_38004 \x3d state_37058__$1;\n(statearr_37092_38004[(1)] \x3d (18));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (16))){\nvar inst_37035 \x3d (state_37058[(2)]);\nvar state_37058__$1 \x3d state_37058;\nvar statearr_37093_38005 \x3d state_37058__$1;\n(statearr_37093_38005[(2)] \x3d inst_37035);\n\n(statearr_37093_38005[(1)] \x3d (12));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (10))){\nvar inst_36994 \x3d (state_37058[(10)]);\nvar inst_36996 \x3d (state_37058[(12)]);\nvar inst_37001 \x3d cljs.core._nth(inst_36994,inst_36996);\nvar state_37058__$1 \x3d state_37058;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37058__$1,(13),out,inst_37001);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (18))){\nvar inst_37010 \x3d (state_37058[(7)]);\nvar inst_37026 \x3d cljs.core.first(inst_37010);\nvar state_37058__$1 \x3d state_37058;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37058__$1,(20),out,inst_37026);\n} else {\nif((state_val_37059 \x3d\x3d\x3d (8))){\nvar inst_36996 \x3d (state_37058[(12)]);\nvar inst_36995 \x3d (state_37058[(11)]);\nvar inst_36998 \x3d (inst_36996 \x3c inst_36995);\nvar inst_36999 \x3d inst_36998;\nvar state_37058__$1 \x3d state_37058;\nif(cljs.core.truth_(inst_36999)){\nvar statearr_37096_38017 \x3d state_37058__$1;\n(statearr_37096_38017[(1)] \x3d (10));\n\n} else {\nvar statearr_37097_38018 \x3d state_37058__$1;\n(statearr_37097_38018[(1)] \x3d (11));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_37098 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37098[(0)] \x3d cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__);\n\n(statearr_37098[(1)] \x3d (1));\n\nreturn statearr_37098;\n});\nvar cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____1 \x3d (function (state_37058){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_37058);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e37100){var ex__34872__auto__ \x3d e37100;\nvar statearr_37101_38024 \x3d state_37058;\n(statearr_37101_38024[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_37058[(4)]))){\nvar statearr_37112_38031 \x3d state_37058;\n(statearr_37112_38031[(1)] \x3d cljs.core.first((state_37058[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38035 \x3d state_37058;\nstate_37058 \x3d G__38035;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$mapcat_STAR__$_state_machine__34869__auto__ \x3d function(state_37058){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____1.call(this,state_37058);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$mapcat_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____0;\ncljs$core$async$mapcat_STAR__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$mapcat_STAR__$_state_machine__34869__auto____1;\nreturn cljs$core$async$mapcat_STAR__$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_37113 \x3d f__34995__auto__();\n(statearr_37113[(6)] \x3d c__34994__auto__);\n\nreturn statearr_37113;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n});\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_LT_ \x3d (function cljs$core$async$mapcat_LT_(var_args){\nvar G__37116 \x3d arguments.length;\nswitch (G__37116) {\ncase 2:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,in$){\nreturn cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3(f,in$,null);\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,in$,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn out;\n}));\n\n(cljs.core.async.mapcat_LT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.mapcat_GT_ \x3d (function cljs$core$async$mapcat_GT_(var_args){\nvar G__37119 \x3d arguments.length;\nswitch (G__37119) {\ncase 2:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,out){\nreturn cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3(f,out,null);\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,out,buf_or_n){\nvar in$ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\ncljs.core.async.mapcat_STAR_(f,in$,out);\n\nreturn in$;\n}));\n\n(cljs.core.async.mapcat_GT_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.unique \x3d (function cljs$core$async$unique(var_args){\nvar G__37121 \x3d arguments.length;\nswitch (G__37121) {\ncase 1:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$1 \x3d (function (ch){\nreturn cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2(ch,null);\n}));\n\n(cljs.core.async.unique.cljs$core$IFn$_invoke$arity$2 \x3d (function (ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__34994__auto___38074 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_37147){\nvar state_val_37148 \x3d (state_37147[(1)]);\nif((state_val_37148 \x3d\x3d\x3d (7))){\nvar inst_37141 \x3d (state_37147[(2)]);\nvar state_37147__$1 \x3d state_37147;\nvar statearr_37150_38081 \x3d state_37147__$1;\n(statearr_37150_38081[(2)] \x3d inst_37141);\n\n(statearr_37150_38081[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (1))){\nvar inst_37122 \x3d null;\nvar state_37147__$1 \x3d (function (){var statearr_37151 \x3d state_37147;\n(statearr_37151[(7)] \x3d inst_37122);\n\nreturn statearr_37151;\n})();\nvar statearr_37152_38098 \x3d state_37147__$1;\n(statearr_37152_38098[(2)] \x3d null);\n\n(statearr_37152_38098[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (4))){\nvar inst_37125 \x3d (state_37147[(8)]);\nvar inst_37125__$1 \x3d (state_37147[(2)]);\nvar inst_37126 \x3d (inst_37125__$1 \x3d\x3d null);\nvar inst_37127 \x3d cljs.core.not(inst_37126);\nvar state_37147__$1 \x3d (function (){var statearr_37153 \x3d state_37147;\n(statearr_37153[(8)] \x3d inst_37125__$1);\n\nreturn statearr_37153;\n})();\nif(inst_37127){\nvar statearr_37154_38104 \x3d state_37147__$1;\n(statearr_37154_38104[(1)] \x3d (5));\n\n} else {\nvar statearr_37155_38105 \x3d state_37147__$1;\n(statearr_37155_38105[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (6))){\nvar state_37147__$1 \x3d state_37147;\nvar statearr_37156_38110 \x3d state_37147__$1;\n(statearr_37156_38110[(2)] \x3d null);\n\n(statearr_37156_38110[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (3))){\nvar inst_37143 \x3d (state_37147[(2)]);\nvar inst_37144 \x3d cljs.core.async.close_BANG_(out);\nvar state_37147__$1 \x3d (function (){var statearr_37157 \x3d state_37147;\n(statearr_37157[(9)] \x3d inst_37143);\n\nreturn statearr_37157;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37147__$1,inst_37144);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (2))){\nvar state_37147__$1 \x3d state_37147;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37147__$1,(4),ch);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (11))){\nvar inst_37125 \x3d (state_37147[(8)]);\nvar inst_37134 \x3d (state_37147[(2)]);\nvar inst_37122 \x3d inst_37125;\nvar state_37147__$1 \x3d (function (){var statearr_37167 \x3d state_37147;\n(statearr_37167[(10)] \x3d inst_37134);\n\n(statearr_37167[(7)] \x3d inst_37122);\n\nreturn statearr_37167;\n})();\nvar statearr_37168_38115 \x3d state_37147__$1;\n(statearr_37168_38115[(2)] \x3d null);\n\n(statearr_37168_38115[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (9))){\nvar inst_37125 \x3d (state_37147[(8)]);\nvar state_37147__$1 \x3d state_37147;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37147__$1,(11),out,inst_37125);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (5))){\nvar inst_37125 \x3d (state_37147[(8)]);\nvar inst_37122 \x3d (state_37147[(7)]);\nvar inst_37129 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_37125,inst_37122);\nvar state_37147__$1 \x3d state_37147;\nif(inst_37129){\nvar statearr_37171_38117 \x3d state_37147__$1;\n(statearr_37171_38117[(1)] \x3d (8));\n\n} else {\nvar statearr_37172_38118 \x3d state_37147__$1;\n(statearr_37172_38118[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (10))){\nvar inst_37137 \x3d (state_37147[(2)]);\nvar state_37147__$1 \x3d state_37147;\nvar statearr_37173_38123 \x3d state_37147__$1;\n(statearr_37173_38123[(2)] \x3d inst_37137);\n\n(statearr_37173_38123[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37148 \x3d\x3d\x3d (8))){\nvar inst_37122 \x3d (state_37147[(7)]);\nvar tmp37169 \x3d inst_37122;\nvar inst_37122__$1 \x3d tmp37169;\nvar state_37147__$1 \x3d (function (){var statearr_37174 \x3d state_37147;\n(statearr_37174[(7)] \x3d inst_37122__$1);\n\nreturn statearr_37174;\n})();\nvar statearr_37175_38125 \x3d state_37147__$1;\n(statearr_37175_38125[(2)] \x3d null);\n\n(statearr_37175_38125[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_37176 \x3d [null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37176[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_37176[(1)] \x3d (1));\n\nreturn statearr_37176;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_37147){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_37147);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e37177){var ex__34872__auto__ \x3d e37177;\nvar statearr_37178_38127 \x3d state_37147;\n(statearr_37178_38127[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_37147[(4)]))){\nvar statearr_37179_38129 \x3d state_37147;\n(statearr_37179_38129[(1)] \x3d cljs.core.first((state_37147[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38130 \x3d state_37147;\nstate_37147 \x3d G__38130;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_37147){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_37147);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_37180 \x3d f__34995__auto__();\n(statearr_37180[(6)] \x3d c__34994__auto___38074);\n\nreturn statearr_37180;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.unique.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition \x3d (function cljs$core$async$partition(var_args){\nvar G__37182 \x3d arguments.length;\nswitch (G__37182) {\ncase 2:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$2 \x3d (function (n,ch){\nreturn cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3(n,ch,null);\n}));\n\n(cljs.core.async.partition.cljs$core$IFn$_invoke$arity$3 \x3d (function (n,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__34994__auto___38133 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_37223){\nvar state_val_37224 \x3d (state_37223[(1)]);\nif((state_val_37224 \x3d\x3d\x3d (7))){\nvar inst_37218 \x3d (state_37223[(2)]);\nvar state_37223__$1 \x3d state_37223;\nvar statearr_37226_38134 \x3d state_37223__$1;\n(statearr_37226_38134[(2)] \x3d inst_37218);\n\n(statearr_37226_38134[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (1))){\nvar inst_37185 \x3d (new Array(n));\nvar inst_37186 \x3d inst_37185;\nvar inst_37187 \x3d (0);\nvar state_37223__$1 \x3d (function (){var statearr_37227 \x3d state_37223;\n(statearr_37227[(7)] \x3d inst_37186);\n\n(statearr_37227[(8)] \x3d inst_37187);\n\nreturn statearr_37227;\n})();\nvar statearr_37228_38140 \x3d state_37223__$1;\n(statearr_37228_38140[(2)] \x3d null);\n\n(statearr_37228_38140[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (4))){\nvar inst_37190 \x3d (state_37223[(9)]);\nvar inst_37190__$1 \x3d (state_37223[(2)]);\nvar inst_37191 \x3d (inst_37190__$1 \x3d\x3d null);\nvar inst_37192 \x3d cljs.core.not(inst_37191);\nvar state_37223__$1 \x3d (function (){var statearr_37229 \x3d state_37223;\n(statearr_37229[(9)] \x3d inst_37190__$1);\n\nreturn statearr_37229;\n})();\nif(inst_37192){\nvar statearr_37230_38141 \x3d state_37223__$1;\n(statearr_37230_38141[(1)] \x3d (5));\n\n} else {\nvar statearr_37231_38142 \x3d state_37223__$1;\n(statearr_37231_38142[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (15))){\nvar inst_37212 \x3d (state_37223[(2)]);\nvar state_37223__$1 \x3d state_37223;\nvar statearr_37232_38143 \x3d state_37223__$1;\n(statearr_37232_38143[(2)] \x3d inst_37212);\n\n(statearr_37232_38143[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (13))){\nvar state_37223__$1 \x3d state_37223;\nvar statearr_37233_38144 \x3d state_37223__$1;\n(statearr_37233_38144[(2)] \x3d null);\n\n(statearr_37233_38144[(1)] \x3d (14));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (6))){\nvar inst_37187 \x3d (state_37223[(8)]);\nvar inst_37208 \x3d (inst_37187 \x3e (0));\nvar state_37223__$1 \x3d state_37223;\nif(cljs.core.truth_(inst_37208)){\nvar statearr_37234_38146 \x3d state_37223__$1;\n(statearr_37234_38146[(1)] \x3d (12));\n\n} else {\nvar statearr_37235_38147 \x3d state_37223__$1;\n(statearr_37235_38147[(1)] \x3d (13));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (3))){\nvar inst_37220 \x3d (state_37223[(2)]);\nvar state_37223__$1 \x3d state_37223;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37223__$1,inst_37220);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (12))){\nvar inst_37186 \x3d (state_37223[(7)]);\nvar inst_37210 \x3d cljs.core.vec(inst_37186);\nvar state_37223__$1 \x3d state_37223;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37223__$1,(15),out,inst_37210);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (2))){\nvar state_37223__$1 \x3d state_37223;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37223__$1,(4),ch);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (11))){\nvar inst_37202 \x3d (state_37223[(2)]);\nvar inst_37203 \x3d (new Array(n));\nvar inst_37186 \x3d inst_37203;\nvar inst_37187 \x3d (0);\nvar state_37223__$1 \x3d (function (){var statearr_37236 \x3d state_37223;\n(statearr_37236[(10)] \x3d inst_37202);\n\n(statearr_37236[(7)] \x3d inst_37186);\n\n(statearr_37236[(8)] \x3d inst_37187);\n\nreturn statearr_37236;\n})();\nvar statearr_37244_38149 \x3d state_37223__$1;\n(statearr_37244_38149[(2)] \x3d null);\n\n(statearr_37244_38149[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (9))){\nvar inst_37186 \x3d (state_37223[(7)]);\nvar inst_37200 \x3d cljs.core.vec(inst_37186);\nvar state_37223__$1 \x3d state_37223;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37223__$1,(11),out,inst_37200);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (5))){\nvar inst_37186 \x3d (state_37223[(7)]);\nvar inst_37187 \x3d (state_37223[(8)]);\nvar inst_37190 \x3d (state_37223[(9)]);\nvar inst_37195 \x3d (state_37223[(11)]);\nvar inst_37194 \x3d (inst_37186[inst_37187] \x3d inst_37190);\nvar inst_37195__$1 \x3d (inst_37187 + (1));\nvar inst_37196 \x3d (inst_37195__$1 \x3c n);\nvar state_37223__$1 \x3d (function (){var statearr_37246 \x3d state_37223;\n(statearr_37246[(12)] \x3d inst_37194);\n\n(statearr_37246[(11)] \x3d inst_37195__$1);\n\nreturn statearr_37246;\n})();\nif(cljs.core.truth_(inst_37196)){\nvar statearr_37247_38150 \x3d state_37223__$1;\n(statearr_37247_38150[(1)] \x3d (8));\n\n} else {\nvar statearr_37248_38151 \x3d state_37223__$1;\n(statearr_37248_38151[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (14))){\nvar inst_37215 \x3d (state_37223[(2)]);\nvar inst_37216 \x3d cljs.core.async.close_BANG_(out);\nvar state_37223__$1 \x3d (function (){var statearr_37259 \x3d state_37223;\n(statearr_37259[(13)] \x3d inst_37215);\n\nreturn statearr_37259;\n})();\nvar statearr_37260_38152 \x3d state_37223__$1;\n(statearr_37260_38152[(2)] \x3d inst_37216);\n\n(statearr_37260_38152[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (10))){\nvar inst_37206 \x3d (state_37223[(2)]);\nvar state_37223__$1 \x3d state_37223;\nvar statearr_37261_38153 \x3d state_37223__$1;\n(statearr_37261_38153[(2)] \x3d inst_37206);\n\n(statearr_37261_38153[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37224 \x3d\x3d\x3d (8))){\nvar inst_37186 \x3d (state_37223[(7)]);\nvar inst_37195 \x3d (state_37223[(11)]);\nvar tmp37249 \x3d inst_37186;\nvar inst_37186__$1 \x3d tmp37249;\nvar inst_37187 \x3d inst_37195;\nvar state_37223__$1 \x3d (function (){var statearr_37262 \x3d state_37223;\n(statearr_37262[(7)] \x3d inst_37186__$1);\n\n(statearr_37262[(8)] \x3d inst_37187);\n\nreturn statearr_37262;\n})();\nvar statearr_37263_38155 \x3d state_37223__$1;\n(statearr_37263_38155[(2)] \x3d null);\n\n(statearr_37263_38155[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_37268 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37268[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_37268[(1)] \x3d (1));\n\nreturn statearr_37268;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_37223){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_37223);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e37269){var ex__34872__auto__ \x3d e37269;\nvar statearr_37277_38156 \x3d state_37223;\n(statearr_37277_38156[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_37223[(4)]))){\nvar statearr_37278_38157 \x3d state_37223;\n(statearr_37278_38157[(1)] \x3d cljs.core.first((state_37223[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38158 \x3d state_37223;\nstate_37223 \x3d G__38158;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_37223){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_37223);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_37280 \x3d f__34995__auto__();\n(statearr_37280[(6)] \x3d c__34994__auto___38133);\n\nreturn statearr_37280;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Deprecated - this function will be removed. Use transducer instead\n */\ncljs.core.async.partition_by \x3d (function cljs$core$async$partition_by(var_args){\nvar G__37284 \x3d arguments.length;\nswitch (G__37284) {\ncase 2:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,ch){\nreturn cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3(f,ch,null);\n}));\n\n(cljs.core.async.partition_by.cljs$core$IFn$_invoke$arity$3 \x3d (function (f,ch,buf_or_n){\nvar out \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1(buf_or_n);\nvar c__34994__auto___38160 \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_37339){\nvar state_val_37340 \x3d (state_37339[(1)]);\nif((state_val_37340 \x3d\x3d\x3d (7))){\nvar inst_37335 \x3d (state_37339[(2)]);\nvar state_37339__$1 \x3d state_37339;\nvar statearr_37341_38161 \x3d state_37339__$1;\n(statearr_37341_38161[(2)] \x3d inst_37335);\n\n(statearr_37341_38161[(1)] \x3d (3));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (1))){\nvar inst_37291 \x3d [];\nvar inst_37292 \x3d inst_37291;\nvar inst_37293 \x3d new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123);\nvar state_37339__$1 \x3d (function (){var statearr_37343 \x3d state_37339;\n(statearr_37343[(7)] \x3d inst_37292);\n\n(statearr_37343[(8)] \x3d inst_37293);\n\nreturn statearr_37343;\n})();\nvar statearr_37344_38167 \x3d state_37339__$1;\n(statearr_37344_38167[(2)] \x3d null);\n\n(statearr_37344_38167[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (4))){\nvar inst_37296 \x3d (state_37339[(9)]);\nvar inst_37296__$1 \x3d (state_37339[(2)]);\nvar inst_37297 \x3d (inst_37296__$1 \x3d\x3d null);\nvar inst_37298 \x3d cljs.core.not(inst_37297);\nvar state_37339__$1 \x3d (function (){var statearr_37352 \x3d state_37339;\n(statearr_37352[(9)] \x3d inst_37296__$1);\n\nreturn statearr_37352;\n})();\nif(inst_37298){\nvar statearr_37353_38169 \x3d state_37339__$1;\n(statearr_37353_38169[(1)] \x3d (5));\n\n} else {\nvar statearr_37354_38170 \x3d state_37339__$1;\n(statearr_37354_38170[(1)] \x3d (6));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (15))){\nvar inst_37292 \x3d (state_37339[(7)]);\nvar inst_37327 \x3d cljs.core.vec(inst_37292);\nvar state_37339__$1 \x3d state_37339;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37339__$1,(18),out,inst_37327);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (13))){\nvar inst_37322 \x3d (state_37339[(2)]);\nvar state_37339__$1 \x3d state_37339;\nvar statearr_37356_38177 \x3d state_37339__$1;\n(statearr_37356_38177[(2)] \x3d inst_37322);\n\n(statearr_37356_38177[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (6))){\nvar inst_37292 \x3d (state_37339[(7)]);\nvar inst_37324 \x3d inst_37292.length;\nvar inst_37325 \x3d (inst_37324 \x3e (0));\nvar state_37339__$1 \x3d state_37339;\nif(cljs.core.truth_(inst_37325)){\nvar statearr_37357_38178 \x3d state_37339__$1;\n(statearr_37357_38178[(1)] \x3d (15));\n\n} else {\nvar statearr_37358_38179 \x3d state_37339__$1;\n(statearr_37358_38179[(1)] \x3d (16));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (17))){\nvar inst_37332 \x3d (state_37339[(2)]);\nvar inst_37333 \x3d cljs.core.async.close_BANG_(out);\nvar state_37339__$1 \x3d (function (){var statearr_37359 \x3d state_37339;\n(statearr_37359[(10)] \x3d inst_37332);\n\nreturn statearr_37359;\n})();\nvar statearr_37360_38180 \x3d state_37339__$1;\n(statearr_37360_38180[(2)] \x3d inst_37333);\n\n(statearr_37360_38180[(1)] \x3d (7));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (3))){\nvar inst_37337 \x3d (state_37339[(2)]);\nvar state_37339__$1 \x3d state_37339;\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_37339__$1,inst_37337);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (12))){\nvar inst_37292 \x3d (state_37339[(7)]);\nvar inst_37314 \x3d cljs.core.vec(inst_37292);\nvar state_37339__$1 \x3d state_37339;\nreturn cljs.core.async.impl.ioc_helpers.put_BANG_(state_37339__$1,(14),out,inst_37314);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (2))){\nvar state_37339__$1 \x3d state_37339;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_37339__$1,(4),ch);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (11))){\nvar inst_37292 \x3d (state_37339[(7)]);\nvar inst_37296 \x3d (state_37339[(9)]);\nvar inst_37300 \x3d (state_37339[(11)]);\nvar inst_37311 \x3d inst_37292.push(inst_37296);\nvar tmp37363 \x3d inst_37292;\nvar inst_37292__$1 \x3d tmp37363;\nvar inst_37293 \x3d inst_37300;\nvar state_37339__$1 \x3d (function (){var statearr_37366 \x3d state_37339;\n(statearr_37366[(12)] \x3d inst_37311);\n\n(statearr_37366[(7)] \x3d inst_37292__$1);\n\n(statearr_37366[(8)] \x3d inst_37293);\n\nreturn statearr_37366;\n})();\nvar statearr_37367_38181 \x3d state_37339__$1;\n(statearr_37367_38181[(2)] \x3d null);\n\n(statearr_37367_38181[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (9))){\nvar inst_37293 \x3d (state_37339[(8)]);\nvar inst_37307 \x3d cljs.core.keyword_identical_QMARK_(inst_37293,new cljs.core.Keyword(\x22cljs.core.async\x22,\x22nothing\x22,\x22cljs.core.async/nothing\x22,-69252123));\nvar state_37339__$1 \x3d state_37339;\nvar statearr_37368_38183 \x3d state_37339__$1;\n(statearr_37368_38183[(2)] \x3d inst_37307);\n\n(statearr_37368_38183[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (5))){\nvar inst_37296 \x3d (state_37339[(9)]);\nvar inst_37300 \x3d (state_37339[(11)]);\nvar inst_37293 \x3d (state_37339[(8)]);\nvar inst_37304 \x3d (state_37339[(13)]);\nvar inst_37300__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(inst_37296) : f.call(null,inst_37296));\nvar inst_37304__$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(inst_37300__$1,inst_37293);\nvar state_37339__$1 \x3d (function (){var statearr_37370 \x3d state_37339;\n(statearr_37370[(11)] \x3d inst_37300__$1);\n\n(statearr_37370[(13)] \x3d inst_37304__$1);\n\nreturn statearr_37370;\n})();\nif(inst_37304__$1){\nvar statearr_37371_38189 \x3d state_37339__$1;\n(statearr_37371_38189[(1)] \x3d (8));\n\n} else {\nvar statearr_37373_38190 \x3d state_37339__$1;\n(statearr_37373_38190[(1)] \x3d (9));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (14))){\nvar inst_37296 \x3d (state_37339[(9)]);\nvar inst_37300 \x3d (state_37339[(11)]);\nvar inst_37316 \x3d (state_37339[(2)]);\nvar inst_37318 \x3d [];\nvar inst_37319 \x3d inst_37318.push(inst_37296);\nvar inst_37292 \x3d inst_37318;\nvar inst_37293 \x3d inst_37300;\nvar state_37339__$1 \x3d (function (){var statearr_37374 \x3d state_37339;\n(statearr_37374[(14)] \x3d inst_37316);\n\n(statearr_37374[(15)] \x3d inst_37319);\n\n(statearr_37374[(7)] \x3d inst_37292);\n\n(statearr_37374[(8)] \x3d inst_37293);\n\nreturn statearr_37374;\n})();\nvar statearr_37375_38191 \x3d state_37339__$1;\n(statearr_37375_38191[(2)] \x3d null);\n\n(statearr_37375_38191[(1)] \x3d (2));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (16))){\nvar state_37339__$1 \x3d state_37339;\nvar statearr_37376_38192 \x3d state_37339__$1;\n(statearr_37376_38192[(2)] \x3d null);\n\n(statearr_37376_38192[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (10))){\nvar inst_37309 \x3d (state_37339[(2)]);\nvar state_37339__$1 \x3d state_37339;\nif(cljs.core.truth_(inst_37309)){\nvar statearr_37377_38193 \x3d state_37339__$1;\n(statearr_37377_38193[(1)] \x3d (11));\n\n} else {\nvar statearr_37378_38194 \x3d state_37339__$1;\n(statearr_37378_38194[(1)] \x3d (12));\n\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (18))){\nvar inst_37329 \x3d (state_37339[(2)]);\nvar state_37339__$1 \x3d state_37339;\nvar statearr_37383_38195 \x3d state_37339__$1;\n(statearr_37383_38195[(2)] \x3d inst_37329);\n\n(statearr_37383_38195[(1)] \x3d (17));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nif((state_val_37340 \x3d\x3d\x3d (8))){\nvar inst_37304 \x3d (state_37339[(13)]);\nvar state_37339__$1 \x3d state_37339;\nvar statearr_37384_38197 \x3d state_37339__$1;\n(statearr_37384_38197[(2)] \x3d inst_37304);\n\n(statearr_37384_38197[(1)] \x3d (10));\n\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nreturn (function() {\nvar cljs$core$async$state_machine__34869__auto__ \x3d null;\nvar cljs$core$async$state_machine__34869__auto____0 \x3d (function (){\nvar statearr_37385 \x3d [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];\n(statearr_37385[(0)] \x3d cljs$core$async$state_machine__34869__auto__);\n\n(statearr_37385[(1)] \x3d (1));\n\nreturn statearr_37385;\n});\nvar cljs$core$async$state_machine__34869__auto____1 \x3d (function (state_37339){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_37339);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e37387){var ex__34872__auto__ \x3d e37387;\nvar statearr_37388_38199 \x3d state_37339;\n(statearr_37388_38199[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_37339[(4)]))){\nvar statearr_37389_38200 \x3d state_37339;\n(statearr_37389_38200[(1)] \x3d cljs.core.first((state_37339[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__38202 \x3d state_37339;\nstate_37339 \x3d G__38202;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\ncljs$core$async$state_machine__34869__auto__ \x3d function(state_37339){\nswitch(arguments.length){\ncase 0:\nreturn cljs$core$async$state_machine__34869__auto____0.call(this);\ncase 1:\nreturn cljs$core$async$state_machine__34869__auto____1.call(this,state_37339);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d cljs$core$async$state_machine__34869__auto____0;\ncljs$core$async$state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d cljs$core$async$state_machine__34869__auto____1;\nreturn cljs$core$async$state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_37390 \x3d f__34995__auto__();\n(statearr_37390[(6)] \x3d c__34994__auto___38160);\n\nreturn statearr_37390;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\n\nreturn out;\n}));\n\n(cljs.core.async.partition_by.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("shadow.util.js", true, "goog.provide(\x27shadow.util\x27);\nshadow.util.console_friendly \x3d (function shadow$util$console_friendly(a){\nif((a \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nif((a instanceof cljs.core.Keyword)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(a);\n} else {\nif(typeof a \x3d\x3d\x3d \x27string\x27){\nreturn a;\n} else {\nif(typeof a \x3d\x3d\x3d \x27number\x27){\nreturn a;\n} else {\nif((((!((a \x3d\x3d null))))?(((((a.cljs$lang$protocol_mask$partition0$ \x26 (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d a.cljs$core$IPrintWithWriter$))))?true:(((!a.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IPrintWithWriter,a))){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([a], 0));\n} else {\nreturn a;\n\n}\n}\n}\n}\n}\n});\nshadow.util.console_QMARK_ \x3d (typeof console !\x3d\x3d \x27undefined\x27);\nshadow.util.log \x3d (function shadow$util$log(var_args){\nvar G__34963 \x3d arguments.length;\nswitch (G__34963) {\ncase 1:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___35018 \x3d arguments.length;\nvar i__5750__auto___35020 \x3d (0);\nwhile(true){\nif((i__5750__auto___35020 \x3c len__5749__auto___35018)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___35020]));\n\nvar G__35022 \x3d (i__5750__auto___35020 + (1));\ni__5750__auto___35020 \x3d G__35022;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((6) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((6)),(0),null)):null);\nreturn shadow.util.log.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__5775__auto__);\n\n}\n});\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$1 \x3d (function (a1){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$2 \x3d (function (a1,a2){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$3 \x3d (function (a1,a2,a3){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$4 \x3d (function (a1,a2,a3,a4){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$5 \x3d (function (a1,a2,a3,a4,a5){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$6 \x3d (function (a1,a2,a3,a4,a5,a6){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6));\n} else {\nreturn null;\n}\n}));\n\n(shadow.util.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (a1,a2,a3,a4,a5,a6,more){\nif(shadow.util.console_QMARK_){\nreturn console.log(shadow.util.console_friendly(a1),shadow.util.console_friendly(a2),shadow.util.console_friendly(a3),shadow.util.console_friendly(a4),shadow.util.console_friendly(a5),shadow.util.console_friendly(a6),\x22more:\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));\n} else {\nreturn null;\n}\n}));\n\n/** @this {Function} */\n(shadow.util.log.cljs$lang$applyTo \x3d (function (seq34956){\nvar G__34957 \x3d cljs.core.first(seq34956);\nvar seq34956__$1 \x3d cljs.core.next(seq34956);\nvar G__34958 \x3d cljs.core.first(seq34956__$1);\nvar seq34956__$2 \x3d cljs.core.next(seq34956__$1);\nvar G__34959 \x3d cljs.core.first(seq34956__$2);\nvar seq34956__$3 \x3d cljs.core.next(seq34956__$2);\nvar G__34960 \x3d cljs.core.first(seq34956__$3);\nvar seq34956__$4 \x3d cljs.core.next(seq34956__$3);\nvar G__34961 \x3d cljs.core.first(seq34956__$4);\nvar seq34956__$5 \x3d cljs.core.next(seq34956__$4);\nvar G__34962 \x3d cljs.core.first(seq34956__$5);\nvar seq34956__$6 \x3d cljs.core.next(seq34956__$5);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__34957,G__34958,G__34959,G__34960,G__34961,G__34962,seq34956__$6);\n}));\n\n(shadow.util.log.cljs$lang$maxFixedArity \x3d (6));\n\nshadow.util.remove_from_vector \x3d (function shadow$util$remove_from_vector(coll,key){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,p__34982){\nvar vec__34983 \x3d p__34982;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34983,(0),null);\nvar item \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__34983,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(idx,key)){\nreturn v;\n} else {\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,item);\n}\n}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,coll)));\n});\nshadow.util.remove_item_from_coll \x3d (function shadow$util$remove_item_from_coll(coll,key,value){\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (16384))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IVector$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IVector,coll))){\nreturn shadow.util.remove_from_vector(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (1024))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$IMap$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMap,coll))){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,key);\n} else {\nif((((!((coll \x3d\x3d null))))?(((((coll.cljs$lang$protocol_mask$partition0$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d coll.cljs$core$ISet$))))?true:(((!coll.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISet,coll))){\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,value);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unknown coll type\x22,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22coll\x22,\x22coll\x22,1647737163),coll,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22value\x22,\x22value\x22,305978217),value], null));\n\n}\n}\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.object.js", true, "goog.provide(\x27shadow.object\x27);\nshadow.object.console_friendly \x3d shadow.util.console_friendly;\nshadow.object.log \x3d shadow.util.log;\nshadow.object.debug \x3d shadow.util.log;\nshadow.object.info \x3d shadow.util.log;\nshadow.object.warn \x3d shadow.util.log;\nshadow.object.error \x3d shadow.util.log;\nshadow.object.obj_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\nshadow.object.next_id \x3d (function shadow$object$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.obj_id,cljs.core.inc);\n});\nshadow.object.object_defs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.behavior_fns \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instances \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_parent \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.instance_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.events \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nshadow.object.define_event \x3d (function shadow$object$define_event(event_name,desc,args){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.events,cljs.core.assoc,event_name,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),event_name,new cljs.core.Keyword(null,\x22description\x22,\x22description\x22,-1428560544),desc,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n});\nshadow.object.unmunge \x3d (function shadow$object$unmunge(s){\nreturn clojure.string.replace(clojure.string.replace(s,/_DOT_/,\x22.\x22),/_/,\x22-\x22);\n});\nshadow.object.define_event(new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434),\x22object initialization\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),\x22object descruction\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22cause\x22,\x22cause\x22,231901252),\x22cause of destruction, :parent means the parent was destroyed, :direct is default\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),\x22called after the dom was created but has not entered the document yet\x22,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),\x22the dom that was created\x22], null)], null));\nshadow.object.define_event(new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596),\x22should be called whenever a dom node is added to the document, since that\\n is not in control of this library its up to you to call this\\n use (so/notify-tree! your-obj :dom/entered) to notify the node and every child you created\x22,cljs.core.PersistentVector.EMPTY);\nshadow.object.define_event(new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160),\x22need to rethink this\x22,cljs.core.PersistentVector.EMPTY);\n\n/**\n * @interface\n */\nshadow.object.IObject \x3d function(){};\n\nvar shadow$object$IObject$_id$dyn_38468 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._id[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._id[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-id\x22,this$);\n}\n}\n});\nshadow.object._id \x3d (function shadow$object$_id(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_id$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_id$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_id$dyn_38468(this$);\n}\n});\n\nvar shadow$object$IObject$_type$dyn_38469 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._type[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._type[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-type\x22,this$);\n}\n}\n});\nshadow.object._type \x3d (function shadow$object$_type(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_type$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_type$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_type$dyn_38469(this$);\n}\n});\n\nvar shadow$object$IObject$_data$dyn_38470 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._data[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._data[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-data\x22,this$);\n}\n}\n});\nshadow.object._data \x3d (function shadow$object$_data(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_data$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_data$arity$1(this$);\n} else {\nreturn shadow$object$IObject$_data$dyn_38470(this$);\n}\n});\n\nvar shadow$object$IObject$_update$dyn_38471 \x3d (function (this$,update_fn){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._update[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5374__auto__.call(null,this$,update_fn));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._update[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,update_fn) : m__5372__auto__.call(null,this$,update_fn));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-update\x22,this$);\n}\n}\n});\n/**\n * update and notify watches\n */\nshadow.object._update \x3d (function shadow$object$_update(this$,update_fn){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_update$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_update$arity$2(this$,update_fn);\n} else {\nreturn shadow$object$IObject$_update$dyn_38471(this$,update_fn);\n}\n});\n\nvar shadow$object$IObject$_destroy_BANG_$dyn_38472 \x3d (function (this$,cause){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.object._destroy_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5374__auto__.call(null,this$,cause));\n} else {\nvar m__5372__auto__ \x3d (shadow.object._destroy_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,cause) : m__5372__auto__.call(null,this$,cause));\n} else {\nthrow cljs.core.missing_protocol(\x22IObject.-destroy!\x22,this$);\n}\n}\n});\nshadow.object._destroy_BANG_ \x3d (function shadow$object$_destroy_BANG_(this$,cause){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$object$IObject$_destroy_BANG_$arity$2(this$,cause);\n} else {\nreturn shadow$object$IObject$_destroy_BANG_$dyn_38472(this$,cause);\n}\n});\n\nshadow.object.get_type \x3d (function shadow$object$get_type(this$){\nreturn shadow.object._type(this$);\n});\nshadow.object.get_type_attr \x3d (function shadow$object$get_type_attr(var_args){\nvar G__37488 \x3d arguments.length;\nswitch (G__37488) {\ncase 2:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,key){\nif((oref \x3d\x3d null)){\nreturn null;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null));\n}\n}));\n\n(shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,key,default$){\nif((oref \x3d\x3d null)){\nreturn default$;\n} else {\nvar type_id \x3d (((oref instanceof cljs.core.Keyword))?oref:shadow.object._type(oref));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type_id,key], null),default$);\n}\n}));\n\n(shadow.object.get_type_attr.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.get_dom \x3d (function shadow$object$get_dom(oref){\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(oref);\n});\ngoog.exportSymbol(\x27shadow.object.get_dom\x27, shadow.object.get_dom);\nshadow.object.get_by_id \x3d (function shadow$object$get_by_id(id){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),id);\n});\ngoog.exportSymbol(\x27shadow.object.get_by_id\x27, shadow.object.get_by_id);\nshadow.object.get_from_dom \x3d (function shadow$object$get_from_dom(dom){\nvar oid \x3d shadow.dom.data(dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(oid)){\nreturn shadow.object.get_by_id(parseInt(oid,(10)));\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_from_dom\x27, shadow.object.get_from_dom);\nshadow.object.is_object_QMARK_ \x3d (function shadow$object$is_object_QMARK_(obj_or_dom){\nvar or__5025__auto__ \x3d (((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn shadow.object.get_from_dom(obj_or_dom);\n}\n});\nshadow.object.equal_QMARK_ \x3d (function shadow$object$equal_QMARK_(obj,obj_or_dom){\nif((((!((obj \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.shadow$object$IObject$))))?true:(((!obj.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22can only test objects\x22,\x22\\n\x22,\x22(satisfies? IObject obj)\x22].join(\x27\x27)));\n}\n\nif((((!((obj_or_dom \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj_or_dom.shadow$object$IObject$))))?true:(((!obj_or_dom.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,obj_or_dom))){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),shadow.object._id(obj_or_dom));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._id(obj),(function (){var temp__5823__auto__ \x3d shadow.dom.data(obj_or_dom,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar oid \x3d temp__5823__auto__;\nreturn parseInt(oid,(10));\n} else {\nreturn null;\n}\n})());\n}\n});\nshadow.object.get_parent \x3d (function shadow$object$get_parent(oref){\nvar temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),shadow.object._id(oref));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar parent_id \x3d temp__5823__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instances),parent_id);\n} else {\nreturn null;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent\x27, shadow.object.get_parent);\nshadow.object.get_parent_of_type \x3d (function shadow$object$get_parent_of_type(oref,parent_type){\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(oref);\nwhile(true){\nif(cljs.core.truth_(parent)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(shadow.object._type(parent),parent_type)){\nreturn parent;\n} else {\nvar G__38477 \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(parent);\nparent \x3d G__38477;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\ngoog.exportSymbol(\x27shadow.object.get_parent_of_type\x27, shadow.object.get_parent_of_type);\nshadow.object.get_children \x3d (function shadow$object$get_children(parent){\nvar parent_id \x3d shadow.object._id(parent);\nvar child_ids \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(shadow.object.instance_children),parent_id,cljs.core.PersistentVector.EMPTY);\nvar instances \x3d cljs.core.deref(shadow.object.instances);\nreturn cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37548_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(instances,p1__37548_SHARP_);\n}),child_ids));\n});\ngoog.exportSymbol(\x27shadow.object.get_children\x27, shadow.object.get_children);\nshadow.object.tree_seq \x3d (function shadow$object$tree_seq(var_args){\nvar G__37558 \x3d arguments.length;\nswitch (G__37558) {\ncase 1:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\ngoog.exportSymbol(\x27shadow.object.tree_seq\x27, shadow.object.tree_seq);\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$1 \x3d (function (root){\nreturn shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2(root,(function (node){\nreturn true;\n}));\n}));\n\n(shadow.object.tree_seq.cljs$core$IFn$_invoke$arity$2 \x3d (function (root,branch_QMARK_){\nreturn cljs.core.tree_seq(branch_QMARK_,shadow.object.get_children,root);\n}));\n\n(shadow.object.tree_seq.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_children_of_type \x3d (function shadow$object$get_children_of_type(oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__37564_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__37564_SHARP_));\n}),shadow.object.get_children(oref));\n});\n/**\n * basically (get-children (:parent this))\n */\nshadow.object.get_siblings \x3d (function shadow$object$get_siblings(p__37577){\nvar map__37579 \x3d p__37577;\nvar map__37579__$1 \x3d cljs.core.__destructure_map(map__37579);\nvar oref \x3d map__37579__$1;\nvar parent \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37579__$1,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\nif(cljs.core.truth_(parent)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object has no parent, thus has no siblings\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nreturn shadow.object.get_children(parent);\n});\n/**\n * returns set of all siblings of a common type\n */\nshadow.object.get_siblings_of_type \x3d (function shadow$object$get_siblings_of_type(var_args){\nvar G__37590 \x3d arguments.length;\nswitch (G__37590) {\ncase 1:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2(oref,oref);\n}));\n\n(shadow.object.get_siblings_of_type.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,type){\nvar type_kw \x3d (((type instanceof cljs.core.Keyword))?type:shadow.object._type(type));\nreturn cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__37585_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(type_kw,shadow.object._type(p1__37585_SHARP_));\n}),shadow.object.get_siblings(oref));\n}));\n\n(shadow.object.get_siblings_of_type.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.get_collection_item \x3d (function shadow$object$get_collection_item(oref){\nvar item_key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,item_key);\n});\n/**\n * find the object that contains this dom node\n */\nshadow.object.find_containing_object \x3d (function shadow$object$find_containing_object(dom){\nwhile(true){\nvar temp__5821__auto__ \x3d shadow.object.get_from_dom(dom);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar obj \x3d temp__5821__auto__;\nreturn obj;\n} else {\nvar temp__5823__auto__ \x3d dom.parentElement;\nif(cljs.core.truth_(temp__5823__auto__)){\nvar parent \x3d temp__5823__auto__;\nvar G__38482 \x3d parent;\ndom \x3d G__38482;\ncontinue;\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.notify_BANG_ \x3d (function shadow$object$notify_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38483 \x3d arguments.length;\nvar i__5750__auto___38484 \x3d (0);\nwhile(true){\nif((i__5750__auto___38484 \x3c len__5749__auto___38483)){\nargs__5755__auto__.push((arguments[i__5750__auto___38484]));\n\nvar G__38485 \x3d (i__5750__auto___38484 + (1));\ni__5750__auto___38484 \x3d G__38485;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),ev], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar reactions_to_trigger \x3d temp__5823__auto__;\nvar seq__37625 \x3d cljs.core.seq(reactions_to_trigger);\nvar chunk__37626 \x3d null;\nvar count__37627 \x3d (0);\nvar i__37628 \x3d (0);\nwhile(true){\nif((i__37628 \x3c count__37627)){\nvar rfn \x3d chunk__37626.cljs$core$IIndexed$_nth$arity$2(null,i__37628);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__38487 \x3d seq__37625;\nvar G__38488 \x3d chunk__37626;\nvar G__38489 \x3d count__37627;\nvar G__38490 \x3d (i__37628 + (1));\nseq__37625 \x3d G__38487;\nchunk__37626 \x3d G__38488;\ncount__37627 \x3d G__38489;\ni__37628 \x3d G__38490;\ncontinue;\n} else {\nvar temp__5823__auto____$1 \x3d cljs.core.seq(seq__37625);\nif(temp__5823__auto____$1){\nvar seq__37625__$1 \x3d temp__5823__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__37625__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__37625__$1);\nvar G__38492 \x3d cljs.core.chunk_rest(seq__37625__$1);\nvar G__38493 \x3d c__5548__auto__;\nvar G__38494 \x3d cljs.core.count(c__5548__auto__);\nvar G__38495 \x3d (0);\nseq__37625 \x3d G__38492;\nchunk__37626 \x3d G__38493;\ncount__37627 \x3d G__38494;\ni__37628 \x3d G__38495;\ncontinue;\n} else {\nvar rfn \x3d cljs.core.first(seq__37625__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(rfn,cljs.core.cons(oref,args));\n\n\nvar G__38496 \x3d cljs.core.next(seq__37625__$1);\nvar G__38497 \x3d null;\nvar G__38498 \x3d (0);\nvar G__38499 \x3d (0);\nseq__37625 \x3d G__38496;\nchunk__37626 \x3d G__38497;\ncount__37627 \x3d G__38498;\ni__37628 \x3d G__38499;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.notify_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_BANG_.cljs$lang$applyTo \x3d (function (seq37608){\nvar G__37609 \x3d cljs.core.first(seq37608);\nvar seq37608__$1 \x3d cljs.core.next(seq37608);\nvar G__37610 \x3d cljs.core.first(seq37608__$1);\nvar seq37608__$2 \x3d cljs.core.next(seq37608__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37609,G__37610,seq37608__$2);\n}));\n\nshadow.object.do_notify_tree \x3d (function shadow$object$do_notify_tree(current_obj,ev,notify_fn){\nvar seq__37646_38501 \x3d cljs.core.seq(shadow.object.get_children(current_obj));\nvar chunk__37647_38502 \x3d null;\nvar count__37648_38503 \x3d (0);\nvar i__37649_38504 \x3d (0);\nwhile(true){\nif((i__37649_38504 \x3c count__37648_38503)){\nvar child_38505 \x3d chunk__37647_38502.cljs$core$IIndexed$_nth$arity$2(null,i__37649_38504);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_38505,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_38505,ev,notify_fn));\n\n\nvar G__38506 \x3d seq__37646_38501;\nvar G__38507 \x3d chunk__37647_38502;\nvar G__38508 \x3d count__37648_38503;\nvar G__38509 \x3d (i__37649_38504 + (1));\nseq__37646_38501 \x3d G__38506;\nchunk__37647_38502 \x3d G__38507;\ncount__37648_38503 \x3d G__38508;\ni__37649_38504 \x3d G__38509;\ncontinue;\n} else {\nvar temp__5823__auto___38510 \x3d cljs.core.seq(seq__37646_38501);\nif(temp__5823__auto___38510){\nvar seq__37646_38511__$1 \x3d temp__5823__auto___38510;\nif(cljs.core.chunked_seq_QMARK_(seq__37646_38511__$1)){\nvar c__5548__auto___38512 \x3d cljs.core.chunk_first(seq__37646_38511__$1);\nvar G__38514 \x3d cljs.core.chunk_rest(seq__37646_38511__$1);\nvar G__38515 \x3d c__5548__auto___38512;\nvar G__38516 \x3d cljs.core.count(c__5548__auto___38512);\nvar G__38517 \x3d (0);\nseq__37646_38501 \x3d G__38514;\nchunk__37647_38502 \x3d G__38515;\ncount__37648_38503 \x3d G__38516;\ni__37649_38504 \x3d G__38517;\ncontinue;\n} else {\nvar child_38519 \x3d cljs.core.first(seq__37646_38511__$1);\n(shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3 ? shadow.object.do_notify_tree.cljs$core$IFn$_invoke$arity$3(child_38519,ev,notify_fn) : shadow.object.do_notify_tree.call(null,child_38519,ev,notify_fn));\n\n\nvar G__38521 \x3d cljs.core.next(seq__37646_38511__$1);\nvar G__38522 \x3d null;\nvar G__38523 \x3d (0);\nvar G__38524 \x3d (0);\nseq__37646_38501 \x3d G__38521;\nchunk__37647_38502 \x3d G__38522;\ncount__37648_38503 \x3d G__38523;\ni__37649_38504 \x3d G__38524;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (notify_fn.cljs$core$IFn$_invoke$arity$1 ? notify_fn.cljs$core$IFn$_invoke$arity$1(current_obj) : notify_fn.call(null,current_obj));\n});\nshadow.object.notify_tree_BANG_ \x3d (function shadow$object$notify_tree_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38525 \x3d arguments.length;\nvar i__5750__auto___38526 \x3d (0);\nwhile(true){\nif((i__5750__auto___38526 \x3c len__5749__auto___38525)){\nargs__5755__auto__.push((arguments[i__5750__auto___38526]));\n\nvar G__38528 \x3d (i__5750__auto___38526 + (1));\ni__5750__auto___38526 \x3d G__38528;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.notify_tree_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar notify_fn \x3d (function (obj){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,obj,ev,args);\n});\nreturn shadow.object.do_notify_tree(oref,ev,notify_fn);\n}));\n\n(shadow.object.notify_tree_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_tree_BANG_.cljs$lang$applyTo \x3d (function (seq37663){\nvar G__37664 \x3d cljs.core.first(seq37663);\nvar seq37663__$1 \x3d cljs.core.next(seq37663);\nvar G__37665 \x3d cljs.core.first(seq37663__$1);\nvar seq37663__$2 \x3d cljs.core.next(seq37663__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37664,G__37665,seq37663__$2);\n}));\n\nshadow.object.notify_down_BANG_ \x3d shadow.object.notify_tree_BANG_;\nshadow.object.notify_up_BANG_ \x3d (function shadow$object$notify_up_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38529 \x3d arguments.length;\nvar i__5750__auto___38530 \x3d (0);\nwhile(true){\nif((i__5750__auto___38530 \x3c len__5749__auto___38529)){\nargs__5755__auto__.push((arguments[i__5750__auto___38530]));\n\nvar G__38531 \x3d (i__5750__auto___38530 + (1));\ni__5750__auto___38530 \x3d G__38531;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.notify_up_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,ev,args){\nvar current \x3d shadow.object.get_parent(oref);\nwhile(true){\nif(cljs.core.truth_(current)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(shadow.object.notify_BANG_,current,ev,args);\n\nvar G__38532 \x3d shadow.object.get_parent(current);\ncurrent \x3d G__38532;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.object.notify_up_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.notify_up_BANG_.cljs$lang$applyTo \x3d (function (seq37681){\nvar G__37682 \x3d cljs.core.first(seq37681);\nvar seq37681__$1 \x3d cljs.core.next(seq37681);\nvar G__37683 \x3d cljs.core.first(seq37681__$1);\nvar seq37681__$2 \x3d cljs.core.next(seq37681__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37682,G__37683,seq37681__$2);\n}));\n\nshadow.object.update_BANG_ \x3d (function shadow$object$update_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38533 \x3d arguments.length;\nvar i__5750__auto___38534 \x3d (0);\nwhile(true){\nif((i__5750__auto___38534 \x3c len__5749__auto___38533)){\nargs__5755__auto__.push((arguments[i__5750__auto___38534]));\n\nvar G__38535 \x3d (i__5750__auto___38534 + (1));\ni__5750__auto___38534 \x3d G__38535;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (oref,update_fn,args){\nif(cljs.core.fn_QMARK_(update_fn)){\n} else {\nthrow [\x22update! expects a fn as second arg, not \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([update_fn], 0))].join(\x27\x27);\n}\n\nvar id \x3d shadow.object._id(oref);\nvar data \x3d shadow.object._data(oref);\nvar work_fn \x3d (function (data__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(update_fn,data__$1,args);\n});\nreturn shadow.object._update(oref,work_fn);\n}));\n\n(shadow.object.update_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.update_BANG_.cljs$lang$applyTo \x3d (function (seq37704){\nvar G__37706 \x3d cljs.core.first(seq37704);\nvar seq37704__$1 \x3d cljs.core.next(seq37704);\nvar G__37707 \x3d cljs.core.first(seq37704__$1);\nvar seq37704__$2 \x3d cljs.core.next(seq37704__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37706,G__37707,seq37704__$2);\n}));\n\nshadow.object.return_value \x3d (function shadow$object$return_value(oref,return_value){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360),return_value], 0));\n});\nshadow.object.set_parent_BANG_ \x3d (function shadow$object$set_parent_BANG_(child,parent){\nvar child_id \x3d shadow.object._id(child);\nvar parent_id \x3d shadow.object._id(parent);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instance_parent,cljs.core.assoc,child_id,parent_id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(shadow.object.instance_children,(function (x){\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.PersistentHashSet.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(x,parent_id,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,child_id));\n}));\n\nreturn true;\n});\nshadow.object.dom_destroy \x3d (function shadow$object$dom_destroy(this$,cause){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cause,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779))){\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n} else {\nvar temp__5821__auto__ \x3d shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(this$,new cljs.core.Keyword(\x22dom\x22,\x22remove\x22,\x22dom/remove\x22,-131527420));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar custom_remove \x3d temp__5821__auto__;\nvar G__37738 \x3d this$;\nvar G__37739 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$);\nreturn (custom_remove.cljs$core$IFn$_invoke$arity$2 ? custom_remove.cljs$core$IFn$_invoke$arity$2(G__37738,G__37739) : custom_remove.call(null,G__37738,G__37739));\n} else {\nreturn shadow.dom.remove(new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(this$));\n}\n}\n});\nshadow.object.destroy_BANG_ \x3d (function shadow$object$destroy_BANG_(var_args){\nvar G__37741 \x3d arguments.length;\nswitch (G__37741) {\ncase 1:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1 \x3d (function (oref){\nreturn shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(null,\x22direct\x22,\x22direct\x22,-1775717856));\n}));\n\n(shadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,cause){\nreturn shadow.object._destroy_BANG_(oref,cause);\n}));\n\n(shadow.object.destroy_BANG_.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.object.bind_dom_events \x3d (function shadow$object$bind_dom_events(oref,dom,dom_events){\nif((cljs.core.rem(cljs.core.count(dom_events),(2)) \x3d\x3d\x3d (0))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object defined invalid event\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22object-type\x22,\x22object-type\x22,-1889869015),shadow.object._type(oref),new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527),dom_events], null));\n}\n\nvar seq__37742 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),dom_events));\nvar chunk__37743 \x3d null;\nvar count__37744 \x3d (0);\nvar i__37745 \x3d (0);\nwhile(true){\nif((i__37745 \x3c count__37744)){\nvar vec__37783 \x3d chunk__37743.cljs$core$IIndexed$_nth$arity$2(null,i__37745);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37783,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37783,(1),null);\nvar ev_def \x3d vec__37783;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_38547__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__37742,chunk__37743,count__37744,i__37745,vec__37783,ev,handler,ev_def){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__37742,chunk__37743,count__37744,i__37745,vec__37783,ev,handler,ev_def))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__37742,chunk__37743,count__37744,i__37745,handler_38547__$1,vec__37783,ev,handler,ev_def){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_38547__$1.cljs$core$IFn$_invoke$arity$3 ? handler_38547__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_38547__$1.call(null,oref,e,el));\n});})(seq__37742,chunk__37743,count__37744,i__37745,handler_38547__$1,vec__37783,ev,handler,ev_def))\n);\n\n\nvar G__38550 \x3d seq__37742;\nvar G__38551 \x3d chunk__37743;\nvar G__38552 \x3d count__37744;\nvar G__38553 \x3d (i__37745 + (1));\nseq__37742 \x3d G__38550;\nchunk__37743 \x3d G__38551;\ncount__37744 \x3d G__38552;\ni__37745 \x3d G__38553;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__37742);\nif(temp__5823__auto__){\nvar seq__37742__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__37742__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__37742__$1);\nvar G__38554 \x3d cljs.core.chunk_rest(seq__37742__$1);\nvar G__38555 \x3d c__5548__auto__;\nvar G__38556 \x3d cljs.core.count(c__5548__auto__);\nvar G__38557 \x3d (0);\nseq__37742 \x3d G__38554;\nchunk__37743 \x3d G__38555;\ncount__37744 \x3d G__38556;\ni__37745 \x3d G__38557;\ncontinue;\n} else {\nvar vec__37794 \x3d cljs.core.first(seq__37742__$1);\nvar ev \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37794,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37794,(1),null);\nvar ev_def \x3d vec__37794;\nif((handler \x3d\x3d null)){\nthrow [\x22ev with nil handler \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ev], 0))].join(\x27\x27);\n} else {\n}\n\nvar handler_38558__$1 \x3d (((handler instanceof cljs.core.Keyword))?((function (seq__37742,chunk__37743,count__37744,i__37745,vec__37794,ev,handler,ev_def,seq__37742__$1,temp__5823__auto__){\nreturn (function (this$,e,el){\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$,handler,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,el], 0));\n});})(seq__37742,chunk__37743,count__37744,i__37745,vec__37794,ev,handler,ev_def,seq__37742__$1,temp__5823__auto__))\n:handler);\nshadow.dom.on.cljs$core$IFn$_invoke$arity$3(dom,ev,((function (seq__37742,chunk__37743,count__37744,i__37745,handler_38558__$1,vec__37794,ev,handler,ev_def,seq__37742__$1,temp__5823__auto__){\nreturn (function shadow$object$bind_dom_events_$_dom_event_handler(e,el){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22A\x22,el.tagName)){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n} else {\n}\n\nreturn (handler_38558__$1.cljs$core$IFn$_invoke$arity$3 ? handler_38558__$1.cljs$core$IFn$_invoke$arity$3(oref,e,el) : handler_38558__$1.call(null,oref,e,el));\n});})(seq__37742,chunk__37743,count__37744,i__37745,handler_38558__$1,vec__37794,ev,handler,ev_def,seq__37742__$1,temp__5823__auto__))\n);\n\n\nvar G__38559 \x3d cljs.core.next(seq__37742__$1);\nvar G__38560 \x3d null;\nvar G__38561 \x3d (0);\nvar G__38562 \x3d (0);\nseq__37742 \x3d G__38559;\nchunk__37743 \x3d G__38560;\ncount__37744 \x3d G__38561;\ni__37745 \x3d G__38562;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.object.reaction_merge \x3d (function shadow$object$reaction_merge(result,p__37801){\nvar vec__37802 \x3d p__37801;\nvar event \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37802,(0),null);\nvar handler \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37802,(1),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d event;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn handler;\n} else {\nreturn and__5023__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid reaction\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22event\x22,\x22event\x22,301435442),event,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),handler], null));\n}\n\nvar current \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.List.EMPTY);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(result,event,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(current,handler));\n});\nshadow.object.merge_reactions \x3d (function shadow$object$merge_reactions(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behaviors must be vectors\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(behavior))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid behavior\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n}\n\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.reaction_merge,result,cljs.core.reverse(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),behavior)));\n});\nshadow.object.merge_behaviors \x3d (function shadow$object$merge_behaviors(result,behavior){\nif(cljs.core.sequential_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,behavior);\n} else {\nif(cljs.core.map_QMARK_(behavior)){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(result,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277)], null),(function (watches){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(watches,new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY));\n})),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527)], null),(function (default$){\nreturn cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(default$,new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(behavior,cljs.core.PersistentVector.EMPTY)));\n}));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22behavior not understood\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22behavior\x22,\x22behavior\x22,1202392908),behavior], null));\n\n}\n}\n});\nshadow.object.define \x3d (function shadow$object$define(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38572 \x3d arguments.length;\nvar i__5750__auto___38573 \x3d (0);\nwhile(true){\nif((i__5750__auto___38573 \x3c len__5749__auto___38572)){\nargs__5755__auto__.push((arguments[i__5750__auto___38573]));\n\nvar G__38575 \x3d (i__5750__auto___38573 + (1));\ni__5750__auto___38573 \x3d G__38575;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn shadow.object.define.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(shadow.object.define.cljs$core$IFn$_invoke$arity$variadic \x3d (function (id,args){\nif((id instanceof cljs.core.Keyword)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22object id needs to be a keyword\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(args))){\n} else {\nthrow [\x22invalid object definition \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id),\x22 args: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0))].join(\x27\x27);\n}\n\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),id)){\nconsole.warn([\x22object already defined \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(id)].join(\x27\x27));\n} else {\n}\n\ntry{var odef \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,args);\nvar reactions \x3d shadow.object.merge_reactions(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY));\nvar odef__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22id\x22,\x22shadow.object/id\x22,-647954841),id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),reactions], 0));\nvar odef__$2 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(shadow.object.merge_behaviors,odef__$1,cljs.core.reverse(new cljs.core.Keyword(null,\x22behaviors\x22,\x22behaviors\x22,120724909).cljs$core$IFn$_invoke$arity$2(odef__$1,cljs.core.PersistentVector.EMPTY)));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.object_defs,cljs.core.assoc,id,odef__$2);\n\nreturn odef__$2;\n}catch (e37840){if((e37840 instanceof Object)){\nvar e \x3d e37840;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to define object\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),id,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\nthrow e37840;\n\n}\n}}));\n\n(shadow.object.define.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.object.define.cljs$lang$applyTo \x3d (function (seq37828){\nvar G__37829 \x3d cljs.core.first(seq37828);\nvar seq37828__$1 \x3d cljs.core.next(seq37828);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__37829,seq37828__$1);\n}));\n\nshadow.object.merge_defaults \x3d (function shadow$object$merge_defaults(data,type){\nvar defaults \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [type,new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214)], null));\nif((defaults \x3d\x3d null)){\nreturn data;\n} else {\nif(cljs.core.map_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([defaults,data], 0));\n} else {\nif(cljs.core.fn_QMARK_(defaults)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(defaults.cljs$core$IFn$_invoke$arity$0 ? defaults.cljs$core$IFn$_invoke$arity$0() : defaults.call(null)),data], 0));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid object defaults\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22defaults\x22,\x22defaults\x22,976027214),defaults,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type], null));\n\n}\n}\n}\n});\nshadow.object.make_dom \x3d (function shadow$object$make_dom(var_args){\nvar G__37853 \x3d arguments.length;\nswitch (G__37853) {\ncase 3:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,dom_key,events_key){\nreturn shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4(oref,dom_key,events_key,null);\n}));\n\n(shadow.object.make_dom.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,dom_key,events_key,value){\nvar dom_fn \x3d (((dom_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$2(oref,dom_key):dom_key);\nvar events \x3d (((events_key instanceof cljs.core.Keyword))?shadow.object.get_type_attr.cljs$core$IFn$_invoke$arity$3(oref,events_key,cljs.core.PersistentVector.EMPTY):events_key);\nvar dom \x3d (function (){var G__37871 \x3d (dom_fn.cljs$core$IFn$_invoke$arity$2 ? dom_fn.cljs$core$IFn$_invoke$arity$2(oref,value) : dom_fn.call(null,oref,value));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__37871) : shadow.dom.build.call(null,G__37871));\n})();\nshadow.object.bind_dom_events(oref,dom,events);\n\nreturn dom;\n}));\n\n(shadow.object.make_dom.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.alive_QMARK_ \x3d (function shadow$object$alive_QMARK_(obj){\nreturn cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.instances),shadow.object._id(obj));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.Watch \x3d (function (key,handler,__meta,__extmap,__hash){\nthis.key \x3d key;\nthis.handler \x3d handler;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k37879,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__37892 \x3d k37879;\nvar G__37892__$1 \x3d (((G__37892 instanceof cljs.core.Keyword))?G__37892.fqn:null);\nswitch (G__37892__$1) {\ncase \x22key\x22:\nreturn self__.key;\n\nbreak;\ncase \x22handler\x22:\nreturn self__.handler;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k37879,else__5326__auto__);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__37897){\nvar vec__37898 \x3d p__37897;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37898,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37898,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.object.Watch{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler],null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__37878){\nvar self__ \x3d this;\nvar G__37878__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__37878__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-17677043 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this37880,other37881){\nvar self__ \x3d this;\nvar this37880__$1 \x3d this;\nreturn (((!((other37881 \x3d\x3d null)))) \x26\x26 ((((this37880__$1.constructor \x3d\x3d\x3d other37881.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this37880__$1.key,other37881.key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this37880__$1.handler,other37881.handler)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this37880__$1.__extmap,other37881.__extmap)))))))));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k37879){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__37923 \x3d k37879;\nvar G__37923__$1 \x3d (((G__37923 instanceof cljs.core.Keyword))?G__37923.fqn:null);\nswitch (G__37923__$1) {\ncase \x22key\x22:\ncase \x22handler\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k37879);\n\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__37878){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__37927 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__37928 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__37927.cljs$core$IFn$_invoke$arity$2 ? pred__37927.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__37928) : pred__37927.call(null,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),expr__37928)))){\nreturn (new shadow.object.Watch(G__37878,self__.handler,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__37927.cljs$core$IFn$_invoke$arity$2 ? pred__37927.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__37928) : pred__37927.call(null,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),expr__37928)))){\nreturn (new shadow.object.Watch(self__.key,G__37878,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.object.Watch(self__.key,self__.handler,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__37878),null));\n}\n}\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),self__.key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612),self__.handler,null))], null),self__.__extmap));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__37878){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.object.Watch(self__.key,self__.handler,G__37878,self__.__extmap,self__.__hash));\n}));\n\n(shadow.object.Watch.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.object.Watch.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22handler\x22,\x22handler\x22,1444934915,null)], null);\n}));\n\n(shadow.object.Watch.cljs$lang$type \x3d true);\n\n(shadow.object.Watch.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.object/Watch\x22,null,(1),null));\n}));\n\n(shadow.object.Watch.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.object/Watch\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/Watch.\n */\nshadow.object.__GT_Watch \x3d (function shadow$object$__GT_Watch(key,handler){\nreturn (new shadow.object.Watch(key,handler,null,null,null));\n});\n\n/**\n * Factory function for shadow.object/Watch, taking a map of keywords to field values.\n */\nshadow.object.map__GT_Watch \x3d (function shadow$object$map__GT_Watch(G__37884){\nvar extmap__5365__auto__ \x3d (function (){var G__37951 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__37884,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612)], 0));\nif(cljs.core.record_QMARK_(G__37884)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__37951);\n} else {\nreturn G__37951;\n}\n})();\nreturn (new shadow.object.Watch(new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(G__37884),new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612).cljs$core$IFn$_invoke$arity$1(G__37884),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IEquiv}\n * @implements {shadow.object.IObject}\n * @implements {cljs.core.async.impl.protocols.ReadPort}\n * @implements {cljs.core.IDeref}\n * @implements {shadow.dom.IElement}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {shadow.dom.SVGElement}\n * @implements {cljs.core.ILookup}\n*/\nshadow.object.ObjectRef \x3d (function (id,type,data,watches,result_chan){\nthis.id \x3d id;\nthis.type \x3d type;\nthis.data \x3d data;\nthis.watches \x3d watches;\nthis.result_chan \x3d result_chan;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2149613824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.cljs$core$async$impl$protocols$ReadPort$take_BANG_$arity$2 \x3d (function (this$,handler){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.async.impl.protocols.take_BANG_(self__.result_chan,handler);\n}));\n\n(shadow.object.ObjectRef.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([this$], 0));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.data,k);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this$,k,d){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),k)){\nreturn shadow.object.get_parent(this$__$1);\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.data,k,d);\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,writer,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#\x3cObjectRef {:id \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.id),\x22, :type \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.type),\x22}\x3e\x22].join(\x27\x27));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$SVGElement$_to_svg$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((other instanceof shadow.object.ObjectRef)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.shadow$object$IObject$_id$arity$1(null),shadow.object._id(other))));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$dom$IElement$_to_dom$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311).cljs$core$IFn$_invoke$arity$1(self__.data);\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_notify_watches$arity$3 \x3d (function (this$,oldval,newval){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nthrow (new Error(\x22who be calling?\x22));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,f){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.watches,(new shadow.object.Watch(key,f,null,null,null))));\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (self__.watches \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__37956_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587).cljs$core$IFn$_invoke$arity$1(p1__37956_SHARP_));\n}),self__.watches));\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_id$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.id;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_type$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.type;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_data$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_update$arity$2 \x3d (function (this$,update_fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old \x3d self__.data;\nvar new$ \x3d (update_fn.cljs$core$IFn$_invoke$arity$1 ? update_fn.cljs$core$IFn$_invoke$arity$1(self__.data) : update_fn.call(null,self__.data));\n(self__.data \x3d new$);\n\nvar seq__38094 \x3d cljs.core.seq(self__.watches);\nvar chunk__38095 \x3d null;\nvar count__38096 \x3d (0);\nvar i__38097 \x3d (0);\nwhile(true){\nif((i__38097 \x3c count__38096)){\nvar map__38126 \x3d chunk__38095.cljs$core$IIndexed$_nth$arity$2(null,i__38097);\nvar map__38126__$1 \x3d cljs.core.__destructure_map(map__38126);\nvar watch \x3d map__38126__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38126__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38126__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__38602 \x3d seq__38094;\nvar G__38603 \x3d chunk__38095;\nvar G__38604 \x3d count__38096;\nvar G__38605 \x3d (i__38097 + (1));\nseq__38094 \x3d G__38602;\nchunk__38095 \x3d G__38603;\ncount__38096 \x3d G__38604;\ni__38097 \x3d G__38605;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__38094);\nif(temp__5823__auto__){\nvar seq__38094__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__38094__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__38094__$1);\nvar G__38606 \x3d cljs.core.chunk_rest(seq__38094__$1);\nvar G__38607 \x3d c__5548__auto__;\nvar G__38608 \x3d cljs.core.count(c__5548__auto__);\nvar G__38609 \x3d (0);\nseq__38094 \x3d G__38606;\nchunk__38095 \x3d G__38607;\ncount__38096 \x3d G__38608;\ni__38097 \x3d G__38609;\ncontinue;\n} else {\nvar map__38131 \x3d cljs.core.first(seq__38094__$1);\nvar map__38131__$1 \x3d cljs.core.__destructure_map(map__38131);\nvar watch \x3d map__38131__$1;\nvar key \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38131__$1,new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587));\nvar handler \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38131__$1,new cljs.core.Keyword(null,\x22handler\x22,\x22handler\x22,-195596612));\nif(shadow.object.alive_QMARK_(this$__$1)){\n(handler.cljs$core$IFn$_invoke$arity$4 ? handler.cljs$core$IFn$_invoke$arity$4(key,this$__$1,old,new$) : handler.call(null,key,this$__$1,old,new$));\n} else {\n}\n\n\nvar G__38610 \x3d cljs.core.next(seq__38094__$1);\nvar G__38611 \x3d null;\nvar G__38612 \x3d (0);\nvar G__38613 \x3d (0);\nseq__38094 \x3d G__38610;\nchunk__38095 \x3d G__38611;\ncount__38096 \x3d G__38612;\ni__38097 \x3d G__38613;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.shadow$object$IObject$_destroy_BANG_$arity$2 \x3d (function (this$,cause){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar parent_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.instance_parent),self__.id);\nvar seq__38136_38614 \x3d cljs.core.seq(shadow.object.get_children(this$__$1));\nvar chunk__38137_38615 \x3d null;\nvar count__38138_38616 \x3d (0);\nvar i__38139_38617 \x3d (0);\nwhile(true){\nif((i__38139_38617 \x3c count__38138_38616)){\nvar child_38618 \x3d chunk__38137_38615.cljs$core$IIndexed$_nth$arity$2(null,i__38139_38617);\nshadow.object._destroy_BANG_(child_38618,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__38619 \x3d seq__38136_38614;\nvar G__38620 \x3d chunk__38137_38615;\nvar G__38621 \x3d count__38138_38616;\nvar G__38622 \x3d (i__38139_38617 + (1));\nseq__38136_38614 \x3d G__38619;\nchunk__38137_38615 \x3d G__38620;\ncount__38138_38616 \x3d G__38621;\ni__38139_38617 \x3d G__38622;\ncontinue;\n} else {\nvar temp__5823__auto___38625 \x3d cljs.core.seq(seq__38136_38614);\nif(temp__5823__auto___38625){\nvar seq__38136_38626__$1 \x3d temp__5823__auto___38625;\nif(cljs.core.chunked_seq_QMARK_(seq__38136_38626__$1)){\nvar c__5548__auto___38627 \x3d cljs.core.chunk_first(seq__38136_38626__$1);\nvar G__38628 \x3d cljs.core.chunk_rest(seq__38136_38626__$1);\nvar G__38629 \x3d c__5548__auto___38627;\nvar G__38630 \x3d cljs.core.count(c__5548__auto___38627);\nvar G__38631 \x3d (0);\nseq__38136_38614 \x3d G__38628;\nchunk__38137_38615 \x3d G__38629;\ncount__38138_38616 \x3d G__38630;\ni__38139_38617 \x3d G__38631;\ncontinue;\n} else {\nvar child_38632 \x3d cljs.core.first(seq__38136_38626__$1);\nshadow.object._destroy_BANG_(child_38632,new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779));\n\n\nvar G__38633 \x3d cljs.core.next(seq__38136_38626__$1);\nvar G__38634 \x3d null;\nvar G__38635 \x3d (0);\nvar G__38636 \x3d (0);\nseq__38136_38614 \x3d G__38633;\nchunk__38137_38615 \x3d G__38634;\ncount__38138_38616 \x3d G__38635;\ni__38139_38617 \x3d G__38636;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(this$__$1,new cljs.core.Keyword(null,\x22destroy\x22,\x22destroy\x22,-843660405),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cause], 0));\n\nshadow.object.dom_destroy(this$__$1,cause);\n\nvar return_value_38637 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22return-value\x22,\x22shadow.object/return-value\x22,1397593360).cljs$core$IFn$_invoke$arity$1(this$__$1);\nif((return_value_38637 \x3d\x3d null)){\n} else {\ncljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2(self__.result_chan,return_value_38637);\n}\n\ncljs.core.async.close_BANG_(self__.result_chan);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instances,cljs.core.dissoc,self__.id);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.object.instance_parent,cljs.core.dissoc,self__.id);\n\nif(cljs.core.truth_(parent_id)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.object.instance_children,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [parent_id], null),cljs.core.disj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.id], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.object.ObjectRef.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn self__.data;\n}));\n\n(shadow.object.ObjectRef.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22result-chan\x22,\x22result-chan\x22,3070926,null)], null);\n}));\n\n(shadow.object.ObjectRef.cljs$lang$type \x3d true);\n\n(shadow.object.ObjectRef.cljs$lang$ctorStr \x3d \x22shadow.object/ObjectRef\x22);\n\n(shadow.object.ObjectRef.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.object/ObjectRef\x22);\n}));\n\n/**\n * Positional factory function for shadow.object/ObjectRef.\n */\nshadow.object.__GT_ObjectRef \x3d (function shadow$object$__GT_ObjectRef(id,type,data,watches,result_chan){\nreturn (new shadow.object.ObjectRef(id,type,data,watches,result_chan));\n});\n\nshadow.object.add_reaction_BANG_ \x3d (function shadow$object$add_reaction_BANG_(var_args){\nvar G__38168 \x3d arguments.length;\nswitch (G__38168) {\ncase 3:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,ev,handler_fn){\nreturn shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ev,handler_fn], null));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,list){\nreturn shadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.update_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633)], null),shadow.object.merge_reactions,list], 0));\n}));\n\n(shadow.object.add_reaction_BANG_.cljs$lang$maxFixedArity \x3d 3);\n\nshadow.object.bind_change \x3d (function shadow$object$bind_change(var_args){\nvar G__38188 \x3d arguments.length;\nswitch (G__38188) {\ncase 3:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,callback){\nreturn shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4(oref,attr,callback,cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind-change\x22));\n}));\n\n(shadow.object.bind_change.cljs$core$IFn$_invoke$arity$4 \x3d (function (oref,attr,callback,watch_key){\nif((((!((oref \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d oref.shadow$object$IObject$))))?true:(((!oref.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref):false)):cljs.core.native_satisfies_QMARK_(shadow.object.IObject,oref))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22binding currently only supports shadow objects, other atoms might leak, may add later\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref,new cljs.core.Keyword(null,\x22attr\x22,\x22attr\x22,-604132353),attr], null));\n}\n\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nreturn cljs.core.add_watch(oref,watch_key,(function shadow$object$bind_change_watch(_,___$1,old,new$){\nvar ov \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(old,attr__$1);\nvar nv \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new$,attr__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ov,nv)){\nreturn null;\n} else {\nreturn (callback.cljs$core$IFn$_invoke$arity$2 ? callback.cljs$core$IFn$_invoke$arity$2(ov,nv) : callback.call(null,ov,nv));\n}\n}));\n}));\n\n(shadow.object.bind_change.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.object.dom_enter \x3d (function shadow$object$dom_enter(parent,child){\nshadow.dom.append.cljs$core$IFn$_invoke$arity$2(parent,child);\n\nif(cljs.core.truth_(shadow.dom.contains_QMARK_.cljs$core$IFn$_invoke$arity$1(parent))){\nreturn shadow.object.notify_tree_BANG_(child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n} else {\nreturn null;\n}\n});\nshadow.object.create \x3d (function shadow$object$create(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38649 \x3d arguments.length;\nvar i__5750__auto___38650 \x3d (0);\nwhile(true){\nif((i__5750__auto___38650 \x3c len__5749__auto___38649)){\nargs__5755__auto__.push((arguments[i__5750__auto___38650]));\n\nvar G__38651 \x3d (i__5750__auto___38650 + (1));\ni__5750__auto___38650 \x3d G__38651;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.object.create.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.object.create.cljs$core$IFn$_invoke$arity$variadic \x3d (function (type,args,node_children){\nif(cljs.core.contains_QMARK_(cljs.core.deref(shadow.object.object_defs),type)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22cannot create unknown child type: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(type)].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),type,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nif(cljs.core.map_QMARK_(args)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22so/create second arg must be a map\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n}\n\nvar oid \x3d shadow.object.next_id();\nvar parent \x3d new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779).cljs$core$IFn$_invoke$arity$1(args);\nvar result_chan \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\nvar odef \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.object.object_defs),type);\nvar obj \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(shadow.object.merge_defaults(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Keyword(\x22shadow.object\x22,\x22object-id\x22,\x22shadow.object/object-id\x22,-685993804),oid,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.get.cljs$core$IFn$_invoke$arity$3(odef,new cljs.core.Keyword(\x22shadow.object\x22,\x22reactions\x22,\x22shadow.object/reactions\x22,1966199633),cljs.core.PersistentArrayMap.EMPTY)], 0)),type),new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922)], 0));\nvar oref \x3d (new shadow.object.ObjectRef(oid,type,obj,cljs.core.PersistentVector.EMPTY,result_chan));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.object.instances,cljs.core.assoc,oid,oref);\n\nif(cljs.core.truth_(parent)){\nshadow.object.set_parent_BANG_(oref,parent);\n} else {\n}\n\nshadow.object.notify_BANG_(oref,new cljs.core.Keyword(null,\x22init\x22,\x22init\x22,-1875481434));\n\nvar dom_events_38654 \x3d new cljs.core.Keyword(\x22dom\x22,\x22events\x22,\x22dom/events\x22,1793437527).cljs$core$IFn$_invoke$arity$2(odef,cljs.core.PersistentVector.EMPTY);\nvar temp__5821__auto___38655 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(args);\nif(cljs.core.truth_(temp__5821__auto___38655)){\nvar dom_38656 \x3d temp__5821__auto___38655;\nshadow.dom.set_data(dom_38656,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.bind_dom_events(oref,dom_38656,dom_events_38654);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_38656], 0));\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_38656], 0));\n} else {\nvar temp__5823__auto___38658 \x3d new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5823__auto___38658)){\nvar dom_fn_38660 \x3d temp__5823__auto___38658;\nvar dom_38661 \x3d (function (){var G__38219 \x3d (dom_fn_38660.cljs$core$IFn$_invoke$arity$2 ? dom_fn_38660.cljs$core$IFn$_invoke$arity$2(oref,node_children) : dom_fn_38660.call(null,oref,node_children));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__38219) : shadow.dom.build.call(null,G__38219));\n})();\nshadow.dom.set_data(dom_38661,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.object\x22,\x22dom\x22,\x22shadow.object/dom\x22,-1238263311),dom_38661], 0));\n\nshadow.object.bind_dom_events(oref,dom_38661,dom_events_38654);\n\nshadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(oref,new cljs.core.Keyword(\x22dom\x22,\x22init\x22,\x22dom/init\x22,-1875647652),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([dom_38661], 0));\n} else {\n}\n}\n\nvar temp__5823__auto___38662 \x3d new cljs.core.Keyword(null,\x22watch\x22,\x22watch\x22,380988277).cljs$core$IFn$_invoke$arity$1(odef);\nif(cljs.core.truth_(temp__5823__auto___38662)){\nvar watches_38664 \x3d temp__5823__auto___38662;\nvar seq__38221_38665 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),watches_38664));\nvar chunk__38222_38666 \x3d null;\nvar count__38223_38667 \x3d (0);\nvar i__38224_38668 \x3d (0);\nwhile(true){\nif((i__38224_38668 \x3c count__38223_38667)){\nvar vec__38234_38672 \x3d chunk__38222_38666.cljs$core$IIndexed$_nth$arity$2(null,i__38224_38668);\nvar attr_38673 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38234_38672,(0),null);\nvar handler_38674 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38234_38672,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_38673,((function (seq__38221_38665,chunk__38222_38666,count__38223_38667,i__38224_38668,vec__38234_38672,attr_38673,handler_38674,watches_38664,temp__5823__auto___38662,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_38674.cljs$core$IFn$_invoke$arity$3 ? handler_38674.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_38674.call(null,oref,old,new$));\n});})(seq__38221_38665,chunk__38222_38666,count__38223_38667,i__38224_38668,vec__38234_38672,attr_38673,handler_38674,watches_38664,temp__5823__auto___38662,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__38675 \x3d seq__38221_38665;\nvar G__38676 \x3d chunk__38222_38666;\nvar G__38677 \x3d count__38223_38667;\nvar G__38678 \x3d (i__38224_38668 + (1));\nseq__38221_38665 \x3d G__38675;\nchunk__38222_38666 \x3d G__38676;\ncount__38223_38667 \x3d G__38677;\ni__38224_38668 \x3d G__38678;\ncontinue;\n} else {\nvar temp__5823__auto___38679__$1 \x3d cljs.core.seq(seq__38221_38665);\nif(temp__5823__auto___38679__$1){\nvar seq__38221_38683__$1 \x3d temp__5823__auto___38679__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__38221_38683__$1)){\nvar c__5548__auto___38684 \x3d cljs.core.chunk_first(seq__38221_38683__$1);\nvar G__38687 \x3d cljs.core.chunk_rest(seq__38221_38683__$1);\nvar G__38688 \x3d c__5548__auto___38684;\nvar G__38689 \x3d cljs.core.count(c__5548__auto___38684);\nvar G__38690 \x3d (0);\nseq__38221_38665 \x3d G__38687;\nchunk__38222_38666 \x3d G__38688;\ncount__38223_38667 \x3d G__38689;\ni__38224_38668 \x3d G__38690;\ncontinue;\n} else {\nvar vec__38240_38693 \x3d cljs.core.first(seq__38221_38683__$1);\nvar attr_38694 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38240_38693,(0),null);\nvar handler_38695 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38240_38693,(1),null);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr_38694,((function (seq__38221_38665,chunk__38222_38666,count__38223_38667,i__38224_38668,vec__38240_38693,attr_38694,handler_38695,seq__38221_38683__$1,temp__5823__auto___38679__$1,watches_38664,temp__5823__auto___38662,oid,parent,result_chan,odef,obj,oref){\nreturn (function (old,new$){\nreturn (handler_38695.cljs$core$IFn$_invoke$arity$3 ? handler_38695.cljs$core$IFn$_invoke$arity$3(oref,old,new$) : handler_38695.call(null,oref,old,new$));\n});})(seq__38221_38665,chunk__38222_38666,count__38223_38667,i__38224_38668,vec__38240_38693,attr_38694,handler_38695,seq__38221_38683__$1,temp__5823__auto___38679__$1,watches_38664,temp__5823__auto___38662,oid,parent,result_chan,odef,obj,oref))\n);\n\n\nvar G__38699 \x3d cljs.core.next(seq__38221_38683__$1);\nvar G__38700 \x3d null;\nvar G__38701 \x3d (0);\nvar G__38702 \x3d (0);\nseq__38221_38665 \x3d G__38699;\nchunk__38222_38666 \x3d G__38700;\ncount__38223_38667 \x3d G__38701;\ni__38224_38668 \x3d G__38702;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn oref;\n}));\n\n(shadow.object.create.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.object.create.cljs$lang$applyTo \x3d (function (seq38207){\nvar G__38209 \x3d cljs.core.first(seq38207);\nvar seq38207__$1 \x3d cljs.core.next(seq38207);\nvar G__38210 \x3d cljs.core.first(seq38207__$1);\nvar seq38207__$2 \x3d cljs.core.next(seq38207__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__38209,G__38210,seq38207__$2);\n}));\n\n/**\n * [oref attr node-gen] produces a node via (node-gen new-value)\n * watches obj for changes and replaces the generated node on change (node-gen defaults to str)\n * \n * only use if the node has no attached behavior like clicks, use bind with an extra object for those\n */\nshadow.object.bind_simple \x3d (function shadow$object$bind_simple(var_args){\nvar G__38248 \x3d arguments.length;\nswitch (G__38248) {\ncase 2:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$2 \x3d (function (oref,attr){\nreturn shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3(oref,attr,cljs.core.str);\n}));\n\n(shadow.object.bind_simple.cljs$core$IFn$_invoke$arity$3 \x3d (function (oref,attr,node_gen){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar node_get \x3d (function (p1__38246_SHARP_){\nvar G__38251 \x3d (node_gen.cljs$core$IFn$_invoke$arity$1 ? node_gen.cljs$core$IFn$_invoke$arity$1(p1__38246_SHARP_) : node_gen.call(null,p1__38246_SHARP_));\nreturn (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(G__38251) : shadow.dom.build.call(null,G__38251));\n});\nvar node \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(node_get(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1)));\nvar bind_key \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22bind\x22);\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_node \x3d node_get(new$);\nvar current_node \x3d cljs.core.deref(node);\nshadow.dom.replace_node(current_node,new_node);\n\nreturn cljs.core.reset_BANG_(node,new_node);\n}));\n\nreturn cljs.core.deref(node);\n}));\n\n(shadow.object.bind_simple.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * bind the given attribute a child item\n * the item will be recreated whenever the value changes (old one will be destroyed)\n */\nshadow.object.bind \x3d (function shadow$object$bind(oref,attr,item_type,item_key,item_attrs){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar curval \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(oref,attr__$1);\nvar make_child_fn \x3d (function (value){\nreturn shadow.object.create(item_type,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([item_attrs,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),oref,item_key,value])], 0)));\n});\nvar child \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(make_child_fn(curval));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(oref,attr__$1,(function (old,new$){\nvar new_child \x3d make_child_fn(new$);\nvar current_node \x3d cljs.core.deref(child);\nshadow.dom.replace_node(current_node,new_child);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(child));\n\ncljs.core.reset_BANG_(child,new_child);\n\nreturn (shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2 ? shadow.object.notify_down_BANG_.cljs$core$IFn$_invoke$arity$2(new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)) : shadow.object.notify_down_BANG_.call(null,new_child,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596)));\n}));\n\nreturn cljs.core.deref(child);\n});\nshadow.object.coll_destroy_children \x3d (function shadow$object$coll_destroy_children(children,c,diff){\nvar seq__38276_38718 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(c + diff),c));\nvar chunk__38277_38719 \x3d null;\nvar count__38278_38720 \x3d (0);\nvar i__38279_38721 \x3d (0);\nwhile(true){\nif((i__38279_38721 \x3c count__38278_38720)){\nvar obj_38722 \x3d chunk__38277_38719.cljs$core$IIndexed$_nth$arity$2(null,i__38279_38721);\nvar obj_38723__$1 \x3d shadow.object.get_from_dom(obj_38722);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_38723__$1);\n\n\nvar G__38724 \x3d seq__38276_38718;\nvar G__38725 \x3d chunk__38277_38719;\nvar G__38726 \x3d count__38278_38720;\nvar G__38727 \x3d (i__38279_38721 + (1));\nseq__38276_38718 \x3d G__38724;\nchunk__38277_38719 \x3d G__38725;\ncount__38278_38720 \x3d G__38726;\ni__38279_38721 \x3d G__38727;\ncontinue;\n} else {\nvar temp__5823__auto___38728 \x3d cljs.core.seq(seq__38276_38718);\nif(temp__5823__auto___38728){\nvar seq__38276_38729__$1 \x3d temp__5823__auto___38728;\nif(cljs.core.chunked_seq_QMARK_(seq__38276_38729__$1)){\nvar c__5548__auto___38731 \x3d cljs.core.chunk_first(seq__38276_38729__$1);\nvar G__38732 \x3d cljs.core.chunk_rest(seq__38276_38729__$1);\nvar G__38733 \x3d c__5548__auto___38731;\nvar G__38734 \x3d cljs.core.count(c__5548__auto___38731);\nvar G__38735 \x3d (0);\nseq__38276_38718 \x3d G__38732;\nchunk__38277_38719 \x3d G__38733;\ncount__38278_38720 \x3d G__38734;\ni__38279_38721 \x3d G__38735;\ncontinue;\n} else {\nvar obj_38737 \x3d cljs.core.first(seq__38276_38729__$1);\nvar obj_38738__$1 \x3d shadow.object.get_from_dom(obj_38737);\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(obj_38738__$1);\n\n\nvar G__38739 \x3d cljs.core.next(seq__38276_38729__$1);\nvar G__38740 \x3d null;\nvar G__38741 \x3d (0);\nvar G__38742 \x3d (0);\nseq__38276_38718 \x3d G__38739;\nchunk__38277_38719 \x3d G__38740;\ncount__38278_38720 \x3d G__38741;\ni__38279_38721 \x3d G__38742;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(children,(0),(c + diff));\n});\nshadow.object.bind_children \x3d (function shadow$object$bind_children(var_args){\nvar G__38303 \x3d arguments.length;\nswitch (G__38303) {\ncase 5:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$5 \x3d (function (node,parent,attr,item_type,item_key){\nreturn shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6(node,parent,attr,item_type,item_key,(function (p1__38300_SHARP_){\nreturn cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,p1__38300_SHARP_);\n}));\n}));\n\n(shadow.object.bind_children.cljs$core$IFn$_invoke$arity$6 \x3d (function (node,parent,attr,item_type,item_key,coll_transform){\nvar attr__$1 \x3d ((cljs.core.sequential_QMARK_(attr))?attr:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [attr], null));\nvar update_children \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(true);\nvar coll_dom \x3d (shadow.dom.build.cljs$core$IFn$_invoke$arity$1 ? shadow.dom.build.cljs$core$IFn$_invoke$arity$1(node) : shadow.dom.build.call(null,node));\nvar make_item_fn \x3d (function (p__38306){\nvar vec__38307 \x3d p__38306;\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38307,(0),null);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38307,(1),null);\nvar obj \x3d shadow.object.create(item_type,cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22parent\x22,\x22parent\x22,-878878779),parent,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048),attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616),key,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366),item_key,item_key,val]));\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(obj,item_key,(function (old,new$){\nvar parent_key \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(attr__$1,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(obj));\n(shadow.object.log.cljs$core$IFn$_invoke$arity$6 ? shadow.object.log.cljs$core$IFn$_invoke$arity$6(\x22direct child update\x22,parent,obj,key,parent_key,new$) : shadow.object.log.call(null,\x22direct child update\x22,parent,obj,key,parent_key,new$));\n\ncljs.core.reset_BANG_(update_children,false);\n\nshadow.object.update_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([parent_key,new$], 0));\n\nreturn cljs.core.reset_BANG_(update_children,true);\n}));\n\nreturn obj;\n});\nvar seq__38331_38745 \x3d cljs.core.seq((function (){var G__38347 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,attr__$1);\nreturn (coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(G__38347) : coll_transform.call(null,G__38347));\n})());\nvar chunk__38332_38746 \x3d null;\nvar count__38333_38747 \x3d (0);\nvar i__38334_38748 \x3d (0);\nwhile(true){\nif((i__38334_38748 \x3c count__38333_38747)){\nvar item_38752 \x3d chunk__38332_38746.cljs$core$IIndexed$_nth$arity$2(null,i__38334_38748);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38752));\n\n\nvar G__38753 \x3d seq__38331_38745;\nvar G__38755 \x3d chunk__38332_38746;\nvar G__38756 \x3d count__38333_38747;\nvar G__38757 \x3d (i__38334_38748 + (1));\nseq__38331_38745 \x3d G__38753;\nchunk__38332_38746 \x3d G__38755;\ncount__38333_38747 \x3d G__38756;\ni__38334_38748 \x3d G__38757;\ncontinue;\n} else {\nvar temp__5823__auto___38759 \x3d cljs.core.seq(seq__38331_38745);\nif(temp__5823__auto___38759){\nvar seq__38331_38760__$1 \x3d temp__5823__auto___38759;\nif(cljs.core.chunked_seq_QMARK_(seq__38331_38760__$1)){\nvar c__5548__auto___38761 \x3d cljs.core.chunk_first(seq__38331_38760__$1);\nvar G__38762 \x3d cljs.core.chunk_rest(seq__38331_38760__$1);\nvar G__38763 \x3d c__5548__auto___38761;\nvar G__38764 \x3d cljs.core.count(c__5548__auto___38761);\nvar G__38765 \x3d (0);\nseq__38331_38745 \x3d G__38762;\nchunk__38332_38746 \x3d G__38763;\ncount__38333_38747 \x3d G__38764;\ni__38334_38748 \x3d G__38765;\ncontinue;\n} else {\nvar item_38767 \x3d cljs.core.first(seq__38331_38760__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38767));\n\n\nvar G__38768 \x3d cljs.core.next(seq__38331_38760__$1);\nvar G__38769 \x3d null;\nvar G__38770 \x3d (0);\nvar G__38771 \x3d (0);\nseq__38331_38745 \x3d G__38768;\nchunk__38332_38746 \x3d G__38769;\ncount__38333_38747 \x3d G__38770;\ni__38334_38748 \x3d G__38771;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nshadow.object.bind_change.cljs$core$IFn$_invoke$arity$3(parent,attr__$1,(function shadow$object$bind_children_watch(old,new$){\nif(cljs.core.truth_(cljs.core.deref(update_children))){\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,shadow.dom.children(coll_dom));\nvar new_coll \x3d cljs.core.vec((coll_transform.cljs$core$IFn$_invoke$arity$1 ? coll_transform.cljs$core$IFn$_invoke$arity$1(new$) : coll_transform.call(null,new$)));\nvar count_children \x3d cljs.core.count(children);\nvar count_new \x3d cljs.core.count(new$);\nvar diff \x3d (count_new - count_children);\nvar children__$1 \x3d (((diff \x3c (0)))?shadow.object.coll_destroy_children(children,count_children,diff):children);\nvar count_children__$1 \x3d (function (){var x__5113__auto__ \x3d count_new;\nvar y__5114__auto__ \x3d count_children;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar n__5616__auto___38772 \x3d count_children__$1;\nvar idx_38773 \x3d (0);\nwhile(true){\nif((idx_38773 \x3c n__5616__auto___38772)){\nvar cn_38774 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,idx_38773);\nvar cc_38775 \x3d shadow.object.get_from_dom(cn_38774);\nvar ckey_38776 \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(cc_38775);\nvar cval_38777 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cc_38775,item_key);\nvar vec__38383_38778 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_coll,idx_38773);\nvar nkey_38779 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38383_38778,(0),null);\nvar nval_38780 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38383_38778,(1),null);\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ckey_38776,nkey_38779)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cval_38777,nval_38780)))){\n} else {\nvar new_obj_38781 \x3d make_item_fn(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [nkey_38779,nval_38780], null));\nshadow.dom.replace_node(cn_38774,new_obj_38781);\n\nshadow.object.destroy_BANG_.cljs$core$IFn$_invoke$arity$1(cc_38775);\n\nshadow.object.notify_tree_BANG_(new_obj_38781,new cljs.core.Keyword(\x22dom\x22,\x22entered\x22,\x22dom/entered\x22,506699596));\n}\n\nvar G__38783 \x3d (idx_38773 + (1));\nidx_38773 \x3d G__38783;\ncontinue;\n} else {\n}\nbreak;\n}\n\nif((diff \x3e (0))){\nvar seq__38398_38784 \x3d cljs.core.seq(cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(new_coll,count_children__$1,count_new));\nvar chunk__38399_38785 \x3d null;\nvar count__38400_38786 \x3d (0);\nvar i__38401_38787 \x3d (0);\nwhile(true){\nif((i__38401_38787 \x3c count__38400_38786)){\nvar item_38792 \x3d chunk__38399_38785.cljs$core$IIndexed$_nth$arity$2(null,i__38401_38787);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38792));\n\n\nvar G__38793 \x3d seq__38398_38784;\nvar G__38794 \x3d chunk__38399_38785;\nvar G__38795 \x3d count__38400_38786;\nvar G__38796 \x3d (i__38401_38787 + (1));\nseq__38398_38784 \x3d G__38793;\nchunk__38399_38785 \x3d G__38794;\ncount__38400_38786 \x3d G__38795;\ni__38401_38787 \x3d G__38796;\ncontinue;\n} else {\nvar temp__5823__auto___38797 \x3d cljs.core.seq(seq__38398_38784);\nif(temp__5823__auto___38797){\nvar seq__38398_38798__$1 \x3d temp__5823__auto___38797;\nif(cljs.core.chunked_seq_QMARK_(seq__38398_38798__$1)){\nvar c__5548__auto___38799 \x3d cljs.core.chunk_first(seq__38398_38798__$1);\nvar G__38800 \x3d cljs.core.chunk_rest(seq__38398_38798__$1);\nvar G__38801 \x3d c__5548__auto___38799;\nvar G__38802 \x3d cljs.core.count(c__5548__auto___38799);\nvar G__38803 \x3d (0);\nseq__38398_38784 \x3d G__38800;\nchunk__38399_38785 \x3d G__38801;\ncount__38400_38786 \x3d G__38802;\ni__38401_38787 \x3d G__38803;\ncontinue;\n} else {\nvar item_38804 \x3d cljs.core.first(seq__38398_38798__$1);\nshadow.object.dom_enter(coll_dom,make_item_fn(item_38804));\n\n\nvar G__38809 \x3d cljs.core.next(seq__38398_38798__$1);\nvar G__38810 \x3d null;\nvar G__38811 \x3d (0);\nvar G__38812 \x3d (0);\nseq__38398_38784 \x3d G__38809;\nchunk__38399_38785 \x3d G__38810;\ncount__38400_38786 \x3d G__38811;\ni__38401_38787 \x3d G__38812;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nreturn shadow.object.notify_BANG_(parent,new cljs.core.Keyword(null,\x22bind-children-update\x22,\x22bind-children-update\x22,-1610690160));\n} else {\nreturn null;\n}\n}));\n\nreturn coll_dom;\n}));\n\n(shadow.object.bind_children.cljs$lang$maxFixedArity \x3d 6);\n\nshadow.object.remove_in_parent_BANG_ \x3d (function shadow$object$remove_in_parent_BANG_(oref){\nvar parent \x3d shadow.object.get_parent(oref);\nvar key \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-key\x22,\x22shadow.object/coll-key\x22,827543616).cljs$core$IFn$_invoke$arity$1(oref);\nvar value \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(oref,new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-item-key\x22,\x22shadow.object/coll-item-key\x22,1888444366).cljs$core$IFn$_invoke$arity$1(oref));\nvar path \x3d new cljs.core.Keyword(\x22shadow.object\x22,\x22coll-path\x22,\x22shadow.object/coll-path\x22,1583850048).cljs$core$IFn$_invoke$arity$1(oref);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d key;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn path;\n} else {\nreturn and__5023__auto__;\n}\n})())){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22remove-in-parent! should only be called from items created via so/bind-children\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oref\x22,\x22oref\x22,-1547494840),oref], null));\n}\n\nvar coll \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(parent,path);\nvar new_coll \x3d shadow.util.remove_item_from_coll(coll,key,value);\nreturn shadow.object.notify_BANG_.cljs$core$IFn$_invoke$arity$variadic(parent,new cljs.core.Keyword(\x22bind\x22,\x22update\x22,\x22bind/update\x22,1048601733),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path,new_coll], 0));\n});\nshadow.object.inspect_BANG_ \x3d (function shadow$object$inspect_BANG_(oref){\nvar G__38412 \x3d \x22inspect!\x22;\nvar G__38413 \x3d shadow.object._id(oref);\nvar G__38414 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.object._type(oref));\nvar G__38415 \x3d cljs.core.clj__GT_js(cljs.core.deref(shadow.object._data(oref)));\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__38412,G__38413,G__38414,G__38415) : shadow.object.info.call(null,G__38412,G__38413,G__38414,G__38415));\n});\nshadow.object.dump_BANG_ \x3d (function shadow$object$dump_BANG_(){\n(shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- LIVE OBJECTS ------------\x22));\n\nvar seq__38417_38819 \x3d cljs.core.seq(cljs.core.seq(cljs.core.deref(shadow.object.instances)));\nvar chunk__38418_38820 \x3d null;\nvar count__38419_38821 \x3d (0);\nvar i__38420_38822 \x3d (0);\nwhile(true){\nif((i__38420_38822 \x3c count__38419_38821)){\nvar vec__38435_38824 \x3d chunk__38418_38820.cljs$core$IIndexed$_nth$arity$2(null,i__38420_38822);\nvar id_38825 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38435_38824,(0),null);\nvar oref_38826 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38435_38824,(1),null);\nvar G__38438_38827 \x3d \x22dump\x22;\nvar G__38439_38828 \x3d id_38825;\nvar G__38440_38829 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_38826)], 0));\nvar G__38441_38830 \x3d cljs.core.deref(shadow.object._data(oref_38826));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__38438_38827,G__38439_38828,G__38440_38829,G__38441_38830) : shadow.object.info.call(null,G__38438_38827,G__38439_38828,G__38440_38829,G__38441_38830));\n\n\nvar G__38831 \x3d seq__38417_38819;\nvar G__38832 \x3d chunk__38418_38820;\nvar G__38833 \x3d count__38419_38821;\nvar G__38834 \x3d (i__38420_38822 + (1));\nseq__38417_38819 \x3d G__38831;\nchunk__38418_38820 \x3d G__38832;\ncount__38419_38821 \x3d G__38833;\ni__38420_38822 \x3d G__38834;\ncontinue;\n} else {\nvar temp__5823__auto___38835 \x3d cljs.core.seq(seq__38417_38819);\nif(temp__5823__auto___38835){\nvar seq__38417_38836__$1 \x3d temp__5823__auto___38835;\nif(cljs.core.chunked_seq_QMARK_(seq__38417_38836__$1)){\nvar c__5548__auto___38837 \x3d cljs.core.chunk_first(seq__38417_38836__$1);\nvar G__38838 \x3d cljs.core.chunk_rest(seq__38417_38836__$1);\nvar G__38839 \x3d c__5548__auto___38837;\nvar G__38840 \x3d cljs.core.count(c__5548__auto___38837);\nvar G__38841 \x3d (0);\nseq__38417_38819 \x3d G__38838;\nchunk__38418_38820 \x3d G__38839;\ncount__38419_38821 \x3d G__38840;\ni__38420_38822 \x3d G__38841;\ncontinue;\n} else {\nvar vec__38447_38842 \x3d cljs.core.first(seq__38417_38836__$1);\nvar id_38843 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38447_38842,(0),null);\nvar oref_38844 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38447_38842,(1),null);\nvar G__38450_38845 \x3d \x22dump\x22;\nvar G__38451_38846 \x3d id_38843;\nvar G__38452_38847 \x3d cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.object._type(oref_38844)], 0));\nvar G__38453_38848 \x3d cljs.core.deref(shadow.object._data(oref_38844));\n(shadow.object.info.cljs$core$IFn$_invoke$arity$4 ? shadow.object.info.cljs$core$IFn$_invoke$arity$4(G__38450_38845,G__38451_38846,G__38452_38847,G__38453_38848) : shadow.object.info.call(null,G__38450_38845,G__38451_38846,G__38452_38847,G__38453_38848));\n\n\nvar G__38849 \x3d cljs.core.next(seq__38417_38836__$1);\nvar G__38850 \x3d null;\nvar G__38851 \x3d (0);\nvar G__38852 \x3d (0);\nseq__38417_38819 \x3d G__38849;\nchunk__38418_38820 \x3d G__38850;\ncount__38419_38821 \x3d G__38851;\ni__38420_38822 \x3d G__38852;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn (shadow.object.info.cljs$core$IFn$_invoke$arity$1 ? shadow.object.info.cljs$core$IFn$_invoke$arity$1(\x22--------------- //LIVE OBJECTS ------------\x22) : shadow.object.info.call(null,\x22--------------- //LIVE OBJECTS ------------\x22));\n});\ngoog.exportSymbol(\x27shadow.object.dump_BANG_\x27, shadow.object.dump_BANG_);\n");
SHADOW_ENV.evalLoad("shadow.animate.js", true, "goog.provide(\x27shadow.animate\x27);\n\n/**\n * @interface\n */\nshadow.animate.Animation \x3d function(){};\n\nvar shadow$animate$Animation$_animate_from$dyn_39149 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_from[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_from[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-from\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr initial-value}\n */\nshadow.animate._animate_from \x3d (function shadow$animate$_animate_from(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_from$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_from$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_from$dyn_39149(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_to$dyn_39154 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_to[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_to[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-to\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_to \x3d (function shadow$animate$_animate_to(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_to$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_to$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_to$dyn_39154(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_toggles$dyn_39156 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_toggles[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_toggles[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-toggles\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr target-value}\n */\nshadow.animate._animate_toggles \x3d (function shadow$animate$_animate_toggles(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_toggles$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_toggles$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_toggles$dyn_39156(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_timings$dyn_39157 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_timings[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_timings[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-timings\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr timing-function}\n */\nshadow.animate._animate_timings \x3d (function shadow$animate$_animate_timings(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_timings$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_timings$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_timings$dyn_39157(this$);\n}\n});\n\nvar shadow$animate$Animation$_animate_delays$dyn_39158 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.animate._animate_delays[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate._animate_delays[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Animation.-animate-delays\x22,this$);\n}\n}\n});\n/**\n * return a map of {attr transition-delay}\n */\nshadow.animate._animate_delays \x3d (function shadow$animate$_animate_delays(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$animate$Animation$_animate_delays$arity$1 \x3d\x3d null)))))){\nreturn this$.shadow$animate$Animation$_animate_delays$arity$1(this$);\n} else {\nreturn shadow$animate$Animation$_animate_delays$dyn_39158(this$);\n}\n});\n\nshadow.animate.transition_string \x3d (function shadow$animate$transition_string(duration,adef){\nvar timings \x3d shadow.animate._animate_timings(adef);\nvar delays \x3d shadow.animate._animate_delays(adef);\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22, \x22,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__38685){\nvar vec__38696 \x3d p__38685;\nvar attr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38696,(0),null);\nvar timing \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38696,(1),null);\nreturn [cljs.core.name(attr),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(duration),\x22ms\x22,\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(timing),(function (){var delay \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(delays,attr);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d delay;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (delay \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn [\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delay),\x22ms\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27);\n}),timings));\n});\n\n/**\n * @interface\n */\nshadow.animate.IAnimator \x3d function(){};\n\nvar shadow$animate$IAnimator$get_duration$dyn_39160 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.get_duration[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.get_duration[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.get-duration\x22,animator);\n}\n}\n});\nshadow.animate.get_duration \x3d (function shadow$animate$get_duration(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$get_duration$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$get_duration$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$get_duration$dyn_39160(animator);\n}\n});\n\nvar shadow$animate$IAnimator$init_BANG_$dyn_39164 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.init_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.init_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.init!\x22,animator);\n}\n}\n});\n/**\n * apply the initial values\n */\nshadow.animate.init_BANG_ \x3d (function shadow$animate$init_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$init_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$init_BANG_$dyn_39164(animator);\n}\n});\n\nvar shadow$animate$IAnimator$start_BANG_$dyn_39166 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.start_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.start_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.start!\x22,animator);\n}\n}\n});\n/**\n * start the animation, must return a channel that closes once the animation is done\n */\nshadow.animate.start_BANG_ \x3d (function shadow$animate$start_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$start_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$start_BANG_$dyn_39166(animator);\n}\n});\n\nvar shadow$animate$IAnimator$finish_BANG_$dyn_39167 \x3d (function (animator){\nvar x__5373__auto__ \x3d (((animator \x3d\x3d null))?null:animator);\nvar m__5374__auto__ \x3d (shadow.animate.finish_BANG_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5374__auto__.call(null,animator));\n} else {\nvar m__5372__auto__ \x3d (shadow.animate.finish_BANG_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(animator) : m__5372__auto__.call(null,animator));\n} else {\nthrow cljs.core.missing_protocol(\x22IAnimator.finish!\x22,animator);\n}\n}\n});\n/**\n * cleanup\n */\nshadow.animate.finish_BANG_ \x3d (function shadow$animate$finish_BANG_(animator){\nif((((!((animator \x3d\x3d null)))) \x26\x26 ((!((animator.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d\x3d null)))))){\nreturn animator.shadow$animate$IAnimator$finish_BANG_$arity$1(animator);\n} else {\nreturn shadow$animate$IAnimator$finish_BANG_$dyn_39167(animator);\n}\n});\n\n\n/**\n* @constructor\n * @implements {shadow.animate.IAnimator}\n*/\nshadow.animate.Animator \x3d (function (duration,items){\nthis.duration \x3d duration;\nthis.items \x3d items;\n});\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$get_duration$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.duration;\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$init_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5616__auto__ \x3d self__.items.length;\nvar i__34931__auto__ \x3d (0);\nwhile(true){\nif((i__34931__auto__ \x3c n__5616__auto__)){\nvar map__38855_39170 \x3d (self__.items[i__34931__auto__]);\nvar map__38855_39171__$1 \x3d cljs.core.__destructure_map(map__38855_39170);\nvar el_39172 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38855_39171__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar from_39173 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38855_39171__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ngoog.style.setStyle(el_39172,from_39173);\n\nvar G__39174 \x3d (i__34931__auto__ + (1));\ni__34931__auto__ \x3d G__39174;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$start_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5616__auto__ \x3d self__.items.length;\nvar i__34931__auto__ \x3d (0);\nwhile(true){\nif((i__34931__auto__ \x3c n__5616__auto__)){\nvar map__38868_39175 \x3d (self__.items[i__34931__auto__]);\nvar map__38868_39176__$1 \x3d cljs.core.__destructure_map(map__38868_39175);\nvar el_39177 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38868_39176__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar to_39178 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38868_39176__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007));\nvar transition_39179 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38868_39176__$1,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007));\n(to_39178[\x22transition\x22] \x3d transition_39179);\n\ngoog.style.setStyle(el_39177,to_39178);\n\nvar G__39181 \x3d (i__34931__auto__ + (1));\ni__34931__auto__ \x3d G__39181;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.prototype.shadow$animate$IAnimator$finish_BANG_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar n__5616__auto__ \x3d self__.items.length;\nvar i__34931__auto__ \x3d (0);\nwhile(true){\nif((i__34931__auto__ \x3c n__5616__auto__)){\nvar map__38873_39185 \x3d (self__.items[i__34931__auto__]);\nvar map__38873_39186__$1 \x3d cljs.core.__destructure_map(map__38873_39185);\nvar el_39187 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38873_39186__$1,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118));\nvar toggles_39188 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38873_39186__$1,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479));\n(toggles_39188[\x22transition\x22] \x3d null);\n\ngoog.style.setStyle(el_39187,toggles_39188);\n\nvar G__39189 \x3d (i__34931__auto__ + (1));\ni__34931__auto__ \x3d G__39189;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}));\n\n(shadow.animate.Animator.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22duration\x22,\x22duration\x22,-1210334701,null),new cljs.core.Symbol(null,\x22items\x22,\x22items\x22,-1622480831,null)], null);\n}));\n\n(shadow.animate.Animator.cljs$lang$type \x3d true);\n\n(shadow.animate.Animator.cljs$lang$ctorStr \x3d \x22shadow.animate/Animator\x22);\n\n(shadow.animate.Animator.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/Animator\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/Animator.\n */\nshadow.animate.__GT_Animator \x3d (function shadow$animate$__GT_Animator(duration,items){\nreturn (new shadow.animate.Animator(duration,items));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.animate.AnimationStep \x3d (function (el,from,to,toggles,transition,__meta,__extmap,__hash){\nthis.el \x3d el;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.toggles \x3d toggles;\nthis.transition \x3d transition;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k38881,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__38893 \x3d k38881;\nvar G__38893__$1 \x3d (((G__38893 instanceof cljs.core.Keyword))?G__38893.fqn:null);\nswitch (G__38893__$1) {\ncase \x22el\x22:\nreturn self__.el;\n\nbreak;\ncase \x22from\x22:\nreturn self__.from;\n\nbreak;\ncase \x22to\x22:\nreturn self__.to;\n\nbreak;\ncase \x22toggles\x22:\nreturn self__.toggles;\n\nbreak;\ncase \x22transition\x22:\nreturn self__.transition;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k38881,else__5326__auto__);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38899){\nvar vec__38900 \x3d p__38899;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38900,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38900,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.animate.AnimationStep{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition],null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__38880){\nvar self__ \x3d this;\nvar G__38880__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__38880__$1,5,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (5 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (630436239 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this38882,other38883){\nvar self__ \x3d this;\nvar this38882__$1 \x3d this;\nreturn (((!((other38883 \x3d\x3d null)))) \x26\x26 ((((this38882__$1.constructor \x3d\x3d\x3d other38883.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38882__$1.el,other38883.el)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38882__$1.from,other38883.from)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38882__$1.to,other38883.to)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38882__$1.toggles,other38883.toggles)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38882__$1.transition,other38883.transition)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38882__$1.__extmap,other38883.__extmap)))))))))))))));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k38881){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38927 \x3d k38881;\nvar G__38927__$1 \x3d (((G__38927 instanceof cljs.core.Keyword))?G__38927.fqn:null);\nswitch (G__38927__$1) {\ncase \x22el\x22:\ncase \x22from\x22:\ncase \x22to\x22:\ncase \x22toggles\x22:\ncase \x22transition\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k38881);\n\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__38880){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38929 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38930 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38929.cljs$core$IFn$_invoke$arity$2 ? pred__38929.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__38930) : pred__38929.call(null,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),expr__38930)))){\nreturn (new shadow.animate.AnimationStep(G__38880,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38929.cljs$core$IFn$_invoke$arity$2 ? pred__38929.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__38930) : pred__38929.call(null,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),expr__38930)))){\nreturn (new shadow.animate.AnimationStep(self__.el,G__38880,self__.to,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38929.cljs$core$IFn$_invoke$arity$2 ? pred__38929.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__38930) : pred__38929.call(null,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),expr__38930)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,G__38880,self__.toggles,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38929.cljs$core$IFn$_invoke$arity$2 ? pred__38929.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__38930) : pred__38929.call(null,new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),expr__38930)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,G__38880,self__.transition,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38929.cljs$core$IFn$_invoke$arity$2 ? pred__38929.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__38930) : pred__38929.call(null,new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),expr__38930)))){\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,G__38880,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__38880),null));\n}\n}\n}\n}\n}\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),self__.el,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self__.from,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),self__.to,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),self__.toggles,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007),self__.transition,null))], null),self__.__extmap));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__38880){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.animate.AnimationStep(self__.el,self__.from,self__.to,self__.toggles,self__.transition,G__38880,self__.__extmap,self__.__hash));\n}));\n\n(shadow.animate.AnimationStep.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.animate.AnimationStep.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22el\x22,\x22el\x22,22330409,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22transition\x22,\x22transition\x22,-1888743762,null)], null);\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$type \x3d true);\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.animate/AnimationStep\x22,null,(1),null));\n}));\n\n(shadow.animate.AnimationStep.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.animate/AnimationStep\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/AnimationStep.\n */\nshadow.animate.__GT_AnimationStep \x3d (function shadow$animate$__GT_AnimationStep(el,from,to,toggles,transition){\nreturn (new shadow.animate.AnimationStep(el,from,to,toggles,transition,null,null,null));\n});\n\n/**\n * Factory function for shadow.animate/AnimationStep, taking a map of keywords to field values.\n */\nshadow.animate.map__GT_AnimationStep \x3d (function shadow$animate$map__GT_AnimationStep(G__38888){\nvar extmap__5365__auto__ \x3d (function (){var G__38940 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__38888,new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007)], 0));\nif(cljs.core.record_QMARK_(G__38888)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38940);\n} else {\nreturn G__38940;\n}\n})();\nreturn (new shadow.animate.AnimationStep(new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118).cljs$core$IFn$_invoke$arity$1(G__38888),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044).cljs$core$IFn$_invoke$arity$1(G__38888),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(G__38888),new cljs.core.Keyword(null,\x22toggles\x22,\x22toggles\x22,1077909479).cljs$core$IFn$_invoke$arity$1(G__38888),new cljs.core.Keyword(null,\x22transition\x22,\x22transition\x22,765692007).cljs$core$IFn$_invoke$arity$1(G__38888),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.animate.setup \x3d (function shadow$animate$setup(duration,elements){\nvar items \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((function (){var iter__5503__auto__ \x3d (function shadow$animate$setup_$_iter__38945(s__38946){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__38946__$1 \x3d s__38946;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__38946__$1);\nif(temp__5823__auto__){\nvar s__38946__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__38946__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__38946__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__38948 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__38947 \x3d (0);\nwhile(true){\nif((i__38947 \x3c size__5502__auto__)){\nvar vec__38953 \x3d cljs.core._nth(c__5501__auto__,i__38947);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38953,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38953,(1),null);\ncljs.core.chunk_append(b__38948,(function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n);\n\nvar G__39219 \x3d (i__38947 + (1));\ni__38947 \x3d G__39219;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38948),shadow$animate$setup_$_iter__38945(cljs.core.chunk_rest(s__38946__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38948),null);\n}\n} else {\nvar vec__38961 \x3d cljs.core.first(s__38946__$2);\nvar el \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38961,(0),null);\nvar adef \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38961,(1),null);\nreturn cljs.core.cons((function (){\nif((((!((adef \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d adef.shadow$animate$Animation$))))?true:(((!adef.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef):false)):cljs.core.native_satisfies_QMARK_(shadow.animate.Animation,adef))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid animation\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22el\x22,\x22el\x22,-1618201118),el,new cljs.core.Keyword(null,\x22animation\x22,\x22animation\x22,-1248293244),adef], null));\n}\n\nvar from \x3d shadow.animate._animate_from(adef);\nvar to \x3d shadow.animate._animate_to(adef);\nvar toggles \x3d shadow.animate._animate_toggles(adef);\nreturn (new shadow.animate.AnimationStep(shadow.dom.dom_node(el),cljs.core.clj__GT_js(from),cljs.core.clj__GT_js(to),cljs.core.clj__GT_js(toggles),shadow.animate.transition_string(duration,adef),null,null,null));\n})()\n,shadow$animate$setup_$_iter__38945(cljs.core.rest(s__38946__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(elements);\n})());\nreturn (new shadow.animate.Animator(duration,items));\n});\nshadow.animate.continue_BANG_ \x3d (function shadow$animate$continue_BANG_(animator){\nshadow.animate.start_BANG_(animator);\n\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_38975){\nvar state_val_38976 \x3d (state_38975[(1)]);\nif((state_val_38976 \x3d\x3d\x3d (1))){\nvar inst_38969 \x3d shadow.animate.get_duration(animator);\nvar inst_38970 \x3d cljs.core.async.timeout(inst_38969);\nvar state_38975__$1 \x3d state_38975;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_38975__$1,(2),inst_38970);\n} else {\nif((state_val_38976 \x3d\x3d\x3d (2))){\nvar inst_38972 \x3d (state_38975[(2)]);\nvar inst_38973 \x3d shadow.animate.finish_BANG_(animator);\nvar state_38975__$1 \x3d (function (){var statearr_38979 \x3d state_38975;\n(statearr_38979[(7)] \x3d inst_38972);\n\n(statearr_38979[(8)] \x3d inst_38973);\n\nreturn statearr_38979;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_38975__$1,new cljs.core.Keyword(null,\x22done\x22,\x22done\x22,-889844188));\n} else {\nreturn null;\n}\n}\n});\nreturn (function() {\nvar shadow$animate$continue_BANG__$_state_machine__34869__auto__ \x3d null;\nvar shadow$animate$continue_BANG__$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_38984 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_38984[(0)] \x3d shadow$animate$continue_BANG__$_state_machine__34869__auto__);\n\n(statearr_38984[(1)] \x3d (1));\n\nreturn statearr_38984;\n});\nvar shadow$animate$continue_BANG__$_state_machine__34869__auto____1 \x3d (function (state_38975){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_38975);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e38985){var ex__34872__auto__ \x3d e38985;\nvar statearr_38986_39232 \x3d state_38975;\n(statearr_38986_39232[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_38975[(4)]))){\nvar statearr_38991_39233 \x3d state_38975;\n(statearr_38991_39233[(1)] \x3d cljs.core.first((state_38975[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__39234 \x3d state_38975;\nstate_38975 \x3d G__39234;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\nshadow$animate$continue_BANG__$_state_machine__34869__auto__ \x3d function(state_38975){\nswitch(arguments.length){\ncase 0:\nreturn shadow$animate$continue_BANG__$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn shadow$animate$continue_BANG__$_state_machine__34869__auto____1.call(this,state_38975);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$animate$continue_BANG__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$animate$continue_BANG__$_state_machine__34869__auto____0;\nshadow$animate$continue_BANG__$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$animate$continue_BANG__$_state_machine__34869__auto____1;\nreturn shadow$animate$continue_BANG__$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_38995 \x3d f__34995__auto__();\n(statearr_38995[(6)] \x3d c__34994__auto__);\n\nreturn statearr_38995;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n});\nshadow.animate.start \x3d (function shadow$animate$start(duration,elements){\nvar animator \x3d shadow.animate.setup(duration,elements);\nanimator.shadow$animate$IAnimator$init_BANG_$arity$1(null);\n\nreturn shadow.animate.continue_BANG_(animator);\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39009 \x3d (function (attr,from,to,timing,delay,meta39010){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta39010 \x3d meta39010;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39009.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39011,meta39010__$1){\nvar self__ \x3d this;\nvar _39011__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39009(self__.attr,self__.from,self__.to,self__.timing,self__.delay,meta39010__$1));\n}));\n\n(shadow.animate.t_shadow$animate39009.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39011){\nvar self__ \x3d this;\nvar _39011__$1 \x3d this;\nreturn self__.meta39010;\n}));\n\n(shadow.animate.t_shadow$animate39009.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39009.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate39009.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate39009.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39009.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate39009.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate39009.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta39010\x22,\x22meta39010\x22,1843629403,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39009.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39009.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39009\x22);\n\n(shadow.animate.t_shadow$animate39009.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39009\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39009.\n */\nshadow.animate.__GT_t_shadow$animate39009 \x3d (function shadow$animate$__GT_t_shadow$animate39009(attr,from,to,timing,delay,meta39010){\nreturn (new shadow.animate.t_shadow$animate39009(attr,from,to,timing,delay,meta39010));\n});\n\n\n/**\n * transition the given attr from -\x3e to using timing function and delay\n * timing defaults to ease, delay to 0\n */\nshadow.animate.transition \x3d (function shadow$animate$transition(var_args){\nvar G__39003 \x3d arguments.length;\nswitch (G__39003) {\ncase 3:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$3 \x3d (function (attr,from,to){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,\x22ease\x22,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$4 \x3d (function (attr,from,to,timing){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$5(attr,from,to,timing,(0));\n}));\n\n(shadow.animate.transition.cljs$core$IFn$_invoke$arity$5 \x3d (function (attr,from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate39009(attr,from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.transition.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39013 \x3d (function (attr,from,to,meta39014){\nthis.attr \x3d attr;\nthis.from \x3d from;\nthis.to \x3d to;\nthis.meta39014 \x3d meta39014;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39013.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39015,meta39014__$1){\nvar self__ \x3d this;\nvar _39015__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39013(self__.attr,self__.from,self__.to,meta39014__$1));\n}));\n\n(shadow.animate.t_shadow$animate39013.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39015){\nvar self__ \x3d this;\nvar _39015__$1 \x3d this;\nreturn self__.meta39014;\n}));\n\n(shadow.animate.t_shadow$animate39013.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39013.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39013.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.from]);\n}));\n\n(shadow.animate.t_shadow$animate39013.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,self__.to]);\n}));\n\n(shadow.animate.t_shadow$animate39013.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39013.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39013.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22meta39014\x22,\x22meta39014\x22,-1469041322,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39013.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39013.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39013\x22);\n\n(shadow.animate.t_shadow$animate39013.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39013\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39013.\n */\nshadow.animate.__GT_t_shadow$animate39013 \x3d (function shadow$animate$__GT_t_shadow$animate39013(attr,from,to,meta39014){\nreturn (new shadow.animate.t_shadow$animate39013(attr,from,to,meta39014));\n});\n\n\nshadow.animate.toggle \x3d (function shadow$animate$toggle(attr,from,to){\nreturn (new shadow.animate.t_shadow$animate39013(attr,from,to,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39020 \x3d (function (attrs,meta39021){\nthis.attrs \x3d attrs;\nthis.meta39021 \x3d meta39021;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39020.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39022,meta39021__$1){\nvar self__ \x3d this;\nvar _39022__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39020(self__.attrs,meta39021__$1));\n}));\n\n(shadow.animate.t_shadow$animate39020.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39022){\nvar self__ \x3d this;\nvar _39022__$1 \x3d this;\nreturn self__.meta39021;\n}));\n\n(shadow.animate.t_shadow$animate39020.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39020.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39020.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.attrs;\n}));\n\n(shadow.animate.t_shadow$animate39020.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39020.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39020.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39020.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attrs\x22,\x22attrs\x22,-450137186,null),new cljs.core.Symbol(null,\x22meta39021\x22,\x22meta39021\x22,1094471767,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39020.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39020.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39020\x22);\n\n(shadow.animate.t_shadow$animate39020.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39020\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39020.\n */\nshadow.animate.__GT_t_shadow$animate39020 \x3d (function shadow$animate$__GT_t_shadow$animate39020(attrs,meta39021){\nreturn (new shadow.animate.t_shadow$animate39020(attrs,meta39021));\n});\n\n\n/**\n * set attr to value when the animation starts\n */\nshadow.animate.set_attr \x3d (function shadow$animate$set_attr(var_args){\nvar G__39019 \x3d arguments.length;\nswitch (G__39019) {\ncase 1:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1 \x3d (function (attrs){\nreturn (new shadow.animate.t_shadow$animate39020(attrs,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$2 \x3d (function (attr,value){\nreturn shadow.animate.set_attr.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.createAsIfByAssoc([attr,value]));\n}));\n\n(shadow.animate.set_attr.cljs$lang$maxFixedArity \x3d 2);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39037 \x3d (function (attr,meta39038){\nthis.attr \x3d attr;\nthis.meta39038 \x3d meta39038;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39037.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39039,meta39038__$1){\nvar self__ \x3d this;\nvar _39039__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39037(self__.attr,meta39038__$1));\n}));\n\n(shadow.animate.t_shadow$animate39037.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39039){\nvar self__ \x3d this;\nvar _39039__$1 \x3d this;\nreturn self__.meta39038;\n}));\n\n(shadow.animate.t_shadow$animate39037.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39037.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39037.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39037.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([self__.attr,null]);\n}));\n\n(shadow.animate.t_shadow$animate39037.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39037.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39037.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22attr\x22,\x22attr\x22,1036399174,null),new cljs.core.Symbol(null,\x22meta39038\x22,\x22meta39038\x22,1369387904,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39037.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39037.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39037\x22);\n\n(shadow.animate.t_shadow$animate39037.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39037\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39037.\n */\nshadow.animate.__GT_t_shadow$animate39037 \x3d (function shadow$animate$__GT_t_shadow$animate39037(attr,meta39038){\nreturn (new shadow.animate.t_shadow$animate39037(attr,meta39038));\n});\n\n\n/**\n * use to remove a given attribute style when the animation is finished\n * usually only needed to remove attributes we no longer need since they are probably\n * inherited and we only used for previous transitions\n */\nshadow.animate.delete_attr \x3d (function shadow$animate$delete_attr(attr){\nreturn (new shadow.animate.t_shadow$animate39037(attr,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39045 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5821__auto__,meta39046){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5821__auto__ \x3d temp__5821__auto__;\nthis.meta39046 \x3d meta39046;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39045.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39047,meta39046__$1){\nvar self__ \x3d this;\nvar _39047__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39045(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5821__auto__,meta39046__$1));\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39047){\nvar self__ \x3d this;\nvar _39047__$1 \x3d this;\nreturn self__.meta39046;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate39045.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate39045.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.Symbol(null,\x22temp__5821__auto__\x22,\x22temp__5821__auto__\x22,-711172737,null),new cljs.core.Symbol(null,\x22meta39046\x22,\x22meta39046\x22,212366748,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39045.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39045.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39045\x22);\n\n(shadow.animate.t_shadow$animate39045.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39045\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39045.\n */\nshadow.animate.__GT_t_shadow$animate39045 \x3d (function shadow$animate$__GT_t_shadow$animate39045(transitions,to,from,toggles,timings,delays,temp__5821__auto__,meta39046){\nreturn (new shadow.animate.t_shadow$animate39045(transitions,to,from,toggles,timings,delays,temp__5821__auto__,meta39046));\n});\n\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39055 \x3d (function (transitions,to,from,toggles,timings,delays,temp__5821__auto__,meta39056){\nthis.transitions \x3d transitions;\nthis.to \x3d to;\nthis.from \x3d from;\nthis.toggles \x3d toggles;\nthis.timings \x3d timings;\nthis.delays \x3d delays;\nthis.temp__5821__auto__ \x3d temp__5821__auto__;\nthis.meta39056 \x3d meta39056;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39055.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39057,meta39056__$1){\nvar self__ \x3d this;\nvar _39057__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39055(self__.transitions,self__.to,self__.from,self__.toggles,self__.timings,self__.delays,self__.temp__5821__auto__,meta39056__$1));\n}));\n\n(shadow.animate.t_shadow$animate39055.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39057){\nvar self__ \x3d this;\nvar _39057__$1 \x3d this;\nreturn self__.meta39056;\n}));\n\n(shadow.animate.t_shadow$animate39055.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39055.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.from;\n}));\n\n(shadow.animate.t_shadow$animate39055.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.to;\n}));\n\n(shadow.animate.t_shadow$animate39055.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.toggles;\n}));\n\n(shadow.animate.t_shadow$animate39055.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.timings;\n}));\n\n(shadow.animate.t_shadow$animate39055.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.delays;\n}));\n\n(shadow.animate.t_shadow$animate39055.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22transitions\x22,\x22transitions\x22,-405684594,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22toggles\x22,\x22toggles\x22,-1576526290,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22timings\x22,\x22timings\x22,-569636600,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22delays\x22,\x22delays\x22,-873843187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22any\x22,\x22any\x22,-948528346,null)], null)),new cljs.core.Symbol(null,\x22temp__5821__auto__\x22,\x22temp__5821__auto__\x22,-711172737,null),new cljs.core.Symbol(null,\x22meta39056\x22,\x22meta39056\x22,-1464191141,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39055.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39055.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39055\x22);\n\n(shadow.animate.t_shadow$animate39055.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39055\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39055.\n */\nshadow.animate.__GT_t_shadow$animate39055 \x3d (function shadow$animate$__GT_t_shadow$animate39055(transitions,to,from,toggles,timings,delays,temp__5821__auto__,meta39056){\nreturn (new shadow.animate.t_shadow$animate39055(transitions,to,from,toggles,timings,delays,temp__5821__auto__,meta39056));\n});\n\n\nshadow.animate.combine \x3d (function shadow$animate$combine(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39272 \x3d arguments.length;\nvar i__5750__auto___39273 \x3d (0);\nwhile(true){\nif((i__5750__auto___39273 \x3c len__5749__auto___39272)){\nargs__5755__auto__.push((arguments[i__5750__auto___39273]));\n\nvar G__39274 \x3d (i__5750__auto___39273 + (1));\ni__5750__auto___39273 \x3d G__39274;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(shadow.animate.combine.cljs$core$IFn$_invoke$arity$variadic \x3d (function (transitions){\nvar to \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar from \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar toggles \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar timings \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar delays \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar transitions__$1 \x3d transitions;\nwhile(true){\nvar temp__5821__auto__ \x3d cljs.core.first(transitions__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar adef \x3d temp__5821__auto__;\nvar G__39277 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([to,shadow.animate._animate_to(adef)], 0));\nvar G__39278 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([from,shadow.animate._animate_from(adef)], 0));\nvar G__39279 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([toggles,shadow.animate._animate_toggles(adef)], 0));\nvar G__39280 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([timings,shadow.animate._animate_timings(adef)], 0));\nvar G__39281 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([delays,shadow.animate._animate_delays(adef)], 0));\nvar G__39282 \x3d cljs.core.rest(transitions__$1);\nto \x3d G__39277;\nfrom \x3d G__39278;\ntoggles \x3d G__39279;\ntimings \x3d G__39280;\ndelays \x3d G__39281;\ntransitions__$1 \x3d G__39282;\ncontinue;\n} else {\nreturn (new shadow.animate.t_shadow$animate39055(transitions__$1,to,from,toggles,timings,delays,temp__5821__auto__,cljs.core.PersistentArrayMap.EMPTY));\n}\nbreak;\n}\n}));\n\n(shadow.animate.combine.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(shadow.animate.combine.cljs$lang$applyTo \x3d (function (seq39044){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq39044));\n}));\n\nshadow.animate.fade_in \x3d (function shadow$animate$fade_in(var_args){\nvar G__39062 \x3d arguments.length;\nswitch (G__39062) {\ncase 0:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-in\x22);\n}));\n\n(shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x220\x22,\x221\x22,timing_function);\n}));\n\n(shadow.animate.fade_in.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.fade_out \x3d (function shadow$animate$fade_out(var_args){\nvar G__39068 \x3d arguments.length;\nswitch (G__39068) {\ncase 0:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.animate.fade_in.cljs$core$IFn$_invoke$arity$1(\x22ease-out\x22);\n}));\n\n(shadow.animate.fade_out.cljs$core$IFn$_invoke$arity$1 \x3d (function (timing_function){\nreturn shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,timing_function);\n}));\n\n(shadow.animate.fade_out.cljs$lang$maxFixedArity \x3d 1);\n\nshadow.animate.vendor_prefix \x3d goog.dom.vendor.getVendorPrefix();\nshadow.animate.vendor_transform \x3d cljs.core.keyword.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(shadow.animate.vendor_prefix),\x22-transform\x22].join(\x27\x27));\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39079 \x3d (function (from,to,timing,delay,meta39080){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta39080 \x3d meta39080;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39079.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39081,meta39080__$1){\nvar self__ \x3d this;\nvar _39081__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39079(self__.from,self__.to,self__.timing,self__.delay,meta39080__$1));\n}));\n\n(shadow.animate.t_shadow$animate39079.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39081){\nvar self__ \x3d this;\nvar _39081__$1 \x3d this;\nreturn self__.meta39080;\n}));\n\n(shadow.animate.t_shadow$animate39079.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39079.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39079.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateY(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39079.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate39079.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39079.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate39079.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta39080\x22,\x22meta39080\x22,-1741195050,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39079.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39079.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39079\x22);\n\n(shadow.animate.t_shadow$animate39079.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39079\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39079.\n */\nshadow.animate.__GT_t_shadow$animate39079 \x3d (function shadow$animate$__GT_t_shadow$animate39079(from,to,timing,delay,meta39080){\nreturn (new shadow.animate.t_shadow$animate39079(from,to,timing,delay,meta39080));\n});\n\n\nshadow.animate.translate_y \x3d (function shadow$animate$translate_y(var_args){\nvar G__39077 \x3d arguments.length;\nswitch (G__39077) {\ncase 3:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_y.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate39079(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_y.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {shadow.animate.Animation}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\nshadow.animate.t_shadow$animate39123 \x3d (function (from,to,timing,delay,meta39124){\nthis.from \x3d from;\nthis.to \x3d to;\nthis.timing \x3d timing;\nthis.delay \x3d delay;\nthis.meta39124 \x3d meta39124;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.animate.t_shadow$animate39123.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_39125,meta39124__$1){\nvar self__ \x3d this;\nvar _39125__$1 \x3d this;\nreturn (new shadow.animate.t_shadow$animate39123(self__.from,self__.to,self__.timing,self__.delay,meta39124__$1));\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_39125){\nvar self__ \x3d this;\nvar _39125__$1 \x3d this;\nreturn self__.meta39124;\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_from$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.from),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_to$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),[\x22translateX(\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.to),\x22)\x22].join(\x27\x27)], null);\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_timings$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.timing]);\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_toggles$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}));\n\n(shadow.animate.t_shadow$animate39123.prototype.shadow$animate$Animation$_animate_delays$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([shadow.animate.vendor_transform,self__.delay]);\n}));\n\n(shadow.animate.t_shadow$animate39123.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22from\x22,\x22from\x22,-839142725,null),new cljs.core.Symbol(null,\x22to\x22,\x22to\x22,1832630534,null),new cljs.core.Symbol(null,\x22timing\x22,\x22timing\x22,-208693668,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22meta39124\x22,\x22meta39124\x22,-218183766,null)], null);\n}));\n\n(shadow.animate.t_shadow$animate39123.cljs$lang$type \x3d true);\n\n(shadow.animate.t_shadow$animate39123.cljs$lang$ctorStr \x3d \x22shadow.animate/t_shadow$animate39123\x22);\n\n(shadow.animate.t_shadow$animate39123.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.animate/t_shadow$animate39123\x22);\n}));\n\n/**\n * Positional factory function for shadow.animate/t_shadow$animate39123.\n */\nshadow.animate.__GT_t_shadow$animate39123 \x3d (function shadow$animate$__GT_t_shadow$animate39123(from,to,timing,delay,meta39124){\nreturn (new shadow.animate.t_shadow$animate39123(from,to,timing,delay,meta39124));\n});\n\n\nshadow.animate.translate_x \x3d (function shadow$animate$translate_x(var_args){\nvar G__39113 \x3d arguments.length;\nswitch (G__39113) {\ncase 3:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$3 \x3d (function (from,to,timing){\nreturn shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4(from,to,timing,(0));\n}));\n\n(shadow.animate.translate_x.cljs$core$IFn$_invoke$arity$4 \x3d (function (from,to,timing,delay){\nreturn (new shadow.animate.t_shadow$animate39123(from,to,timing,delay,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(shadow.animate.translate_x.cljs$lang$maxFixedArity \x3d 4);\n\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.util.js", true, "goog.provide(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22goog.object\x22);\ngoog.scope(function() {\n var util \x3d com.cognitect.transit.util;\n var gobject \x3d goog.object;\n if (typeof Object.keys !\x3d \x22undefined\x22) {\n util.objectKeys \x3d function(obj) {\n return Object.keys(obj);\n };\n } else {\n util.objectKeys \x3d function(obj) {\n return gobject.getKeys(obj);\n };\n }\n if (typeof Array.isArray !\x3d \x22undefined\x22) {\n util.isArray \x3d function(obj) {\n return Array.isArray(obj);\n };\n } else {\n util.isArray \x3d function(obj) {\n return goog.typeOf(obj) \x3d\x3d\x3d \x22array\x22;\n };\n }\n util.chars \x3d \x22ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\\x3d\x22;\n util.randInt \x3d function(ub) {\n return Math.round(Math.random() * ub);\n };\n util.randHex \x3d function() {\n return util.randInt(15).toString(16);\n };\n util.randomUUID \x3d function() {\n var rhex \x3d (8 | 3 \x26 util.randInt(14)).toString(16);\n var ret \x3d util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + \x224\x22 + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + rhex + util.randHex() + util.randHex() + util.randHex() + \x22-\x22 + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + util.randHex() + \n util.randHex() + util.randHex() + util.randHex();\n return ret;\n };\n util.btoa \x3d function(input) {\n if (typeof btoa !\x3d \x22undefined\x22) {\n return btoa(input);\n } else {\n var str \x3d String(input);\n var block;\n var charCode;\n var idx \x3d 0;\n var map \x3d util.chars;\n var output \x3d \x22\x22;\n for (; str.charAt(idx | 0) || (map \x3d \x22\\x3d\x22, idx % 1); output \x3d output + map.charAt(63 \x26 block \x3e\x3e 8 - idx % 1 * 8)) {\n charCode \x3d str.charCodeAt(idx \x3d idx + 3 / 4);\n if (charCode \x3e 255) {\n throw new Error(\x22\x27btoa\x27 failed: The string to be encoded contains characters outside of the Latin1 range.\x22);\n }\n block \x3d block \x3c\x3c 8 | charCode;\n }\n return output;\n }\n };\n util.atob \x3d function(input) {\n if (typeof atob !\x3d \x22undefined\x22) {\n return atob(input);\n } else {\n var str \x3d String(input).replace(/\x3d+$/, \x22\x22);\n if (str.length % 4 \x3d\x3d 1) {\n throw new Error(\x22\x27atob\x27 failed: The string to be decoded is not correctly encoded.\x22);\n }\n var bc \x3d 0;\n var bs;\n var buffer;\n var idx \x3d 0;\n var output \x3d \x22\x22;\n for (; buffer \x3d str.charAt(idx++); ~buffer \x26\x26 (bs \x3d bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output \x3d output + String.fromCharCode(255 \x26 bs \x3e\x3e (-2 * bc \x26 6)) : 0) {\n buffer \x3d util.chars.indexOf(buffer);\n }\n return output;\n }\n };\n util.Uint8ToBase64 \x3d function(u8Arr) {\n var CHUNK_SIZE \x3d 32768;\n var index \x3d 0;\n var length \x3d u8Arr.length;\n var result \x3d \x22\x22;\n var slice \x3d null;\n for (; index \x3c length;) {\n slice \x3d u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));\n result \x3d result + String.fromCharCode.apply(null, slice);\n index \x3d index + CHUNK_SIZE;\n }\n return util.btoa(result);\n };\n util.Base64ToUint8 \x3d function(base64) {\n var binary_string \x3d util.atob(base64);\n var len \x3d binary_string.length;\n var bytes \x3d new Uint8Array(len);\n var i \x3d 0;\n for (; i \x3c len; i++) {\n var ascii \x3d binary_string.charCodeAt(i);\n bytes[i] \x3d ascii;\n }\n return bytes;\n };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.delimiters.js", true, "goog.provide(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n var delimiters \x3d com.cognitect.transit.delimiters;\n delimiters.ESC \x3d \x22~\x22;\n delimiters.TAG \x3d \x22#\x22;\n delimiters.SUB \x3d \x22^\x22;\n delimiters.RES \x3d \x22`\x22;\n delimiters.ESC_TAG \x3d \x22~#\x22;\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.caching.js", true, "goog.provide(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.scope(function() {\n var caching \x3d com.cognitect.transit.caching;\n var d \x3d com.cognitect.transit.delimiters;\n caching.MIN_SIZE_CACHEABLE \x3d 3;\n caching.BASE_CHAR_IDX \x3d 48;\n caching.CACHE_CODE_DIGITS \x3d 44;\n caching.MAX_CACHE_ENTRIES \x3d caching.CACHE_CODE_DIGITS * caching.CACHE_CODE_DIGITS;\n caching.MAX_CACHE_SIZE \x3d 4096;\n caching.isCacheable \x3d function(string, asMapKey) {\n if (string.length \x3e caching.MIN_SIZE_CACHEABLE) {\n if (asMapKey) {\n return true;\n } else {\n var c0 \x3d string.charAt(0);\n var c1 \x3d string.charAt(1);\n if (c0 \x3d\x3d\x3d d.ESC) {\n return c1 \x3d\x3d\x3d \x22:\x22 || c1 \x3d\x3d\x3d \x22$\x22 || c1 \x3d\x3d\x3d \x22#\x22;\n } else {\n return false;\n }\n }\n } else {\n return false;\n }\n };\n caching.idxToCode \x3d function(idx) {\n var hi \x3d Math.floor(idx / caching.CACHE_CODE_DIGITS);\n var lo \x3d idx % caching.CACHE_CODE_DIGITS;\n var loc \x3d String.fromCharCode(lo + caching.BASE_CHAR_IDX);\n if (hi \x3d\x3d\x3d 0) {\n return d.SUB + loc;\n } else {\n return d.SUB + String.fromCharCode(hi + caching.BASE_CHAR_IDX) + loc;\n }\n };\n caching.WriteCache \x3d function() {\n this.idx \x3d 0;\n this.gen \x3d 0;\n this.cacheSize \x3d 0;\n this.cache \x3d {};\n };\n caching.WriteCache.prototype.write \x3d function(string, asMapKey) {\n if (caching.isCacheable(string, asMapKey)) {\n if (this.cacheSize \x3d\x3d\x3d caching.MAX_CACHE_SIZE) {\n this.clear();\n this.gen \x3d 0;\n this.cache \x3d {};\n } else if (this.idx \x3d\x3d\x3d caching.MAX_CACHE_ENTRIES) {\n this.clear();\n }\n var entry \x3d this.cache[string];\n if (entry \x3d\x3d null) {\n this.cache[string] \x3d [caching.idxToCode(this.idx), this.gen];\n this.idx++;\n return string;\n } else if (entry[1] !\x3d this.gen) {\n entry[1] \x3d this.gen;\n entry[0] \x3d caching.idxToCode(this.idx);\n this.idx++;\n return string;\n } else {\n return entry[0];\n }\n } else {\n return string;\n }\n };\n caching.WriteCache.prototype.clear \x3d function Transit$WriteCache() {\n this.idx \x3d 0;\n this.gen++;\n };\n caching.writeCache \x3d function() {\n return new caching.WriteCache();\n };\n caching.isCacheCode \x3d function(string) {\n return string.charAt(0) \x3d\x3d\x3d d.SUB \x26\x26 string.charAt(1) !\x3d\x3d \x22 \x22;\n };\n caching.codeToIdx \x3d function(code) {\n if (code.length \x3d\x3d\x3d 2) {\n return code.charCodeAt(1) - caching.BASE_CHAR_IDX;\n } else {\n var hi \x3d (code.charCodeAt(1) - caching.BASE_CHAR_IDX) * caching.CACHE_CODE_DIGITS;\n var lo \x3d code.charCodeAt(2) - caching.BASE_CHAR_IDX;\n return hi + lo;\n }\n };\n caching.ReadCache \x3d function Transit$ReadCache() {\n this.idx \x3d 0;\n this.cache \x3d [];\n };\n caching.ReadCache.prototype.write \x3d function(obj, asMapKey) {\n if (this.idx \x3d\x3d caching.MAX_CACHE_ENTRIES) {\n this.idx \x3d 0;\n }\n this.cache[this.idx] \x3d obj;\n this.idx++;\n return obj;\n };\n caching.ReadCache.prototype.read \x3d function(string, asMapKey) {\n return this.cache[caching.codeToIdx(string)];\n };\n caching.ReadCache.prototype.clear \x3d function() {\n this.idx \x3d 0;\n };\n caching.readCache \x3d function() {\n return new caching.ReadCache();\n };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.eq.js", true, "goog.provide(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.scope(function() {\n var eq \x3d com.cognitect.transit.eq;\n var util \x3d com.cognitect.transit.util;\n eq.hashCodeProperty \x3d \x22transit$hashCode$\x22;\n eq.hashCodeCounter \x3d 1;\n eq.equals \x3d function(x, y) {\n if (x \x3d\x3d null) {\n return y \x3d\x3d null;\n } else if (x \x3d\x3d\x3d y) {\n return true;\n } else if (typeof x \x3d\x3d\x3d \x22object\x22) {\n if (util.isArray(x)) {\n if (util.isArray(y)) {\n if (x.length \x3d\x3d\x3d y.length) {\n var i \x3d 0;\n for (; i \x3c x.length; i++) {\n if (!eq.equals(x[i], y[i])) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n } else if (x.com$cognitect$transit$equals) {\n return x.com$cognitect$transit$equals(y);\n } else if (y !\x3d null \x26\x26 typeof y \x3d\x3d\x3d \x22object\x22) {\n if (y.com$cognitect$transit$equals) {\n return y.com$cognitect$transit$equals(x);\n } else {\n var xklen \x3d 0;\n var yklen \x3d util.objectKeys(y).length;\n var p;\n for (p in x) {\n if (!x.hasOwnProperty(p)) {\n continue;\n }\n xklen++;\n if (!y.hasOwnProperty(p)) {\n return false;\n } else {\n if (!eq.equals(x[p], y[p])) {\n return false;\n }\n }\n }\n return xklen \x3d\x3d\x3d yklen;\n }\n } else {\n return false;\n }\n } else {\n return false;\n }\n };\n eq.hashCombine \x3d function(seed, hash) {\n return seed ^ hash + 2654435769 + (seed \x3c\x3c 6) + (seed \x3e\x3e 2);\n };\n eq.stringCodeCache \x3d {};\n eq.stringCodeCacheSize \x3d 0;\n eq.STR_CACHE_MAX \x3d 256;\n eq.hashString \x3d function(str) {\n var cached \x3d eq.stringCodeCache[str];\n if (cached !\x3d null) {\n return cached;\n }\n var code \x3d 0;\n var i \x3d 0;\n for (; i \x3c str.length; ++i) {\n code \x3d 31 * code + str.charCodeAt(i);\n code \x3d code % 4294967296;\n }\n eq.stringCodeCacheSize++;\n if (eq.stringCodeCacheSize \x3e\x3d eq.STR_CACHE_MAX) {\n eq.stringCodeCache \x3d {};\n eq.stringCodeCacheSize \x3d 1;\n }\n eq.stringCodeCache[str] \x3d code;\n return code;\n };\n eq.hashMapLike \x3d function(m) {\n var code \x3d 0;\n if (m.forEach !\x3d null) {\n m.forEach(function(val, key, m) {\n code \x3d (code + (eq.hashCode(key) ^ eq.hashCode(val))) % 4503599627370496;\n });\n } else {\n var keys \x3d util.objectKeys(m);\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n var key \x3d keys[i];\n var val \x3d m[key];\n code \x3d (code + (eq.hashCode(key) ^ eq.hashCode(val))) % 4503599627370496;\n }\n }\n return code;\n };\n eq.hashArrayLike \x3d function(arr) {\n var code \x3d 0;\n if (util.isArray(arr)) {\n var i \x3d 0;\n for (; i \x3c arr.length; i++) {\n code \x3d eq.hashCombine(code, eq.hashCode(arr[i]));\n }\n } else if (arr.forEach) {\n arr.forEach(function(x, i) {\n code \x3d eq.hashCombine(code, eq.hashCode(x));\n });\n }\n return code;\n };\n eq.hashCode \x3d function(x) {\n if (x \x3d\x3d null) {\n return 0;\n } else {\n switch(typeof x) {\n case \x22number\x22:\n return x;\n break;\n case \x22boolean\x22:\n return x \x3d\x3d\x3d true ? 1 : 0;\n break;\n case \x22string\x22:\n return eq.hashString(x);\n break;\n case \x22function\x22:\n var code \x3d x[eq.hashCodeProperty];\n if (code) {\n return code;\n } else {\n code \x3d eq.hashCodeCounter;\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n Object.defineProperty(x, eq.hashCodeProperty, {value:code, enumerable:false});\n } else {\n x[eq.hashCodeProperty] \x3d code;\n }\n eq.hashCodeCounter++;\n return code;\n }\n break;\n default:\n if (x instanceof Date) {\n return x.valueOf();\n } else if (util.isArray(x)) {\n return eq.hashArrayLike(x);\n }\n if (x.com$cognitect$transit$hashCode) {\n return x.com$cognitect$transit$hashCode();\n } else {\n return eq.hashMapLike(x);\n }\n break;\n }\n }\n };\n eq.extendToEQ \x3d function(obj, opts) {\n obj.com$cognitect$transit$hashCode \x3d opts[\x22hashCode\x22];\n obj.com$cognitect$transit$equals \x3d opts[\x22equals\x22];\n return obj;\n };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.types.js", true, "goog.provide(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var types \x3d com.cognitect.transit.types;\n var util \x3d com.cognitect.transit.util;\n var eq \x3d com.cognitect.transit.eq;\n var Long \x3d goog.math.Long;\n if (typeof Symbol !\x3d \x22undefined\x22) {\n types.ITERATOR \x3d Symbol.iterator;\n } else {\n types.ITERATOR \x3d \x22@@iterator\x22;\n }\n types.TaggedValue \x3d function Transit$TaggedValue(tag, rep) {\n this.tag \x3d tag;\n this.rep \x3d rep;\n this.hashCode \x3d -1;\n };\n types.TaggedValue.prototype.toString \x3d function() {\n return \x22[TaggedValue: \x22 + this.tag + \x22, \x22 + this.rep + \x22]\x22;\n };\n types.TaggedValue.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.TaggedValue.prototype[\x22equiv\x22] \x3d types.TaggedValue.prototype.equiv;\n types.TaggedValue.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (other instanceof types.TaggedValue) {\n return this.tag \x3d\x3d\x3d other.tag \x26\x26 eq.equals(this.rep, other.rep);\n } else {\n return false;\n }\n };\n types.TaggedValue.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCombine(eq.hashCode(this.tag), eq.hashCode(this.rep));\n }\n return this.hashCode;\n };\n types.taggedValue \x3d function(tag, rep) {\n return new types.TaggedValue(tag, rep);\n };\n types.isTaggedValue \x3d function(x) {\n return x instanceof types.TaggedValue;\n };\n types.nullValue \x3d function() {\n return null;\n };\n types.boolValue \x3d function(s) {\n return s \x3d\x3d\x3d \x22t\x22;\n };\n types.MAX_INT \x3d Long.fromString(\x229007199254740991\x22);\n types.MIN_INT \x3d Long.fromString(\x22-9007199254740991\x22);\n types.intValue \x3d function(s) {\n if (typeof s \x3d\x3d\x3d \x22number\x22) {\n return s;\n } else if (s instanceof Long) {\n return s;\n } else {\n var n \x3d Long.fromString(s, 10);\n if (n.greaterThan(types.MAX_INT) || n.lessThan(types.MIN_INT)) {\n return n;\n } else {\n return n.toNumber();\n }\n }\n };\n Long.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n Long.prototype[\x22equiv\x22] \x3d Long.prototype.equiv;\n Long.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof Long \x26\x26 this.equals(other);\n };\n Long.prototype.com$cognitect$transit$hashCode \x3d function() {\n return this.toInt();\n };\n types.isInteger \x3d function(x) {\n if (x instanceof Long) {\n return true;\n } else {\n return typeof x \x3d\x3d\x3d \x22number\x22 \x26\x26 !isNaN(x) \x26\x26 !(x \x3d\x3d\x3d Infinity) \x26\x26 parseFloat(x) \x3d\x3d\x3d parseInt(x, 10);\n }\n };\n types.floatValue \x3d function(s) {\n return parseFloat(s);\n };\n types.bigInteger \x3d function(s) {\n return types.taggedValue(\x22n\x22, s);\n };\n types.isBigInteger \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22n\x22;\n };\n types.bigDecimalValue \x3d function(s) {\n return types.taggedValue(\x22f\x22, s);\n };\n types.isBigDecimal \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22f\x22;\n };\n types.charValue \x3d function(s) {\n return s;\n };\n types.Keyword \x3d function Transit$Keyword(name) {\n this._name \x3d name;\n this.hashCode \x3d -1;\n };\n types.Keyword.prototype.toString \x3d function() {\n return \x22:\x22 + this._name;\n };\n types.Keyword.prototype[\x22namespace\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(0, idx);\n } else {\n return null;\n }\n };\n types.Keyword.prototype[\x22name\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(idx + 1, this._name.length);\n } else {\n return this._name;\n }\n };\n types.Keyword.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.Keyword.prototype[\x22equiv\x22] \x3d types.Keyword.prototype.equiv;\n types.Keyword.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof types.Keyword \x26\x26 this._name \x3d\x3d other._name;\n };\n types.Keyword.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCode(this._name);\n }\n return this.hashCode;\n };\n types.keyword \x3d function(s) {\n return new types.Keyword(s);\n };\n types.isKeyword \x3d function(x) {\n return x instanceof types.Keyword;\n };\n types.Symbol \x3d function Transit$Symbol(name) {\n this._name \x3d name;\n this.hashCode \x3d -1;\n };\n types.Symbol.prototype[\x22namespace\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(0, idx);\n } else {\n return null;\n }\n };\n types.Symbol.prototype[\x22name\x22] \x3d function() {\n var idx \x3d this._name.indexOf(\x22/\x22);\n if (idx !\x3d -1) {\n return this._name.substring(idx + 1, this._name.length);\n } else {\n return this._name;\n }\n };\n types.Symbol.prototype.toString \x3d function() {\n return this._name;\n };\n types.Symbol.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.Symbol.prototype[\x22equiv\x22] \x3d types.Symbol.prototype.equiv;\n types.Symbol.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof types.Symbol \x26\x26 this._name \x3d\x3d other._name;\n };\n types.Symbol.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCode(this._name);\n }\n return this.hashCode;\n };\n types.symbol \x3d function(s) {\n return new types.Symbol(s);\n };\n types.isSymbol \x3d function(x) {\n return x instanceof types.Symbol;\n };\n types.hexFor \x3d function(aLong, sidx, eidx) {\n var ret \x3d \x22\x22;\n eidx \x3d eidx || sidx + 1;\n var i \x3d sidx;\n var shift \x3d (7 - i) * 8;\n var mask \x3d Long.fromInt(255).shiftLeft(shift);\n for (; i \x3c eidx; i++, shift \x3d shift - 8, mask \x3d mask.shiftRightUnsigned(8)) {\n var s \x3d aLong.and(mask).shiftRightUnsigned(shift).toString(16);\n if (s.length \x3d\x3d 1) {\n s \x3d \x220\x22 + s;\n }\n ret \x3d ret + s;\n }\n return ret;\n };\n types.UUID \x3d function Transit$UUID(high, low) {\n this.high \x3d high;\n this.low \x3d low;\n this.hashCode \x3d -1;\n };\n types.UUID.prototype.getLeastSignificantBits \x3d function() {\n return this.low;\n };\n types.UUID.prototype.getMostSignificantBits \x3d function() {\n return this.high;\n };\n types.UUID.prototype.toString \x3d function() {\n var s \x3d \x22\x22;\n var hi64 \x3d this.high;\n var lo64 \x3d this.low;\n s \x3d s + (types.hexFor(hi64, 0, 4) + \x22-\x22);\n s \x3d s + (types.hexFor(hi64, 4, 6) + \x22-\x22);\n s \x3d s + (types.hexFor(hi64, 6, 8) + \x22-\x22);\n s \x3d s + (types.hexFor(lo64, 0, 2) + \x22-\x22);\n s \x3d s + types.hexFor(lo64, 2, 8);\n return s;\n };\n types.UUID.prototype.equiv \x3d function(other) {\n return eq.equals(this, other);\n };\n types.UUID.prototype[\x22equiv\x22] \x3d types.UUID.prototype.equiv;\n types.UUID.prototype.com$cognitect$transit$equals \x3d function(other) {\n return other instanceof types.UUID \x26\x26 this.high.equals(other.high) \x26\x26 this.low.equals(other.low);\n };\n types.UUID.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashCode(this.toString());\n }\n return this.hashCode;\n };\n types.UUIDfromString \x3d function uuidFromString(s) {\n s \x3d s.replace(/-/g, \x22\x22);\n var hi64 \x3d null;\n var lo64 \x3d null;\n var hi32 \x3d 0;\n var lo32 \x3d 0;\n var off \x3d 24;\n var i \x3d 0;\n hi32 \x3d 0, i \x3d 0, off \x3d 24;\n for (; i \x3c 8; i \x3d i + 2, off \x3d off - 8) {\n hi32 \x3d hi32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n lo32 \x3d 0, i \x3d 8, off \x3d 24;\n for (; i \x3c 16; i \x3d i + 2, off \x3d off - 8) {\n lo32 \x3d lo32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n hi64 \x3d Long.fromBits(lo32, hi32);\n hi32 \x3d 0, i \x3d 16, off \x3d 24;\n for (; i \x3c 24; i \x3d i + 2, off \x3d off - 8) {\n hi32 \x3d hi32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n lo32 \x3d 0, i \x3d 24, off \x3d 24;\n for (; i \x3c 32; i \x3d i + 2, off \x3d off - 8) {\n lo32 \x3d lo32 | parseInt(s.substring(i, i + 2), 16) \x3c\x3c off;\n }\n lo64 \x3d Long.fromBits(lo32, hi32);\n return new types.UUID(hi64, lo64);\n };\n types.uuid \x3d function(s) {\n return types.UUIDfromString(s);\n };\n types.isUUID \x3d function(x) {\n return x instanceof types.UUID;\n };\n types.date \x3d function(s) {\n s \x3d typeof s \x3d\x3d\x3d \x22number\x22 ? s : parseInt(s, 10);\n return new Date(s);\n };\n types.verboseDate \x3d function(s) {\n return new Date(s);\n };\n Date.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (other instanceof Date) {\n return this.valueOf() \x3d\x3d\x3d other.valueOf();\n } else {\n return false;\n }\n };\n Date.prototype.com$cognitect$transit$hashCode \x3d function() {\n return this.valueOf();\n };\n types.binary \x3d function(str, decoder) {\n if ((!decoder || decoder.preferBuffers !\x3d\x3d false) \x26\x26 typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n return new goog.global.Buffer(str, \x22base64\x22);\n } else if (typeof Uint8Array !\x3d \x22undefined\x22) {\n return util.Base64ToUint8(str);\n } else {\n return types.taggedValue(\x22b\x22, str);\n }\n };\n types.isBinary \x3d function(x) {\n if (typeof goog.global.Buffer !\x3d \x22undefined\x22 \x26\x26 x instanceof goog.global.Buffer) {\n return true;\n } else if (typeof Uint8Array !\x3d \x22undefined\x22 \x26\x26 x instanceof Uint8Array) {\n return true;\n } else {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22b\x22;\n }\n };\n types.uri \x3d function(s) {\n return types.taggedValue(\x22r\x22, s);\n };\n types.isURI \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22r\x22;\n };\n types.KEYS \x3d 0;\n types.VALUES \x3d 1;\n types.ENTRIES \x3d 2;\n types.TransitArrayMapIterator \x3d function Transit$ArrayMapIterator(entries, type) {\n this.entries \x3d entries;\n this.type \x3d type || types.KEYS;\n this.idx \x3d 0;\n };\n types.TransitArrayMapIterator.prototype.next \x3d function() {\n if (this.idx \x3c this.entries.length) {\n var value \x3d null;\n if (this.type \x3d\x3d\x3d types.KEYS) {\n value \x3d this.entries[this.idx];\n } else if (this.type \x3d\x3d\x3d types.VALUES) {\n value \x3d this.entries[this.idx + 1];\n } else {\n value \x3d [this.entries[this.idx], this.entries[this.idx + 1]];\n }\n var ret \x3d {\x22value\x22:value, \x22done\x22:false};\n this.idx +\x3d 2;\n return ret;\n } else {\n return {\x22value\x22:null, \x22done\x22:true};\n }\n };\n types.TransitArrayMapIterator.prototype[\x22next\x22] \x3d types.TransitArrayMapIterator.prototype.next;\n types.TransitArrayMapIterator.prototype[types.ITERATOR] \x3d function() {\n return this;\n };\n types.TransitMapIterator \x3d function Transit$MapIterator(map, type) {\n this.map \x3d map;\n this.type \x3d type || types.KEYS;\n this.keys \x3d this.map.getKeys();\n this.idx \x3d 0;\n this.bucket \x3d null;\n this.bucketIdx \x3d 0;\n };\n types.TransitMapIterator.prototype.next \x3d function() {\n if (this.idx \x3c this.map.size) {\n if (this.bucket \x3d\x3d null || !(this.bucketIdx \x3c this.bucket.length)) {\n this.bucket \x3d this.map.map[this.keys[this.idx]];\n this.bucketIdx \x3d 0;\n }\n var value \x3d null;\n if (this.type \x3d\x3d\x3d types.KEYS) {\n value \x3d this.bucket[this.bucketIdx];\n } else if (this.type \x3d\x3d\x3d types.VALUES) {\n value \x3d this.bucket[this.bucketIdx + 1];\n } else {\n value \x3d [this.bucket[this.bucketIdx], this.bucket[this.bucketIdx + 1]];\n }\n var ret \x3d {\x22value\x22:value, \x22done\x22:false};\n this.idx++;\n this.bucketIdx +\x3d 2;\n return ret;\n } else {\n return {\x22value\x22:null, \x22done\x22:true};\n }\n };\n types.TransitMapIterator.prototype[\x22next\x22] \x3d types.TransitMapIterator.prototype.next;\n types.TransitMapIterator.prototype[types.ITERATOR] \x3d function() {\n return this;\n };\n types.mapEquals \x3d function(me, you) {\n if (me instanceof types.TransitMap \x26\x26 types.isMap(you)) {\n if (me.size !\x3d\x3d you.size) {\n return false;\n }\n var code;\n for (code in me.map) {\n var bucket \x3d me.map[code];\n var j \x3d 0;\n for (; j \x3c bucket.length; j \x3d j + 2) {\n if (!eq.equals(bucket[j + 1], you.get(bucket[j]))) {\n return false;\n }\n }\n }\n return true;\n } else if (me instanceof types.TransitArrayMap \x26\x26 types.isMap(you)) {\n if (me.size !\x3d\x3d you.size) {\n return false;\n }\n var entries \x3d me._entries;\n j \x3d 0;\n for (; j \x3c entries.length; j \x3d j + 2) {\n if (!eq.equals(entries[j + 1], you.get(entries[j]))) {\n return false;\n }\n }\n return true;\n } else if (you !\x3d null \x26\x26 typeof you \x3d\x3d\x3d \x22object\x22) {\n var ks \x3d util.objectKeys(you);\n var kslen \x3d ks.length;\n if (me.size \x3d\x3d\x3d kslen) {\n var i \x3d 0;\n for (; i \x3c kslen; i++) {\n var k \x3d ks[i];\n if (!me.has(k) || !eq.equals(you[k], me.get(k))) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n };\n types.SMALL_ARRAY_MAP_THRESHOLD \x3d 8;\n types.ARRAY_MAP_THRESHOLD \x3d 32;\n types.ARRAY_MAP_ACCESS_THRESHOLD \x3d 32;\n types.print \x3d function(x) {\n if (x \x3d\x3d null) {\n return \x22null\x22;\n }\n if (goog.typeOf(x) \x3d\x3d\x3d \x22array\x22) {\n return \x22[\x22 + x.toString() + \x22]\x22;\n } else if (goog.typeOf(x) \x3d\x3d\x3d \x22string\x22) {\n return \x27\x22\x27 + x + \x27\x22\x27;\n } else {\n return x.toString();\n }\n };\n types.printMap \x3d function(map) {\n var idx \x3d 0;\n var str \x3d \x22TransitMap {\x22;\n map.forEach(function(v, k) {\n str \x3d str + (types.print(k) + \x22 \\x3d\\x3e \x22 + types.print(v));\n if (idx \x3c map.size - 1) {\n str \x3d str + \x22, \x22;\n }\n idx++;\n });\n return str + \x22}\x22;\n };\n types.printSet \x3d function(set) {\n var idx \x3d 0;\n var str \x3d \x22TransitSet {\x22;\n set.forEach(function(v) {\n str \x3d str + types.print(v);\n if (idx \x3c set.size - 1) {\n str \x3d str + \x22, \x22;\n }\n idx++;\n });\n return str + \x22}\x22;\n };\n types.TransitArrayMap \x3d function Transit$ArrayMap(entries) {\n this._entries \x3d entries;\n this.backingMap \x3d null;\n this.hashCode \x3d -1;\n this.size \x3d entries.length / 2;\n this.accesses \x3d 0;\n };\n types.TransitArrayMap.prototype.toString \x3d function() {\n return types.printMap(this);\n };\n types.TransitArrayMap.prototype[\x22inspect\x22] \x3d function() {\n return this.toString();\n };\n types.TransitArrayMap.prototype.convert \x3d function() {\n if (this.backingMap) {\n throw Error(\x22Invalid operation, already converted\x22);\n }\n if (this.size \x3c types.SMALL_ARRAY_MAP_THRESHOLD) {\n return false;\n }\n this.accesses++;\n if (this.accesses \x3e types.ARRAY_MAP_ACCESS_THRESHOLD) {\n this.backingMap \x3d types.map(this._entries, false, true);\n this._entries \x3d [];\n return true;\n } else {\n return false;\n }\n };\n types.TransitArrayMap.prototype.clear \x3d function() {\n this.hashCode \x3d -1;\n if (this.backingMap) {\n this.backingMap.clear();\n this.size \x3d 0;\n } else {\n this._entries \x3d [];\n this.size \x3d 0;\n }\n };\n types.TransitArrayMap.prototype[\x22clear\x22] \x3d types.TransitArrayMap.prototype.clear;\n types.TransitArrayMap.prototype.keys \x3d function() {\n if (this.backingMap) {\n return this.backingMap.keys();\n } else {\n return new types.TransitArrayMapIterator(this._entries, types.KEYS);\n }\n };\n types.TransitArrayMap.prototype[\x22keys\x22] \x3d types.TransitArrayMap.prototype.keys;\n types.TransitArrayMap.prototype.keySet \x3d function() {\n if (this.backingMap) {\n return this.backingMap.keySet();\n } else {\n var ret \x3d [];\n var i \x3d 0;\n var j \x3d 0;\n for (; j \x3c this._entries.length; i++, j \x3d j + 2) {\n ret[i] \x3d this._entries[j];\n }\n return ret;\n }\n };\n types.TransitArrayMap.prototype[\x22keySet\x22] \x3d types.TransitArrayMap.prototype.keySet;\n types.TransitArrayMap.prototype.entries \x3d function() {\n if (this.backingMap) {\n return this.backingMap.entries();\n } else {\n return new types.TransitArrayMapIterator(this._entries, types.ENTRIES);\n }\n };\n types.TransitArrayMap.prototype[\x22entries\x22] \x3d types.TransitArrayMap.prototype.entries;\n types.TransitArrayMap.prototype.values \x3d function() {\n if (this.backingMap) {\n return this.backingMap.values();\n } else {\n return new types.TransitArrayMapIterator(this._entries, types.VALUES);\n }\n };\n types.TransitArrayMap.prototype[\x22values\x22] \x3d types.TransitArrayMap.prototype.values;\n types.TransitArrayMap.prototype.forEach \x3d function(f) {\n if (this.backingMap) {\n this.backingMap.forEach(f);\n } else {\n var i \x3d 0;\n for (; i \x3c this._entries.length; i \x3d i + 2) {\n f(this._entries[i + 1], this._entries[i]);\n }\n }\n };\n types.TransitArrayMap.prototype[\x22forEach\x22] \x3d types.TransitArrayMap.prototype.forEach;\n types.TransitArrayMap.prototype.get \x3d function(k, notFound) {\n if (this.backingMap) {\n return this.backingMap.get(k);\n } else {\n if (this.convert()) {\n return this.get(k);\n } else {\n var i \x3d 0;\n for (; i \x3c this._entries.length; i \x3d i + 2) {\n if (eq.equals(this._entries[i], k)) {\n return this._entries[i + 1];\n }\n }\n return notFound;\n }\n }\n };\n types.TransitArrayMap.prototype[\x22get\x22] \x3d types.TransitArrayMap.prototype.get;\n types.TransitArrayMap.prototype.has \x3d function(k) {\n if (this.backingMap) {\n return this.backingMap.has(k);\n } else {\n if (this.convert()) {\n return this.has(k);\n } else {\n var i \x3d 0;\n for (; i \x3c this._entries.length; i \x3d i + 2) {\n if (eq.equals(this._entries[i], k)) {\n return true;\n }\n }\n return false;\n }\n }\n };\n types.TransitArrayMap.prototype[\x22has\x22] \x3d types.TransitArrayMap.prototype.has;\n types.TransitArrayMap.prototype.set \x3d function(k, v) {\n this.hashCode \x3d -1;\n if (this.backingMap) {\n this.backingMap.set(k, v);\n this.size \x3d this.backingMap.size;\n } else {\n var i \x3d 0;\n for (; i \x3c this._entries.length; i \x3d i + 2) {\n if (eq.equals(this._entries[i], k)) {\n this._entries[i + 1] \x3d v;\n return;\n }\n }\n this._entries.push(k);\n this._entries.push(v);\n this.size++;\n if (this.size \x3e types.ARRAY_MAP_THRESHOLD) {\n this.backingMap \x3d types.map(this._entries, false, true);\n this._entries \x3d null;\n }\n }\n };\n types.TransitArrayMap.prototype[\x22set\x22] \x3d types.TransitArrayMap.prototype.set;\n types.TransitArrayMap.prototype[\x22delete\x22] \x3d function(k) {\n this.hashCode \x3d -1;\n if (this.backingMap) {\n var ret \x3d this.backingMap.delete(k);\n this.size \x3d this.backingMap.size;\n return ret;\n } else {\n var i \x3d 0;\n for (; i \x3c this._entries.length; i \x3d i + 2) {\n if (eq.equals(this._entries[i], k)) {\n ret \x3d this._entries[i + 1];\n this._entries.splice(i, 2);\n this.size--;\n return ret;\n }\n }\n }\n };\n types.TransitArrayMap.prototype.clone \x3d function() {\n var clone \x3d types.map();\n this.forEach(function(v, k) {\n clone.set(k, v);\n });\n return clone;\n };\n types.TransitArrayMap.prototype[\x22clone\x22] \x3d types.TransitArrayMap.prototype.clone;\n types.TransitArrayMap.prototype[types.ITERATOR] \x3d function() {\n return this.entries();\n };\n types.TransitArrayMap.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.backingMap) {\n return this.backingMap.com$cognitect$transit$hashCode();\n } else {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashMapLike(this);\n }\n return this.hashCode;\n }\n };\n types.TransitArrayMap.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (this.backingMap) {\n return types.mapEquals(this.backingMap, other);\n } else {\n return types.mapEquals(this, other);\n }\n };\n types.TransitMap \x3d function Transit$Map(keys, map, size) {\n this.map \x3d map || {};\n this._keys \x3d keys || [];\n this.size \x3d size || 0;\n this.hashCode \x3d -1;\n };\n types.TransitMap.prototype.toString \x3d function() {\n return types.printMap(this);\n };\n types.TransitMap.prototype[\x22inspect\x22] \x3d function() {\n return this.toString();\n };\n types.TransitMap.prototype.clear \x3d function() {\n this.hashCode \x3d -1;\n this.map \x3d {};\n this._keys \x3d [];\n this.size \x3d 0;\n };\n types.TransitMap.prototype[\x22clear\x22] \x3d types.TransitMap.prototype.clear;\n types.TransitMap.prototype.getKeys \x3d function() {\n if (this._keys !\x3d null) {\n return this._keys;\n } else {\n return util.objectKeys(this.map);\n }\n };\n types.TransitMap.prototype[\x22delete\x22] \x3d function(k) {\n this.hashCode \x3d -1;\n this._keys \x3d null;\n var code \x3d eq.hashCode(k);\n var bucket \x3d this.map[code];\n var i \x3d 0;\n for (; i \x3c bucket.length; i \x3d i + 2) {\n if (eq.equals(k, bucket[i])) {\n var ret \x3d bucket[i + 1];\n bucket.splice(i, 2);\n if (bucket.length \x3d\x3d\x3d 0) {\n delete this.map[code];\n }\n this.size--;\n return ret;\n }\n }\n };\n types.TransitMap.prototype.entries \x3d function() {\n return new types.TransitMapIterator(this, types.ENTRIES);\n };\n types.TransitMap.prototype[\x22entries\x22] \x3d types.TransitMap.prototype.entries;\n types.TransitMap.prototype.forEach \x3d function(callback) {\n var ks \x3d this.getKeys();\n var i \x3d 0;\n for (; i \x3c ks.length; i++) {\n var bucket \x3d this.map[ks[i]];\n var j \x3d 0;\n for (; j \x3c bucket.length; j \x3d j + 2) {\n callback(bucket[j + 1], bucket[j], this);\n }\n }\n };\n types.TransitMap.prototype[\x22forEach\x22] \x3d types.TransitMap.prototype.forEach;\n types.TransitMap.prototype.get \x3d function(k, notFound) {\n var code \x3d eq.hashCode(k);\n var bucket \x3d this.map[code];\n if (bucket !\x3d null) {\n var i \x3d 0;\n for (; i \x3c bucket.length; i \x3d i + 2) {\n if (eq.equals(k, bucket[i])) {\n return bucket[i + 1];\n }\n }\n } else {\n return notFound;\n }\n };\n types.TransitMap.prototype[\x22get\x22] \x3d types.TransitMap.prototype.get;\n types.TransitMap.prototype.has \x3d function(k) {\n var code \x3d eq.hashCode(k);\n var bucket \x3d this.map[code];\n if (bucket !\x3d null) {\n var i \x3d 0;\n for (; i \x3c bucket.length; i \x3d i + 2) {\n if (eq.equals(k, bucket[i])) {\n return true;\n }\n }\n return false;\n } else {\n return false;\n }\n };\n types.TransitMap.prototype[\x22has\x22] \x3d types.TransitMap.prototype.has;\n types.TransitMap.prototype.keys \x3d function() {\n return new types.TransitMapIterator(this, types.KEYS);\n };\n types.TransitMap.prototype[\x22keys\x22] \x3d types.TransitMap.prototype.keys;\n types.TransitMap.prototype.keySet \x3d function() {\n var keys \x3d this.getKeys();\n var ret \x3d [];\n var i \x3d 0;\n for (; i \x3c keys.length; i++) {\n var bucket \x3d this.map[keys[i]];\n var j \x3d 0;\n for (; j \x3c bucket.length; j \x3d j + 2) {\n ret.push(bucket[j]);\n }\n }\n return ret;\n };\n types.TransitMap.prototype[\x22keySet\x22] \x3d types.TransitMap.prototype.keySet;\n types.TransitMap.prototype.set \x3d function(k, v) {\n this.hashCode \x3d -1;\n var code \x3d eq.hashCode(k);\n var bucket \x3d this.map[code];\n if (bucket \x3d\x3d null) {\n if (this._keys) {\n this._keys.push(code);\n }\n this.map[code] \x3d [k, v];\n this.size++;\n } else {\n var newEntry \x3d true;\n var i \x3d 0;\n for (; i \x3c bucket.length; i \x3d i + 2) {\n if (eq.equals(v, bucket[i])) {\n newEntry \x3d false;\n bucket[i] \x3d v;\n break;\n }\n }\n if (newEntry) {\n bucket.push(k);\n bucket.push(v);\n this.size++;\n }\n }\n };\n types.TransitMap.prototype[\x22set\x22] \x3d types.TransitMap.prototype.set;\n types.TransitMap.prototype.values \x3d function() {\n return new types.TransitMapIterator(this, types.VALUES);\n };\n types.TransitMap.prototype[\x22values\x22] \x3d types.TransitMap.prototype.values;\n types.TransitMap.prototype.clone \x3d function() {\n var clone \x3d types.map();\n this.forEach(function(v, k) {\n clone.set(k, v);\n });\n return clone;\n };\n types.TransitMap.prototype[\x22clone\x22] \x3d types.TransitMap.prototype.clone;\n types.TransitMap.prototype[types.ITERATOR] \x3d function() {\n return this.entries();\n };\n types.TransitMap.prototype.com$cognitect$transit$hashCode \x3d function() {\n if (this.hashCode \x3d\x3d\x3d -1) {\n this.hashCode \x3d eq.hashMapLike(this);\n }\n return this.hashCode;\n };\n types.TransitMap.prototype.com$cognitect$transit$equals \x3d function(other) {\n return types.mapEquals(this, other);\n };\n types.map \x3d function(arr, checkDups, hashMap) {\n arr \x3d arr || [];\n checkDups \x3d checkDups \x3d\x3d\x3d false ? checkDups : true;\n hashMap \x3d hashMap \x3d\x3d\x3d true ? hashMap : false;\n if (!hashMap \x26\x26 arr.length \x3c\x3d types.ARRAY_MAP_THRESHOLD * 2) {\n if (checkDups) {\n var t \x3d arr;\n arr \x3d [];\n var i \x3d 0;\n for (; i \x3c t.length; i \x3d i + 2) {\n var seen \x3d false;\n var j \x3d 0;\n for (; j \x3c arr.length; j \x3d j + 2) {\n if (eq.equals(arr[j], t[i])) {\n arr[j + 1] \x3d t[i + 1];\n seen \x3d true;\n break;\n }\n }\n if (!seen) {\n arr.push(t[i]);\n arr.push(t[i + 1]);\n }\n }\n }\n return new types.TransitArrayMap(arr);\n } else {\n var map \x3d {};\n var keys \x3d [];\n var size \x3d 0;\n i \x3d 0;\n for (; i \x3c arr.length; i \x3d i + 2) {\n var code \x3d eq.hashCode(arr[i]);\n var bucket \x3d map[code];\n if (bucket \x3d\x3d null) {\n keys.push(code);\n map[code] \x3d [arr[i], arr[i + 1]];\n size++;\n } else {\n var newEntry \x3d true;\n j \x3d 0;\n for (; j \x3c bucket.length; j \x3d j + 2) {\n if (eq.equals(bucket[j], arr[i])) {\n bucket[j + 1] \x3d arr[i + 1];\n newEntry \x3d false;\n break;\n }\n }\n if (newEntry) {\n bucket.push(arr[i]);\n bucket.push(arr[i + 1]);\n size++;\n }\n }\n }\n return new types.TransitMap(keys, map, size);\n }\n };\n types.isArrayMap \x3d function(x) {\n return x instanceof types.TransitArrayMap;\n };\n types.isMap \x3d function(x) {\n return x instanceof types.TransitArrayMap || x instanceof types.TransitMap;\n };\n types.TransitSet \x3d function Transit$Set(map) {\n this.map \x3d map;\n this.size \x3d map.size;\n };\n types.TransitSet.prototype.toString \x3d function() {\n return types.printSet(this);\n };\n types.TransitSet.prototype[\x22inspect\x22] \x3d function() {\n return this.toString();\n };\n types.TransitSet.prototype.add \x3d function(value) {\n this.map.set(value, value);\n this.size \x3d this.map.size;\n };\n types.TransitSet.prototype[\x22add\x22] \x3d types.TransitSet.prototype.add;\n types.TransitSet.prototype.clear \x3d function() {\n this.map \x3d new types.TransitMap();\n this.size \x3d 0;\n };\n types.TransitSet.prototype[\x22clear\x22] \x3d types.TransitSet.prototype.clear;\n types.TransitSet.prototype[\x22delete\x22] \x3d function(value) {\n var ret \x3d this.map.delete(value);\n this.size \x3d this.map.size;\n return ret;\n };\n types.TransitSet.prototype.entries \x3d function() {\n return this.map.entries();\n };\n types.TransitSet.prototype[\x22entries\x22] \x3d types.TransitSet.prototype.entries;\n types.TransitSet.prototype.forEach \x3d function(iterator, thisArg) {\n var self \x3d this;\n this.map.forEach(function(v, k, m) {\n iterator(k, self);\n });\n };\n types.TransitSet.prototype[\x22forEach\x22] \x3d types.TransitSet.prototype.forEach;\n types.TransitSet.prototype.has \x3d function(value) {\n return this.map.has(value);\n };\n types.TransitSet.prototype[\x22has\x22] \x3d types.TransitSet.prototype.has;\n types.TransitSet.prototype.keys \x3d function() {\n return this.map.keys();\n };\n types.TransitSet.prototype[\x22keys\x22] \x3d types.TransitSet.prototype.keys;\n types.TransitSet.prototype.keySet \x3d function() {\n return this.map.keySet();\n };\n types.TransitSet.prototype[\x22keySet\x22] \x3d types.TransitSet.prototype.keySet;\n types.TransitSet.prototype.values \x3d function() {\n return this.map.values();\n };\n types.TransitSet.prototype[\x22values\x22] \x3d types.TransitSet.prototype.values;\n types.TransitSet.prototype.clone \x3d function() {\n var clone \x3d types.set();\n this.forEach(function(k) {\n clone.add(k);\n });\n return clone;\n };\n types.TransitSet.prototype[\x22clone\x22] \x3d types.TransitSet.prototype.clone;\n types.TransitSet.prototype[types.ITERATOR] \x3d function() {\n return this.values();\n };\n types.TransitSet.prototype.com$cognitect$transit$equals \x3d function(other) {\n if (other instanceof types.TransitSet) {\n if (this.size \x3d\x3d\x3d other.size) {\n return eq.equals(this.map, other.map);\n }\n } else {\n return false;\n }\n };\n types.TransitSet.prototype.com$cognitect$transit$hashCode \x3d function(other) {\n return eq.hashCode(this.map);\n };\n types.set \x3d function(arr) {\n arr \x3d arr || [];\n var map \x3d {};\n var keys \x3d [];\n var size \x3d 0;\n var i \x3d 0;\n for (; i \x3c arr.length; i++) {\n var code \x3d eq.hashCode(arr[i]);\n var vals \x3d map[code];\n if (vals \x3d\x3d null) {\n keys.push(code);\n map[code] \x3d [arr[i], arr[i]];\n size++;\n } else {\n var newEntry \x3d true;\n var j \x3d 0;\n for (; j \x3c vals.length; j \x3d j + 2) {\n if (eq.equals(vals[j], arr[i])) {\n newEntry \x3d false;\n break;\n }\n }\n if (newEntry) {\n vals.push(arr[i]);\n vals.push(arr[i]);\n size++;\n }\n }\n }\n return new types.TransitSet(new types.TransitMap(keys, map, size));\n };\n types.isSet \x3d function(x) {\n return x instanceof types.TransitSet;\n };\n types.quoted \x3d function(obj) {\n return types.taggedValue(\x22\x27\x22, obj);\n };\n types.isQuoted \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22\x27\x22;\n };\n types.list \x3d function(xs) {\n return types.taggedValue(\x22list\x22, xs);\n };\n types.isList \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22list\x22;\n };\n types.link \x3d function(rep) {\n return types.taggedValue(\x22link\x22, rep);\n };\n types.isLink \x3d function(x) {\n return x instanceof types.TaggedValue \x26\x26 x.tag \x3d\x3d\x3d \x22link\x22;\n };\n types.specialDouble \x3d function(v) {\n switch(v) {\n case \x22-INF\x22:\n return -Infinity;\n case \x22INF\x22:\n return Infinity;\n case \x22NaN\x22:\n return NaN;\n default:\n throw new Error(\x22Invalid special double value \x22 + v);\n break;\n }\n };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.impl.decoder.js", true, "goog.provide(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.scope(function() {\n var decoder \x3d com.cognitect.transit.impl.decoder;\n var util \x3d com.cognitect.transit.util;\n var d \x3d com.cognitect.transit.delimiters;\n var caching \x3d com.cognitect.transit.caching;\n var types \x3d com.cognitect.transit.types;\n decoder.Tag \x3d function Transit$Tag(s) {\n this.str \x3d s;\n };\n decoder.tag \x3d function(s) {\n return new decoder.Tag(s);\n };\n decoder.isTag \x3d function(x) {\n return x \x26\x26 x instanceof decoder.Tag;\n };\n decoder.isGroundHandler \x3d function(handler) {\n switch(handler) {\n case \x22_\x22:\n case \x22s\x22:\n case \x22?\x22:\n case \x22i\x22:\n case \x22d\x22:\n case \x22b\x22:\n case \x22\x27\x22:\n case \x22array\x22:\n case \x22map\x22:\n return true;\n }\n return false;\n };\n decoder.Decoder \x3d function Transit$Decoder(options) {\n this.options \x3d options || {};\n this.handlers \x3d {};\n var h;\n for (h in this.defaults.handlers) {\n this.handlers[h] \x3d this.defaults.handlers[h];\n }\n for (h in this.options[\x22handlers\x22]) {\n if (decoder.isGroundHandler(h)) {\n throw new Error(\x27Cannot override handler for ground type \x22\x27 + h + \x27\x22\x27);\n }\n this.handlers[h] \x3d this.options[\x22handlers\x22][h];\n }\n this.preferStrings \x3d this.options[\x22preferStrings\x22] !\x3d null ? this.options[\x22preferStrings\x22] : this.defaults.preferStrings;\n this.preferBuffers \x3d this.options[\x22preferBuffers\x22] !\x3d null ? this.options[\x22preferBuffers\x22] : this.defaults.preferBuffers;\n this.defaultHandler \x3d this.options[\x22defaultHandler\x22] || this.defaults.defaultHandler;\n this.mapBuilder \x3d this.options[\x22mapBuilder\x22];\n this.arrayBuilder \x3d this.options[\x22arrayBuilder\x22];\n };\n decoder.Decoder.prototype.defaults \x3d {handlers:{\x22_\x22:function(v, d) {\n return types.nullValue();\n }, \x22?\x22:function(v, d) {\n return types.boolValue(v);\n }, \x22b\x22:function(v, d) {\n return types.binary(v, d);\n }, \x22i\x22:function(v, d) {\n return types.intValue(v);\n }, \x22n\x22:function(v, d) {\n return types.bigInteger(v);\n }, \x22d\x22:function(v, d) {\n return types.floatValue(v);\n }, \x22f\x22:function(v, d) {\n return types.bigDecimalValue(v);\n }, \x22c\x22:function(v, d) {\n return types.charValue(v);\n }, \x22:\x22:function(v, d) {\n return types.keyword(v);\n }, \x22$\x22:function(v, d) {\n return types.symbol(v);\n }, \x22r\x22:function(v, d) {\n return types.uri(v);\n }, \x22z\x22:function(v, d) {\n return types.specialDouble(v);\n }, \x22\x27\x22:function(v, d) {\n return v;\n }, \x22m\x22:function(v, d) {\n return types.date(v);\n }, \x22t\x22:function(v, d) {\n return types.verboseDate(v);\n }, \x22u\x22:function(v, d) {\n return types.uuid(v);\n }, \x22set\x22:function(v, d) {\n return types.set(v);\n }, \x22list\x22:function(v, d) {\n return types.list(v);\n }, \x22link\x22:function(v, d) {\n return types.link(v);\n }, \x22cmap\x22:function(v, d) {\n return types.map(v, false);\n }}, defaultHandler:function(c, val) {\n return types.taggedValue(c, val);\n }, preferStrings:true, preferBuffers:true};\n decoder.Decoder.prototype.decode \x3d function(node, cache, asMapKey, tagValue) {\n if (node \x3d\x3d null) {\n return null;\n }\n var t \x3d typeof node;\n switch(t) {\n case \x22string\x22:\n return this.decodeString(node, cache, asMapKey, tagValue);\n break;\n case \x22object\x22:\n if (util.isArray(node)) {\n if (node[0] \x3d\x3d\x3d \x22^ \x22) {\n return this.decodeArrayHash(node, cache, asMapKey, tagValue);\n } else {\n return this.decodeArray(node, cache, asMapKey, tagValue);\n }\n } else {\n return this.decodeHash(node, cache, asMapKey, tagValue);\n }\n break;\n }\n return node;\n };\n decoder.Decoder.prototype[\x22decode\x22] \x3d decoder.Decoder.prototype.decode;\n decoder.Decoder.prototype.decodeString \x3d function(string, cache, asMapKey, tagValue) {\n if (caching.isCacheable(string, asMapKey)) {\n var val \x3d this.parseString(string, cache, false);\n if (cache) {\n cache.write(val, asMapKey);\n }\n return val;\n } else if (caching.isCacheCode(string)) {\n return cache.read(string, asMapKey);\n } else {\n return this.parseString(string, cache, asMapKey);\n }\n };\n decoder.Decoder.prototype.decodeHash \x3d function(hash, cache, asMapKey, tagValue) {\n var ks \x3d util.objectKeys(hash);\n var key \x3d ks[0];\n var tag \x3d ks.length \x3d\x3d 1 ? this.decode(key, cache, false, false) : null;\n if (decoder.isTag(tag)) {\n var val \x3d hash[key];\n var handler \x3d this.handlers[tag.str];\n if (handler !\x3d null) {\n return handler(this.decode(val, cache, false, true), this);\n } else {\n return types.taggedValue(tag.str, this.decode(val, cache, false, false));\n }\n } else if (this.mapBuilder) {\n if (ks.length \x3c types.SMALL_ARRAY_MAP_THRESHOLD * 2 \x26\x26 this.mapBuilder.fromArray) {\n var nodep \x3d [];\n var i \x3d 0;\n for (; i \x3c ks.length; i++) {\n var strKey \x3d ks[i];\n nodep.push(this.decode(strKey, cache, true, false));\n nodep.push(this.decode(hash[strKey], cache, false, false));\n }\n return this.mapBuilder.fromArray(nodep, hash);\n } else {\n var ret \x3d this.mapBuilder.init(hash);\n i \x3d 0;\n for (; i \x3c ks.length; i++) {\n strKey \x3d ks[i];\n ret \x3d this.mapBuilder.add(ret, this.decode(strKey, cache, true, false), this.decode(hash[strKey], cache, false, false), hash);\n }\n return this.mapBuilder.finalize(ret, hash);\n }\n } else {\n nodep \x3d [];\n i \x3d 0;\n for (; i \x3c ks.length; i++) {\n strKey \x3d ks[i];\n nodep.push(this.decode(strKey, cache, true, false));\n nodep.push(this.decode(hash[strKey], cache, false, false));\n }\n return types.map(nodep, false);\n }\n };\n decoder.Decoder.prototype.decodeArrayHash \x3d function(node, cache, asMapKey, tagValue) {\n if (this.mapBuilder) {\n if (node.length \x3c types.SMALL_ARRAY_MAP_THRESHOLD * 2 + 1 \x26\x26 this.mapBuilder.fromArray) {\n var nodep \x3d [];\n var i \x3d 1;\n for (; i \x3c node.length; i \x3d i + 2) {\n nodep.push(this.decode(node[i], cache, true, false));\n nodep.push(this.decode(node[i + 1], cache, false, false));\n }\n return this.mapBuilder.fromArray(nodep, node);\n } else {\n var ret \x3d this.mapBuilder.init(node);\n i \x3d 1;\n for (; i \x3c node.length; i \x3d i + 2) {\n ret \x3d this.mapBuilder.add(ret, this.decode(node[i], cache, true, false), this.decode(node[i + 1], cache, false, false), node);\n }\n return this.mapBuilder.finalize(ret, node);\n }\n } else {\n nodep \x3d [];\n i \x3d 1;\n for (; i \x3c node.length; i \x3d i + 2) {\n nodep.push(this.decode(node[i], cache, true, false));\n nodep.push(this.decode(node[i + 1], cache, false, false));\n }\n return types.map(nodep, false);\n }\n };\n decoder.Decoder.prototype.decodeArray \x3d function(node, cache, asMapKey, tagValue) {\n if (tagValue) {\n var ret \x3d [];\n var i \x3d 0;\n for (; i \x3c node.length; i++) {\n ret.push(this.decode(node[i], cache, asMapKey, false));\n }\n return ret;\n } else {\n var cacheIdx \x3d cache \x26\x26 cache.idx;\n if (node.length \x3d\x3d\x3d 2 \x26\x26 typeof node[0] \x3d\x3d\x3d \x22string\x22) {\n var tag \x3d this.decode(node[0], cache, false, false);\n if (decoder.isTag(tag)) {\n var val \x3d node[1];\n var handler \x3d this.handlers[tag.str];\n if (handler !\x3d null) {\n ret \x3d handler(this.decode(val, cache, asMapKey, true), this);\n return ret;\n } else {\n return types.taggedValue(tag.str, this.decode(val, cache, asMapKey, false));\n }\n }\n }\n if (cache \x26\x26 cacheIdx !\x3d cache.idx) {\n cache.idx \x3d cacheIdx;\n }\n if (this.arrayBuilder) {\n if (node.length \x3c\x3d 32 \x26\x26 this.arrayBuilder.fromArray) {\n var arr \x3d [];\n i \x3d 0;\n for (; i \x3c node.length; i++) {\n arr.push(this.decode(node[i], cache, asMapKey, false));\n }\n return this.arrayBuilder.fromArray(arr, node);\n } else {\n ret \x3d this.arrayBuilder.init(node);\n i \x3d 0;\n for (; i \x3c node.length; i++) {\n ret \x3d this.arrayBuilder.add(ret, this.decode(node[i], cache, asMapKey, false), node);\n }\n return this.arrayBuilder.finalize(ret, node);\n }\n } else {\n ret \x3d [];\n i \x3d 0;\n for (; i \x3c node.length; i++) {\n ret.push(this.decode(node[i], cache, asMapKey, false));\n }\n return ret;\n }\n }\n };\n decoder.Decoder.prototype.parseString \x3d function(string, cache, asMapKey) {\n if (string.charAt(0) \x3d\x3d\x3d d.ESC) {\n var c \x3d string.charAt(1);\n if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n return string.substring(1);\n } else if (c \x3d\x3d\x3d d.TAG) {\n return decoder.tag(string.substring(2));\n } else {\n var handler \x3d this.handlers[c];\n if (handler \x3d\x3d null) {\n return this.defaultHandler(c, string.substring(2));\n } else {\n return handler(string.substring(2), this);\n }\n }\n } else {\n return string;\n }\n };\n decoder.decoder \x3d function(options) {\n return new decoder.Decoder(options);\n };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.impl.reader.js", true, "goog.provide(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.scope(function() {\n var reader \x3d com.cognitect.transit.impl.reader;\n var decoder \x3d com.cognitect.transit.impl.decoder;\n var caching \x3d com.cognitect.transit.caching;\n reader.JSONUnmarshaller \x3d function Transit$JSONUnmarshaller(opts) {\n this.decoder \x3d new decoder.Decoder(opts);\n };\n reader.JSONUnmarshaller.prototype.unmarshal \x3d function(str, cache) {\n return this.decoder.decode(JSON.parse(str), cache);\n };\n reader.Reader \x3d function Transit$Reader(unmarshaller, options) {\n this.unmarshaller \x3d unmarshaller;\n this.options \x3d options || {};\n this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.ReadCache();\n };\n reader.Reader.prototype.read \x3d function(str) {\n var ret \x3d this.unmarshaller.unmarshal(str, this.cache);\n this.cache.clear();\n return ret;\n };\n reader.Reader.prototype[\x22read\x22] \x3d reader.Reader.prototype.read;\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.handlers.js", true, "goog.provide(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var handlers \x3d com.cognitect.transit.handlers;\n var util \x3d com.cognitect.transit.util;\n var types \x3d com.cognitect.transit.types;\n var Long \x3d goog.math.Long;\n handlers.ctorGuid \x3d 0;\n handlers.ctorGuidProperty \x3d \x22transit$guid$\x22 + util.randomUUID();\n handlers.typeTag \x3d function(ctor) {\n if (ctor \x3d\x3d null) {\n return \x22null\x22;\n } else if (ctor \x3d\x3d\x3d String) {\n return \x22string\x22;\n } else if (ctor \x3d\x3d\x3d Boolean) {\n return \x22boolean\x22;\n } else if (ctor \x3d\x3d\x3d Number) {\n return \x22number\x22;\n } else if (ctor \x3d\x3d\x3d Array) {\n return \x22array\x22;\n } else if (ctor \x3d\x3d\x3d Object) {\n return \x22map\x22;\n } else {\n var tag \x3d ctor[handlers.ctorGuidProperty];\n if (tag \x3d\x3d null) {\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n tag \x3d ++handlers.ctorGuid;\n Object.defineProperty(ctor, handlers.ctorGuidProperty, {value:tag, enumerable:false});\n } else {\n ctor[handlers.ctorGuidProperty] \x3d tag \x3d ++handlers.ctorGuid;\n }\n }\n return tag;\n }\n };\n handlers.constructor \x3d function(x) {\n if (x \x3d\x3d null) {\n return null;\n } else {\n return x.constructor;\n }\n };\n handlers.padZeros \x3d function(n, m) {\n var s \x3d n.toString();\n var i \x3d s.length;\n for (; i \x3c m; i++) {\n s \x3d \x220\x22 + s;\n }\n return s;\n };\n handlers.stringableKeys \x3d function(m) {\n var stringable \x3d false;\n var ks \x3d util.objectKeys(m);\n var i \x3d 0;\n for (; i \x3c ks.length; i++) {\n }\n return true;\n };\n handlers.NilHandler \x3d function Transit$NilHandler() {\n };\n handlers.NilHandler.prototype.tag \x3d function(v) {\n return \x22_\x22;\n };\n handlers.NilHandler.prototype.rep \x3d function(v) {\n return null;\n };\n handlers.NilHandler.prototype.stringRep \x3d function(v) {\n return \x22null\x22;\n };\n handlers.StringHandler \x3d function Transit$StringHandler() {\n };\n handlers.StringHandler.prototype.tag \x3d function(v) {\n return \x22s\x22;\n };\n handlers.StringHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.StringHandler.prototype.stringRep \x3d function(v) {\n return v;\n };\n handlers.NumberHandler \x3d function Transit$NumberHandler() {\n };\n handlers.NumberHandler.prototype.tag \x3d function(v) {\n return \x22i\x22;\n };\n handlers.NumberHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.NumberHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.IntegerHandler \x3d function Transit$IntegerHandler() {\n };\n handlers.IntegerHandler.prototype.tag \x3d function(v) {\n return \x22i\x22;\n };\n handlers.IntegerHandler.prototype.rep \x3d function(v) {\n return v.toString();\n };\n handlers.IntegerHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.BooleanHandler \x3d function Transit$BooleanHandler() {\n };\n handlers.BooleanHandler.prototype.tag \x3d function(v) {\n return \x22?\x22;\n };\n handlers.BooleanHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.BooleanHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.ArrayHandler \x3d function Transit$ArrayHandler() {\n };\n handlers.ArrayHandler.prototype.tag \x3d function(v) {\n return \x22array\x22;\n };\n handlers.ArrayHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.ArrayHandler.prototype.stringRep \x3d function(v) {\n return null;\n };\n handlers.MapHandler \x3d function Transit$MapHandler() {\n };\n handlers.MapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.MapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.MapHandler.prototype.stringRep \x3d function(v) {\n return null;\n };\n handlers.VerboseDateHandler \x3d function Transit$VerboseDateHandler() {\n };\n handlers.VerboseDateHandler.prototype.tag \x3d function(v) {\n return \x22t\x22;\n };\n handlers.VerboseDateHandler.prototype.rep \x3d function(v) {\n return v.getUTCFullYear() + \x22-\x22 + handlers.padZeros(v.getUTCMonth() + 1, 2) + \x22-\x22 + handlers.padZeros(v.getUTCDate(), 2) + \x22T\x22 + handlers.padZeros(v.getUTCHours(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCMinutes(), 2) + \x22:\x22 + handlers.padZeros(v.getUTCSeconds(), 2) + \x22.\x22 + handlers.padZeros(v.getUTCMilliseconds(), 3) + \x22Z\x22;\n };\n handlers.VerboseDateHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.DateHandler \x3d function Transit$DateHandler() {\n };\n handlers.DateHandler.prototype.tag \x3d function(v) {\n return \x22m\x22;\n };\n handlers.DateHandler.prototype.rep \x3d function(v) {\n return v.valueOf();\n };\n handlers.DateHandler.prototype.stringRep \x3d function(v) {\n return v.valueOf().toString();\n };\n handlers.DateHandler.prototype.getVerboseHandler \x3d function(v) {\n return new handlers.VerboseDateHandler();\n };\n handlers.UUIDHandler \x3d function Transit$UUIDHandler() {\n };\n handlers.UUIDHandler.prototype.tag \x3d function(v) {\n return \x22u\x22;\n };\n handlers.UUIDHandler.prototype.rep \x3d function(v) {\n return v.toString();\n };\n handlers.UUIDHandler.prototype.stringRep \x3d function(v) {\n return v.toString();\n };\n handlers.KeywordHandler \x3d function Transit$KeywordHandler() {\n };\n handlers.KeywordHandler.prototype.tag \x3d function(v) {\n return \x22:\x22;\n };\n handlers.KeywordHandler.prototype.rep \x3d function(v) {\n return v._name;\n };\n handlers.KeywordHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.SymbolHandler \x3d function Transit$SymbolHandler() {\n };\n handlers.SymbolHandler.prototype.tag \x3d function(v) {\n return \x22$\x22;\n };\n handlers.SymbolHandler.prototype.rep \x3d function(v) {\n return v._name;\n };\n handlers.SymbolHandler.prototype.stringRep \x3d function(v, h) {\n return h.rep(v);\n };\n handlers.TaggedHandler \x3d function Transit$TaggedHandler() {\n };\n handlers.TaggedHandler.prototype.tag \x3d function(v) {\n return v.tag;\n };\n handlers.TaggedHandler.prototype.rep \x3d function(v) {\n return v.rep;\n };\n handlers.TaggedHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitSetHandler \x3d function Transit$TransitSetHandler() {\n };\n handlers.TransitSetHandler.prototype.tag \x3d function(v) {\n return \x22set\x22;\n };\n handlers.TransitSetHandler.prototype.rep \x3d function(v) {\n var arr \x3d [];\n v.forEach(function(key, set) {\n arr.push(key);\n });\n return types.taggedValue(\x22array\x22, arr);\n };\n handlers.TransitSetHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitArrayMapHandler \x3d function Transit$ArrayMapHandler() {\n };\n handlers.TransitArrayMapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.TransitArrayMapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.TransitArrayMapHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.TransitMapHandler \x3d function Transit$MapHandler() {\n };\n handlers.TransitMapHandler.prototype.tag \x3d function(v) {\n return \x22map\x22;\n };\n handlers.TransitMapHandler.prototype.rep \x3d function(v) {\n return v;\n };\n handlers.TransitMapHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.BufferHandler \x3d function Transit$BufferHandler() {\n };\n handlers.BufferHandler.prototype.tag \x3d function(v) {\n return \x22b\x22;\n };\n handlers.BufferHandler.prototype.rep \x3d function(v) {\n return v.toString(\x22base64\x22);\n };\n handlers.BufferHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.Uint8ArrayHandler \x3d function Transit$Uint8ArrayHandler() {\n };\n handlers.Uint8ArrayHandler.prototype.tag \x3d function(v) {\n return \x22b\x22;\n };\n handlers.Uint8ArrayHandler.prototype.rep \x3d function(v) {\n return util.Uint8ToBase64(v);\n };\n handlers.Uint8ArrayHandler.prototype.stringRep \x3d function(v, h) {\n return null;\n };\n handlers.defaultHandlers \x3d function(hs) {\n hs.set(null, new handlers.NilHandler());\n hs.set(String, new handlers.StringHandler());\n hs.set(Number, new handlers.NumberHandler());\n hs.set(Long, new handlers.IntegerHandler());\n hs.set(Boolean, new handlers.BooleanHandler());\n hs.set(Array, new handlers.ArrayHandler());\n hs.set(Object, new handlers.MapHandler());\n hs.set(Date, new handlers.DateHandler());\n hs.set(types.UUID, new handlers.UUIDHandler());\n hs.set(types.Keyword, new handlers.KeywordHandler());\n hs.set(types.Symbol, new handlers.SymbolHandler());\n hs.set(types.TaggedValue, new handlers.TaggedHandler());\n hs.set(types.TransitSet, new handlers.TransitSetHandler());\n hs.set(types.TransitArrayMap, new handlers.TransitArrayMapHandler());\n hs.set(types.TransitMap, new handlers.TransitMapHandler());\n if (typeof goog.global.Buffer !\x3d \x22undefined\x22) {\n hs.set(goog.global.Buffer, new handlers.BufferHandler());\n }\n if (typeof Uint8Array !\x3d \x22undefined\x22) {\n hs.set(Uint8Array, new handlers.Uint8ArrayHandler());\n }\n return hs;\n };\n handlers.Handlers \x3d function Transit$Handlers() {\n this.handlers \x3d {};\n handlers.defaultHandlers(this);\n };\n handlers.Handlers.prototype.get \x3d function(ctor) {\n var h \x3d null;\n if (typeof ctor \x3d\x3d\x3d \x22string\x22) {\n h \x3d this.handlers[ctor];\n } else {\n h \x3d this.handlers[handlers.typeTag(ctor)];\n }\n if (h !\x3d null) {\n return h;\n } else {\n return this.handlers[\x22default\x22];\n }\n };\n handlers.Handlers.prototype[\x22get\x22] \x3d handlers.Handlers.prototype.get;\n handlers.validTag \x3d function(tag) {\n switch(tag) {\n case \x22null\x22:\n case \x22string\x22:\n case \x22boolean\x22:\n case \x22number\x22:\n case \x22array\x22:\n case \x22map\x22:\n return false;\n break;\n }\n return true;\n };\n handlers.Handlers.prototype.set \x3d function(ctor, handler) {\n if (typeof ctor \x3d\x3d\x3d \x22string\x22 \x26\x26 handlers.validTag(ctor)) {\n this.handlers[ctor] \x3d handler;\n } else {\n this.handlers[handlers.typeTag(ctor)] \x3d handler;\n }\n };\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.impl.writer.js", true, "goog.provide(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\ngoog.require(\x22com.cognitect.transit.handlers\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.delimiters\x22);\ngoog.require(\x22goog.math.Long\x22);\ngoog.scope(function() {\n var writer \x3d com.cognitect.transit.impl.writer;\n var util \x3d com.cognitect.transit.util;\n var caching \x3d com.cognitect.transit.caching;\n var handlers \x3d com.cognitect.transit.handlers;\n var types \x3d com.cognitect.transit.types;\n var d \x3d com.cognitect.transit.delimiters;\n var Long \x3d goog.math.Long;\n writer.escape \x3d function(string) {\n if (string.length \x3e 0) {\n var c \x3d string.charAt(0);\n if (c \x3d\x3d\x3d d.ESC || c \x3d\x3d\x3d d.SUB || c \x3d\x3d\x3d d.RES) {\n return d.ESC + string;\n } else {\n return string;\n }\n } else {\n return string;\n }\n };\n writer.JSONMarshaller \x3d function Transit$JSONMarshaller(opts) {\n this.opts \x3d opts || {};\n this.preferStrings \x3d this.opts[\x22preferStrings\x22] !\x3d null ? this.opts[\x22preferStrings\x22] : true;\n this.objectBuilder \x3d this.opts[\x22objectBuilder\x22] || null;\n this.transform \x3d this.opts[\x22transform\x22] || null;\n this.handlers \x3d new handlers.Handlers();\n var optsHandlers \x3d this.opts[\x22handlers\x22];\n if (optsHandlers) {\n if (util.isArray(optsHandlers) || !optsHandlers.forEach) {\n throw new Error(\x27transit writer \x22handlers\x22 option must be a map\x27);\n }\n var self \x3d this;\n optsHandlers.forEach(function(v, k) {\n if (k !\x3d\x3d undefined) {\n self.handlers.set(k, v);\n } else {\n throw new Error(\x22Cannot create handler for JavaScript undefined\x22);\n }\n });\n }\n this.handlerForForeign \x3d this.opts[\x22handlerForForeign\x22];\n this.unpack \x3d this.opts[\x22unpack\x22] || function(x) {\n if (types.isArrayMap(x) \x26\x26 x.backingMap \x3d\x3d\x3d null) {\n return x._entries;\n } else {\n return false;\n }\n };\n this.verbose \x3d this.opts \x26\x26 this.opts[\x22verbose\x22] || false;\n };\n writer.JSONMarshaller.prototype.handler \x3d function(obj) {\n var h \x3d this.handlers.get(handlers.constructor(obj));\n if (h !\x3d null) {\n return h;\n } else {\n var tag \x3d obj \x26\x26 obj[\x22transitTag\x22];\n if (tag) {\n return this.handlers.get(tag);\n } else {\n return null;\n }\n }\n };\n writer.JSONMarshaller.prototype.registerHandler \x3d function(ctor, handler) {\n this.handlers.set(ctor, handler);\n };\n writer.JSONMarshaller.prototype.emitNil \x3d function(asMapKey, cache) {\n if (asMapKey) {\n return this.emitString(d.ESC, \x22_\x22, \x22\x22, asMapKey, cache);\n } else {\n return null;\n }\n };\n writer.JSONMarshaller.prototype.emitString \x3d function(prefix, tag, s, asMapKey, cache) {\n var string \x3d prefix + tag + s;\n if (cache) {\n return cache.write(string, asMapKey);\n } else {\n return string;\n }\n };\n writer.JSONMarshaller.prototype.emitBoolean \x3d function(b, asMapKey, cache) {\n if (asMapKey) {\n var s \x3d b.toString();\n return this.emitString(d.ESC, \x22?\x22, s[0], asMapKey, cache);\n } else {\n return b;\n }\n };\n writer.JSONMarshaller.prototype.emitInteger \x3d function(i, asMapKey, cache) {\n if (i \x3d\x3d\x3d Infinity) {\n return this.emitString(d.ESC, \x22z\x22, \x22INF\x22, asMapKey, cache);\n } else if (i \x3d\x3d\x3d -Infinity) {\n return this.emitString(d.ESC, \x22z\x22, \x22-INF\x22, asMapKey, cache);\n } else if (isNaN(i)) {\n return this.emitString(d.ESC, \x22z\x22, \x22NaN\x22, asMapKey, cache);\n } else if (asMapKey || typeof i \x3d\x3d\x3d \x22string\x22 || i instanceof Long) {\n return this.emitString(d.ESC, \x22i\x22, i.toString(), asMapKey, cache);\n } else {\n return i;\n }\n };\n writer.JSONMarshaller.prototype.emitDouble \x3d function(d, asMapKey, cache) {\n if (asMapKey) {\n return this.emitString(d.ESC, \x22d\x22, d, asMapKey, cache);\n } else {\n return d;\n }\n };\n writer.JSONMarshaller.prototype.emitBinary \x3d function(b, asMapKey, cache) {\n return this.emitString(d.ESC, \x22b\x22, b, asMapKey, cache);\n };\n writer.JSONMarshaller.prototype.emitQuoted \x3d function(em, obj, cache) {\n if (em.verbose) {\n var ret \x3d {};\n var k \x3d this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache);\n ret[k] \x3d writer.marshal(this, obj, false, cache);\n return ret;\n } else {\n return [this.emitString(d.ESC_TAG, \x22\x27\x22, \x22\x22, true, cache), writer.marshal(this, obj, false, cache)];\n }\n };\n writer.emitObjects \x3d function(em, iterable, cache) {\n var ret \x3d [];\n if (util.isArray(iterable)) {\n var i \x3d 0;\n for (; i \x3c iterable.length; i++) {\n ret.push(writer.marshal(em, iterable[i], false, cache));\n }\n } else {\n iterable.forEach(function(v, i) {\n ret.push(writer.marshal(em, v, false, cache));\n });\n }\n return ret;\n };\n writer.emitArray \x3d function(em, iterable, skip, cache) {\n return writer.emitObjects(em, iterable, cache);\n };\n writer.isStringableKey \x3d function(em, k) {\n if (typeof k !\x3d\x3d \x22string\x22) {\n var h \x3d em.handler(k);\n return h \x26\x26 h.tag(k).length \x3d\x3d\x3d 1;\n } else {\n return true;\n }\n };\n writer.stringableKeys \x3d function(em, obj) {\n var arr \x3d em.unpack(obj);\n var stringableKeys \x3d true;\n if (arr) {\n var i \x3d 0;\n for (; i \x3c arr.length; i \x3d i + 2) {\n stringableKeys \x3d writer.isStringableKey(em, arr[i]);\n if (!stringableKeys) {\n break;\n }\n }\n return stringableKeys;\n } else if (obj.keys) {\n var iter \x3d obj.keys();\n var step \x3d null;\n if (iter.next) {\n step \x3d iter.next();\n for (; !step.done;) {\n stringableKeys \x3d writer.isStringableKey(em, step.value);\n if (!stringableKeys) {\n break;\n }\n step \x3d iter.next();\n }\n return stringableKeys;\n }\n }\n if (obj.forEach) {\n obj.forEach(function(v, k) {\n stringableKeys \x3d stringableKeys \x26\x26 writer.isStringableKey(em, k);\n });\n return stringableKeys;\n } else {\n throw new Error(\x22Cannot walk keys of object type \x22 + handlers.constructor(obj).name);\n }\n };\n writer.isForeignObject \x3d function(x) {\n if (x.constructor[\x22transit$isObject\x22]) {\n return true;\n }\n var ret \x3d x.constructor.toString();\n ret \x3d ret.substr(\x22function \x22.length);\n ret \x3d ret.substr(0, ret.indexOf(\x22(\x22));\n var isObject \x3d ret \x3d\x3d \x22Object\x22;\n if (typeof Object.defineProperty !\x3d \x22undefined\x22) {\n Object.defineProperty(x.constructor, \x22transit$isObject\x22, {value:isObject, enumerable:false});\n } else {\n x.constructor[\x22transit$isObject\x22] \x3d isObject;\n }\n return isObject;\n };\n writer.emitMap \x3d function(em, obj, skip, cache) {\n var arr \x3d null;\n var rep \x3d null;\n var tag \x3d null;\n var ks \x3d null;\n var i \x3d 0;\n if (obj.constructor \x3d\x3d\x3d Object || obj.forEach !\x3d null || em.handlerForForeign \x26\x26 writer.isForeignObject(obj)) {\n if (em.verbose) {\n if (obj.forEach !\x3d null) {\n if (writer.stringableKeys(em, obj)) {\n var ret \x3d {};\n obj.forEach(function(v, k) {\n ret[writer.marshal(em, k, true, false)] \x3d writer.marshal(em, v, false, cache);\n });\n return ret;\n } else {\n arr \x3d em.unpack(obj);\n rep \x3d [];\n tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n if (arr) {\n for (; i \x3c arr.length; i \x3d i + 2) {\n rep.push(writer.marshal(em, arr[i], false, false));\n rep.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n rep.push(writer.marshal(em, k, false, false));\n rep.push(writer.marshal(em, v, false, cache));\n });\n }\n ret \x3d {};\n ret[tag] \x3d rep;\n return ret;\n }\n } else {\n ks \x3d util.objectKeys(obj);\n ret \x3d {};\n for (; i \x3c ks.length; i++) {\n ret[writer.marshal(em, ks[i], true, false)] \x3d writer.marshal(em, obj[ks[i]], false, cache);\n }\n return ret;\n }\n } else {\n if (obj.forEach !\x3d null) {\n if (writer.stringableKeys(em, obj)) {\n arr \x3d em.unpack(obj);\n ret \x3d [\x22^ \x22];\n if (arr) {\n for (; i \x3c arr.length; i \x3d i + 2) {\n ret.push(writer.marshal(em, arr[i], true, cache));\n ret.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n ret.push(writer.marshal(em, k, true, cache));\n ret.push(writer.marshal(em, v, false, cache));\n });\n }\n return ret;\n } else {\n arr \x3d em.unpack(obj);\n rep \x3d [];\n tag \x3d em.emitString(d.ESC_TAG, \x22cmap\x22, \x22\x22, true, cache);\n if (arr) {\n for (; i \x3c arr.length; i \x3d i + 2) {\n rep.push(writer.marshal(em, arr[i], false, cache));\n rep.push(writer.marshal(em, arr[i + 1], false, cache));\n }\n } else {\n obj.forEach(function(v, k) {\n rep.push(writer.marshal(em, k, false, cache));\n rep.push(writer.marshal(em, v, false, cache));\n });\n }\n return [tag, rep];\n }\n } else {\n ret \x3d [\x22^ \x22];\n ks \x3d util.objectKeys(obj);\n for (; i \x3c ks.length; i++) {\n ret.push(writer.marshal(em, ks[i], true, cache));\n ret.push(writer.marshal(em, obj[ks[i]], false, cache));\n }\n return ret;\n }\n }\n } else if (em.objectBuilder !\x3d null) {\n return em.objectBuilder(obj, function(k) {\n return writer.marshal(em, k, true, cache);\n }, function(v) {\n return writer.marshal(em, v, false, cache);\n });\n } else {\n var name \x3d handlers.constructor(obj).name;\n var err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.emitTaggedMap \x3d function(em, tag, rep, skip, cache) {\n if (em.verbose) {\n var ret \x3d {};\n ret[em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache)] \x3d writer.marshal(em, rep, false, cache);\n return ret;\n } else {\n return [em.emitString(d.ESC_TAG, tag, \x22\x22, true, cache), writer.marshal(em, rep, false, cache)];\n }\n };\n writer.emitEncoded \x3d function(em, h, tag, rep, obj, asMapKey, cache) {\n if (tag.length \x3d\x3d\x3d 1) {\n if (typeof rep \x3d\x3d\x3d \x22string\x22) {\n return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n } else if (asMapKey || em.preferStrings) {\n var vh \x3d em.verbose \x26\x26 h.getVerboseHandler();\n if (vh) {\n tag \x3d vh.tag(obj);\n rep \x3d vh.stringRep(obj, vh);\n } else {\n rep \x3d h.stringRep(obj, h);\n }\n if (rep !\x3d\x3d null) {\n return em.emitString(d.ESC, tag, rep, asMapKey, cache);\n } else {\n var err \x3d new Error(\x27Tag \x22\x27 + tag + \x27\x22 cannot be encoded as string\x27);\n err.data \x3d {tag:tag, rep:rep, obj:obj};\n throw err;\n }\n } else {\n return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n }\n } else {\n return writer.emitTaggedMap(em, tag, rep, asMapKey, cache);\n }\n };\n writer.marshal \x3d function(em, obj, asMapKey, cache) {\n if (em.transform !\x3d\x3d null) {\n obj \x3d em.transform(obj);\n }\n var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null);\n var tag \x3d h ? h.tag(obj) : null;\n var rep \x3d h ? h.rep(obj) : null;\n if (h !\x3d null \x26\x26 tag !\x3d null) {\n switch(tag) {\n case \x22_\x22:\n return em.emitNil(asMapKey, cache);\n break;\n case \x22s\x22:\n return em.emitString(\x22\x22, \x22\x22, writer.escape(rep), asMapKey, cache);\n break;\n case \x22?\x22:\n return em.emitBoolean(rep, asMapKey, cache);\n break;\n case \x22i\x22:\n return em.emitInteger(rep, asMapKey, cache);\n break;\n case \x22d\x22:\n return em.emitDouble(rep, asMapKey, cache);\n break;\n case \x22b\x22:\n return em.emitBinary(rep, asMapKey, cache);\n break;\n case \x22\x27\x22:\n return em.emitQuoted(em, rep, cache);\n break;\n case \x22array\x22:\n return writer.emitArray(em, rep, asMapKey, cache);\n break;\n case \x22map\x22:\n return writer.emitMap(em, rep, asMapKey, cache);\n break;\n default:\n return writer.emitEncoded(em, h, tag, rep, obj, asMapKey, cache);\n break;\n }\n } else {\n var name \x3d handlers.constructor(obj).name;\n var err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.maybeQuoted \x3d function(em, obj) {\n var h \x3d em.handler(obj) || (em.handlerForForeign ? em.handlerForForeign(obj, em.handlers) : null);\n if (h !\x3d null) {\n if (h.tag(obj).length \x3d\x3d\x3d 1) {\n return types.quoted(obj);\n } else {\n return obj;\n }\n } else {\n var name \x3d handlers.constructor(obj).name;\n var err \x3d new Error(\x22Cannot write \x22 + name);\n err.data \x3d {obj:obj, type:name};\n throw err;\n }\n };\n writer.marshalTop \x3d function(em, obj, asMapKey, cache) {\n return JSON.stringify(writer.marshal(em, writer.maybeQuoted(em, obj), asMapKey, cache));\n };\n writer.Writer \x3d function Transit$Writer(marshaller, options) {\n this._marshaller \x3d marshaller;\n this.options \x3d options || {};\n if (this.options[\x22cache\x22] \x3d\x3d\x3d false) {\n this.cache \x3d null;\n } else {\n this.cache \x3d this.options[\x22cache\x22] ? this.options[\x22cache\x22] : new caching.WriteCache();\n }\n };\n writer.Writer.prototype.marshaller \x3d function() {\n return this._marshaller;\n };\n writer.Writer.prototype[\x22marshaller\x22] \x3d writer.Writer.prototype.marshaller;\n writer.Writer.prototype.write \x3d function(obj, opts) {\n var ret \x3d null;\n var ropts \x3d opts || {};\n var asMapKey \x3d ropts[\x22asMapKey\x22] || false;\n var cache \x3d this._marshaller.verbose ? false : this.cache;\n if (ropts[\x22marshalTop\x22] \x3d\x3d\x3d false) {\n ret \x3d writer.marshal(this._marshaller, obj, asMapKey, cache);\n } else {\n ret \x3d writer.marshalTop(this._marshaller, obj, asMapKey, cache);\n }\n if (this.cache !\x3d null) {\n this.cache.clear();\n }\n return ret;\n };\n writer.Writer.prototype[\x22write\x22] \x3d writer.Writer.prototype.write;\n writer.Writer.prototype.register \x3d function(type, handler) {\n this._marshaller.registerHandler(type, handler);\n };\n writer.Writer.prototype[\x22register\x22] \x3d writer.Writer.prototype.register;\n});\n");
SHADOW_ENV.evalLoad("com.cognitect.transit.js", true, "goog.provide(\x22com.cognitect.transit\x22);\ngoog.require(\x22com.cognitect.transit.util\x22);\ngoog.require(\x22com.cognitect.transit.impl.reader\x22);\ngoog.require(\x22com.cognitect.transit.impl.writer\x22);\ngoog.require(\x22com.cognitect.transit.types\x22);\ngoog.require(\x22com.cognitect.transit.eq\x22);\ngoog.require(\x22com.cognitect.transit.impl.decoder\x22);\ngoog.require(\x22com.cognitect.transit.caching\x22);\nvar TRANSIT_DEV \x3d true;\nvar TRANSIT_NODE_TARGET \x3d false;\nvar TRANSIT_BROWSER_TARGET \x3d false;\nvar TRANSIT_BROWSER_AMD_TARGET \x3d false;\ngoog.scope(function() {\n var transit \x3d com.cognitect.transit;\n var util \x3d com.cognitect.transit.util;\n var reader \x3d com.cognitect.transit.impl.reader;\n var writer \x3d com.cognitect.transit.impl.writer;\n var decoder \x3d com.cognitect.transit.impl.decoder;\n var types \x3d com.cognitect.transit.types;\n var eq \x3d com.cognitect.transit.eq;\n var caching \x3d com.cognitect.transit.caching;\n transit.MapLike;\n transit.SetLike;\n transit.reader \x3d function(type, opts) {\n if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n type \x3d \x22json\x22;\n var unmarshaller \x3d new reader.JSONUnmarshaller(opts);\n return new reader.Reader(unmarshaller, opts);\n } else {\n throw new Error(\x22Cannot create reader of type \x22 + type);\n }\n };\n transit.writer \x3d function(type, opts) {\n if (type \x3d\x3d\x3d \x22json\x22 || type \x3d\x3d\x3d \x22json-verbose\x22 || type \x3d\x3d null) {\n if (type \x3d\x3d\x3d \x22json-verbose\x22) {\n if (opts \x3d\x3d null) {\n opts \x3d {};\n }\n opts[\x22verbose\x22] \x3d true;\n }\n var marshaller \x3d new writer.JSONMarshaller(opts);\n return new writer.Writer(marshaller, opts);\n } else {\n var err \x3d new Error(\x27Type must be \x22json\x22\x27);\n err.data \x3d {type:type};\n throw err;\n }\n };\n transit.makeWriteHandler \x3d function(obj) {\n var Handler \x3d function() {\n };\n Handler.prototype.tag \x3d obj[\x22tag\x22];\n Handler.prototype.rep \x3d obj[\x22rep\x22];\n Handler.prototype.stringRep \x3d obj[\x22stringRep\x22];\n Handler.prototype.getVerboseHandler \x3d obj[\x22getVerboseHandler\x22];\n return new Handler();\n };\n transit.makeBuilder \x3d function(obj) {\n var Builder \x3d function() {\n };\n Builder.prototype.init \x3d obj[\x22init\x22];\n Builder.prototype.add \x3d obj[\x22add\x22];\n Builder.prototype.finalize \x3d obj[\x22finalize\x22];\n Builder.prototype.fromArray \x3d obj[\x22fromArray\x22];\n return new Builder();\n };\n transit.date \x3d types.date;\n transit.integer \x3d types.intValue;\n transit.isInteger \x3d types.isInteger;\n transit.uuid \x3d types.uuid;\n transit.isUUID \x3d types.isUUID;\n transit.bigInt \x3d types.bigInteger;\n transit.isBigInt \x3d types.isBigInteger;\n transit.bigDec \x3d types.bigDecimalValue;\n transit.isBigDec \x3d types.isBigDecimal;\n transit.keyword \x3d types.keyword;\n transit.isKeyword \x3d types.isKeyword;\n transit.symbol \x3d types.symbol;\n transit.isSymbol \x3d types.isSymbol;\n transit.binary \x3d types.binary;\n transit.isBinary \x3d types.isBinary;\n transit.uri \x3d types.uri;\n transit.isURI \x3d types.isURI;\n transit.map \x3d types.map;\n transit.isMap \x3d types.isMap;\n transit.set \x3d types.set;\n transit.isSet \x3d types.isSet;\n transit.list \x3d types.list;\n transit.isList \x3d types.isList;\n transit.quoted \x3d types.quoted;\n transit.isQuoted \x3d types.isQuoted;\n transit.tagged \x3d types.taggedValue;\n transit.isTaggedValue \x3d types.isTaggedValue;\n transit.link \x3d types.link;\n transit.isLink \x3d types.isLink;\n transit.hash \x3d eq.hashCode;\n transit.hashMapLike \x3d eq.hashMapLike;\n transit.hashArrayLike \x3d eq.hashArrayLike;\n transit.equals \x3d eq.equals;\n transit.extendToEQ \x3d eq.extendToEQ;\n transit.mapToObject \x3d function(m) {\n var ret \x3d {};\n m.forEach(function(v, k) {\n if (typeof k !\x3d\x3d \x22string\x22) {\n throw Error(\x22Cannot convert map with non-string keys\x22);\n } else {\n ret[k] \x3d v;\n }\n });\n return ret;\n };\n transit.objectToMap \x3d function(obj) {\n var ret \x3d transit.map();\n var p;\n for (p in obj) {\n if (obj.hasOwnProperty(p)) {\n ret.set(p, obj[p]);\n }\n }\n return ret;\n };\n transit.decoder \x3d decoder.decoder;\n transit.readCache \x3d caching.readCache;\n transit.writeCache \x3d caching.writeCache;\n transit.UUIDfromString \x3d types.UUIDfromString;\n transit.randomUUID \x3d util.randomUUID;\n transit.stringableKeys \x3d writer.stringableKeys;\n if (TRANSIT_BROWSER_TARGET) {\n goog.exportSymbol(\x22transit.reader\x22, transit.reader);\n goog.exportSymbol(\x22transit.writer\x22, transit.writer);\n goog.exportSymbol(\x22transit.makeBuilder\x22, transit.makeBuilder);\n goog.exportSymbol(\x22transit.makeWriteHandler\x22, transit.makeWriteHandler);\n goog.exportSymbol(\x22transit.date\x22, types.date);\n goog.exportSymbol(\x22transit.integer\x22, types.intValue);\n goog.exportSymbol(\x22transit.isInteger\x22, types.isInteger);\n goog.exportSymbol(\x22transit.uuid\x22, types.uuid);\n goog.exportSymbol(\x22transit.isUUID\x22, types.isUUID);\n goog.exportSymbol(\x22transit.bigInt\x22, types.bigInteger);\n goog.exportSymbol(\x22transit.isBigInt\x22, types.isBigInteger);\n goog.exportSymbol(\x22transit.bigDec\x22, types.bigDecimalValue);\n goog.exportSymbol(\x22transit.isBigDec\x22, types.isBigDecimal);\n goog.exportSymbol(\x22transit.keyword\x22, types.keyword);\n goog.exportSymbol(\x22transit.isKeyword\x22, types.isKeyword);\n goog.exportSymbol(\x22transit.symbol\x22, types.symbol);\n goog.exportSymbol(\x22transit.isSymbol\x22, types.isSymbol);\n goog.exportSymbol(\x22transit.binary\x22, types.binary);\n goog.exportSymbol(\x22transit.isBinary\x22, types.isBinary);\n goog.exportSymbol(\x22transit.uri\x22, types.uri);\n goog.exportSymbol(\x22transit.isURI\x22, types.isURI);\n goog.exportSymbol(\x22transit.map\x22, types.map);\n goog.exportSymbol(\x22transit.isMap\x22, types.isMap);\n goog.exportSymbol(\x22transit.set\x22, types.set);\n goog.exportSymbol(\x22transit.isSet\x22, types.isSet);\n goog.exportSymbol(\x22transit.list\x22, types.list);\n goog.exportSymbol(\x22transit.isList\x22, types.isList);\n goog.exportSymbol(\x22transit.quoted\x22, types.quoted);\n goog.exportSymbol(\x22transit.isQuoted\x22, types.isQuoted);\n goog.exportSymbol(\x22transit.tagged\x22, types.taggedValue);\n goog.exportSymbol(\x22transit.isTaggedValue\x22, types.isTaggedValue);\n goog.exportSymbol(\x22transit.link\x22, types.link);\n goog.exportSymbol(\x22transit.isLink\x22, types.isLink);\n goog.exportSymbol(\x22transit.hash\x22, eq.hashCode);\n goog.exportSymbol(\x22transit.hashMapLike\x22, eq.hashMapLike);\n goog.exportSymbol(\x22transit.hashArrayLike\x22, eq.hashArrayLike);\n goog.exportSymbol(\x22transit.equals\x22, eq.equals);\n goog.exportSymbol(\x22transit.extendToEQ\x22, eq.extendToEQ);\n goog.exportSymbol(\x22transit.mapToObject\x22, transit.mapToObject);\n goog.exportSymbol(\x22transit.objectToMap\x22, transit.objectToMap);\n goog.exportSymbol(\x22transit.decoder\x22, decoder.decoder);\n goog.exportSymbol(\x22transit.UUIDfromString\x22, types.UUIDfromString);\n goog.exportSymbol(\x22transit.randomUUID\x22, util.randomUUID);\n goog.exportSymbol(\x22transit.stringableKeys\x22, writer.stringableKeys);\n goog.exportSymbol(\x22transit.readCache\x22, caching.readCache);\n goog.exportSymbol(\x22transit.writeCache\x22, caching.writeCache);\n }\n if (TRANSIT_NODE_TARGET) {\n module.exports \x3d {reader:transit.reader, writer:transit.writer, makeBuilder:transit.makeBuilder, makeWriteHandler:transit.makeWriteHandler, date:types.date, integer:types.intValue, isInteger:types.isInteger, uuid:types.uuid, isUUID:types.isUUID, bigInt:types.bigInteger, isBigInt:types.isBigInteger, bigDec:types.bigDecimalValue, isBigDec:types.isBigDecimal, keyword:types.keyword, isKeyword:types.isKeyword, symbol:types.symbol, isSymbol:types.isSymbol, binary:types.binary, isBinary:types.isBinary, \n uri:types.uri, isURI:types.isURI, map:types.map, isMap:types.isMap, set:types.set, isSet:types.isSet, list:types.list, isList:types.isList, quoted:types.quoted, isQuoted:types.isQuoted, tagged:types.taggedValue, isTaggedValue:types.isTaggedValue, link:types.link, isLink:types.isLink, hash:eq.hashCode, hashArrayLike:eq.hashArrayLike, hashMapLike:eq.hashMapLike, equals:eq.equals, extendToEQ:eq.extendToEQ, mapToObject:transit.mapToObject, objectToMap:transit.objectToMap, decoder:decoder.decoder, \n UUIDfromString:types.UUIDfromString, randomUUID:util.randomUUID, stringableKeys:writer.stringableKeys, readCache:caching.readCache, writeCache:caching.writeCache};\n }\n});\n");
SHADOW_ENV.evalLoad("cognitect.transit.js", true, "goog.provide(\x27cognitect.transit\x27);\ngoog.scope(function(){\n cognitect.transit.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n cognitect.transit.goog$module$goog$math$Long \x3d goog.module.get(\x27goog.math.Long\x27);\n});\n(cljs.core.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.uuid);\n} else {\nif((other instanceof com.cognitect.transit.types.UUID)){\nreturn (this$__$1.uuid \x3d\x3d\x3d other.toString());\n} else {\nreturn false;\n\n}\n}\n}));\n(cljs.core.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IComparable$_compare$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((((other instanceof cljs.core.UUID)) || ((other instanceof com.cognitect.transit.types.UUID)))){\nreturn cljs.core.compare(this$__$1.toString(),other.toString());\n} else {\nthrow (new Error([\x22Cannot compare \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1),\x22 to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join(\x27\x27)));\n}\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nif((other instanceof cljs.core.UUID)){\nreturn other.cljs$core$IEquiv$_equiv$arity$2(null,this$__$1);\n} else {\nreturn this$__$1.equiv(other);\n}\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar this$__$1 \x3d this;\nreturn this$__$1.equiv(other);\n}));\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cognitect.transit.goog$module$goog$math$Long.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn cljs.core.hash(this$__$1.toString());\n}));\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.TaggedValue.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this$){\nvar this$__$1 \x3d this;\nreturn com.cognitect.transit.eq.hashCode(this$__$1);\n}));\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IUUID$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(com.cognitect.transit.types.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (uuid,writer,_){\nvar uuid__$1 \x3d this;\nreturn cljs.core._write(writer,[\x22#uuid \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(uuid__$1.toString()),\x22\\\x22\x22].join(\x27\x27));\n}));\ncognitect.transit.opts_merge \x3d (function cognitect$transit$opts_merge(a,b){\nvar seq__34904_35253 \x3d cljs.core.seq(cljs.core.js_keys(b));\nvar chunk__34905_35254 \x3d null;\nvar count__34906_35255 \x3d (0);\nvar i__34907_35256 \x3d (0);\nwhile(true){\nif((i__34907_35256 \x3c count__34906_35255)){\nvar k_35257 \x3d chunk__34905_35254.cljs$core$IIndexed$_nth$arity$2(null,i__34907_35256);\nvar v_35258 \x3d cognitect.transit.goog$module$goog$object.get(b,k_35257);\ncognitect.transit.goog$module$goog$object.set(a,k_35257,v_35258);\n\n\nvar G__35259 \x3d seq__34904_35253;\nvar G__35260 \x3d chunk__34905_35254;\nvar G__35261 \x3d count__34906_35255;\nvar G__35262 \x3d (i__34907_35256 + (1));\nseq__34904_35253 \x3d G__35259;\nchunk__34905_35254 \x3d G__35260;\ncount__34906_35255 \x3d G__35261;\ni__34907_35256 \x3d G__35262;\ncontinue;\n} else {\nvar temp__5823__auto___35264 \x3d cljs.core.seq(seq__34904_35253);\nif(temp__5823__auto___35264){\nvar seq__34904_35266__$1 \x3d temp__5823__auto___35264;\nif(cljs.core.chunked_seq_QMARK_(seq__34904_35266__$1)){\nvar c__5548__auto___35267 \x3d cljs.core.chunk_first(seq__34904_35266__$1);\nvar G__35268 \x3d cljs.core.chunk_rest(seq__34904_35266__$1);\nvar G__35269 \x3d c__5548__auto___35267;\nvar G__35270 \x3d cljs.core.count(c__5548__auto___35267);\nvar G__35271 \x3d (0);\nseq__34904_35253 \x3d G__35268;\nchunk__34905_35254 \x3d G__35269;\ncount__34906_35255 \x3d G__35270;\ni__34907_35256 \x3d G__35271;\ncontinue;\n} else {\nvar k_35272 \x3d cljs.core.first(seq__34904_35266__$1);\nvar v_35273 \x3d cognitect.transit.goog$module$goog$object.get(b,k_35272);\ncognitect.transit.goog$module$goog$object.set(a,k_35272,v_35273);\n\n\nvar G__35274 \x3d cljs.core.next(seq__34904_35266__$1);\nvar G__35275 \x3d null;\nvar G__35276 \x3d (0);\nvar G__35277 \x3d (0);\nseq__34904_35253 \x3d G__35274;\nchunk__34905_35254 \x3d G__35275;\ncount__34906_35255 \x3d G__35276;\ni__34907_35256 \x3d G__35277;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn a;\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.MapBuilder \x3d (function (){\n});\n(cognitect.transit.MapBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(cognitect.transit.MapBuilder.prototype.add \x3d (function (m,k,v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,k,v);\n}));\n\n(cognitect.transit.MapBuilder.prototype.finalize \x3d (function (m,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(m);\n}));\n\n(cognitect.transit.MapBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3 ? cljs.core.PersistentArrayMap.fromArray.cljs$core$IFn$_invoke$arity$3(arr,true,true) : cljs.core.PersistentArrayMap.fromArray.call(null,arr,true,true));\n}));\n\n(cognitect.transit.MapBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapBuilder\x22);\n\n(cognitect.transit.MapBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/MapBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapBuilder.\n */\ncognitect.transit.__GT_MapBuilder \x3d (function cognitect$transit$__GT_MapBuilder(){\nreturn (new cognitect.transit.MapBuilder());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorBuilder \x3d (function (){\n});\n(cognitect.transit.VectorBuilder.prototype.init \x3d (function (node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.add \x3d (function (v,x,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,x);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.finalize \x3d (function (v,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.persistent_BANG_(v);\n}));\n\n(cognitect.transit.VectorBuilder.prototype.fromArray \x3d (function (arr,node){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2 ? cljs.core.PersistentVector.fromArray.cljs$core$IFn$_invoke$arity$2(arr,true) : cljs.core.PersistentVector.fromArray.call(null,arr,true));\n}));\n\n(cognitect.transit.VectorBuilder.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorBuilder.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorBuilder\x22);\n\n(cognitect.transit.VectorBuilder.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/VectorBuilder\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorBuilder.\n */\ncognitect.transit.__GT_VectorBuilder \x3d (function cognitect$transit$__GT_VectorBuilder(){\nreturn (new cognitect.transit.VectorBuilder());\n});\n\n/**\n * Return a transit reader. type may be either :json or :json-verbose.\n * opts may be a map optionally containing a :handlers entry. The value\n * of :handlers should be map from string tag to a decoder function of one\n * argument which returns the in-memory representation of the semantic transit\n * value. If a :default handler is provided, it will be used when no matching\n * read handler can be found.\n */\ncognitect.transit.reader \x3d (function cognitect$transit$reader(var_args){\nvar G__34944 \x3d arguments.length;\nswitch (G__34944) {\ncase 1:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nreturn com.cognitect.transit.reader(cljs.core.name(type),cognitect.transit.opts_merge(({\x22handlers\x22: cljs.core.clj__GT_js(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 6, [\x22$\x22,(function (v){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22:\x22,(function (v){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(v);\n}),\x22set\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashSet.EMPTY,v);\n}),\x22list\x22,(function (v){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.List.EMPTY,v.reverse());\n}),\x22cmap\x22,(function (v){\nvar i \x3d (0);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);\nwhile(true){\nif((i \x3c v.length)){\nvar G__35282 \x3d (i + (2));\nvar G__35283 \x3d cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,(v[i]),(v[(i + (1))]));\ni \x3d G__35282;\nret \x3d G__35283;\ncontinue;\n} else {\nreturn cljs.core.persistent_BANG_(ret);\n}\nbreak;\n}\n}),\x22with-meta\x22,(function (v){\nreturn cljs.core.with_meta((v[(0)]),(v[(1)]));\n})], null),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))], 0))), \x22defaultHandler\x22: new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)), \x22mapBuilder\x22: (new cognitect.transit.MapBuilder()), \x22arrayBuilder\x22: (new cognitect.transit.VectorBuilder()), \x22preferStrings\x22: false, \x22preferBuffers\x22: false}),cljs.core.clj__GT_js(clojure.set.rename_keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22array-builder\x22,\x22array-builder\x22,1275998041),new cljs.core.Keyword(null,\x22arrayBuilder\x22,\x22arrayBuilder\x22,1446317421),new cljs.core.Keyword(null,\x22map-builder\x22,\x22map-builder\x22,-1843343288),new cljs.core.Keyword(null,\x22mapBuilder\x22,\x22mapBuilder\x22,-278083754),new cljs.core.Keyword(null,\x22prefer-strings\x22,\x22prefer-strings\x22,1254507185),new cljs.core.Keyword(null,\x22preferStrings\x22,\x22preferStrings\x22,-1532249482),new cljs.core.Keyword(null,\x22prefer-buffers\x22,\x22prefer-buffers\x22,377042081),new cljs.core.Keyword(null,\x22preferBuffers\x22,\x22preferBuffers\x22,1843176451)], null)))));\n}));\n\n(cognitect.transit.reader.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Read a transit encoded string into ClojureScript values given a\n * transit reader.\n */\ncognitect.transit.read \x3d (function cognitect$transit$read(r,str){\nreturn r.read(str);\n});\n\n/**\n* @constructor\n*/\ncognitect.transit.KeywordHandler \x3d (function (){\n});\n(cognitect.transit.KeywordHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22:\x22;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.fqn;\n}));\n\n(cognitect.transit.KeywordHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.KeywordHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/KeywordHandler\x22);\n\n(cognitect.transit.KeywordHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/KeywordHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/KeywordHandler.\n */\ncognitect.transit.__GT_KeywordHandler \x3d (function cognitect$transit$__GT_KeywordHandler(){\nreturn (new cognitect.transit.KeywordHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SymbolHandler \x3d (function (){\n});\n(cognitect.transit.SymbolHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22$\x22;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.str;\n}));\n\n(cognitect.transit.SymbolHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SymbolHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SymbolHandler\x22);\n\n(cognitect.transit.SymbolHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/SymbolHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SymbolHandler.\n */\ncognitect.transit.__GT_SymbolHandler \x3d (function cognitect$transit$__GT_SymbolHandler(){\nreturn (new cognitect.transit.SymbolHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.ListHandler \x3d (function (){\n});\n(cognitect.transit.ListHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22list\x22;\n}));\n\n(cognitect.transit.ListHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__34971_35287 \x3d cljs.core.seq(v);\nvar chunk__34972_35288 \x3d null;\nvar count__34973_35289 \x3d (0);\nvar i__34974_35290 \x3d (0);\nwhile(true){\nif((i__34974_35290 \x3c count__34973_35289)){\nvar x_35291 \x3d chunk__34972_35288.cljs$core$IIndexed$_nth$arity$2(null,i__34974_35290);\nret.push(x_35291);\n\n\nvar G__35292 \x3d seq__34971_35287;\nvar G__35293 \x3d chunk__34972_35288;\nvar G__35294 \x3d count__34973_35289;\nvar G__35295 \x3d (i__34974_35290 + (1));\nseq__34971_35287 \x3d G__35292;\nchunk__34972_35288 \x3d G__35293;\ncount__34973_35289 \x3d G__35294;\ni__34974_35290 \x3d G__35295;\ncontinue;\n} else {\nvar temp__5823__auto___35296 \x3d cljs.core.seq(seq__34971_35287);\nif(temp__5823__auto___35296){\nvar seq__34971_35297__$1 \x3d temp__5823__auto___35296;\nif(cljs.core.chunked_seq_QMARK_(seq__34971_35297__$1)){\nvar c__5548__auto___35298 \x3d cljs.core.chunk_first(seq__34971_35297__$1);\nvar G__35299 \x3d cljs.core.chunk_rest(seq__34971_35297__$1);\nvar G__35300 \x3d c__5548__auto___35298;\nvar G__35301 \x3d cljs.core.count(c__5548__auto___35298);\nvar G__35302 \x3d (0);\nseq__34971_35287 \x3d G__35299;\nchunk__34972_35288 \x3d G__35300;\ncount__34973_35289 \x3d G__35301;\ni__34974_35290 \x3d G__35302;\ncontinue;\n} else {\nvar x_35303 \x3d cljs.core.first(seq__34971_35297__$1);\nret.push(x_35303);\n\n\nvar G__35305 \x3d cljs.core.next(seq__34971_35297__$1);\nvar G__35306 \x3d null;\nvar G__35307 \x3d (0);\nvar G__35308 \x3d (0);\nseq__34971_35287 \x3d G__35305;\nchunk__34972_35288 \x3d G__35306;\ncount__34973_35289 \x3d G__35307;\ni__34974_35290 \x3d G__35308;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.ListHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.ListHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.ListHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/ListHandler\x22);\n\n(cognitect.transit.ListHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/ListHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/ListHandler.\n */\ncognitect.transit.__GT_ListHandler \x3d (function cognitect$transit$__GT_ListHandler(){\nreturn (new cognitect.transit.ListHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.MapHandler \x3d (function (){\n});\n(cognitect.transit.MapHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22map\x22;\n}));\n\n(cognitect.transit.MapHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v;\n}));\n\n(cognitect.transit.MapHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.MapHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.MapHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/MapHandler\x22);\n\n(cognitect.transit.MapHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/MapHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/MapHandler.\n */\ncognitect.transit.__GT_MapHandler \x3d (function cognitect$transit$__GT_MapHandler(){\nreturn (new cognitect.transit.MapHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.SetHandler \x3d (function (){\n});\n(cognitect.transit.SetHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22set\x22;\n}));\n\n(cognitect.transit.SetHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__35008_35309 \x3d cljs.core.seq(v);\nvar chunk__35009_35310 \x3d null;\nvar count__35010_35311 \x3d (0);\nvar i__35011_35312 \x3d (0);\nwhile(true){\nif((i__35011_35312 \x3c count__35010_35311)){\nvar x_35313 \x3d chunk__35009_35310.cljs$core$IIndexed$_nth$arity$2(null,i__35011_35312);\nret.push(x_35313);\n\n\nvar G__35314 \x3d seq__35008_35309;\nvar G__35315 \x3d chunk__35009_35310;\nvar G__35316 \x3d count__35010_35311;\nvar G__35317 \x3d (i__35011_35312 + (1));\nseq__35008_35309 \x3d G__35314;\nchunk__35009_35310 \x3d G__35315;\ncount__35010_35311 \x3d G__35316;\ni__35011_35312 \x3d G__35317;\ncontinue;\n} else {\nvar temp__5823__auto___35318 \x3d cljs.core.seq(seq__35008_35309);\nif(temp__5823__auto___35318){\nvar seq__35008_35319__$1 \x3d temp__5823__auto___35318;\nif(cljs.core.chunked_seq_QMARK_(seq__35008_35319__$1)){\nvar c__5548__auto___35320 \x3d cljs.core.chunk_first(seq__35008_35319__$1);\nvar G__35321 \x3d cljs.core.chunk_rest(seq__35008_35319__$1);\nvar G__35322 \x3d c__5548__auto___35320;\nvar G__35323 \x3d cljs.core.count(c__5548__auto___35320);\nvar G__35324 \x3d (0);\nseq__35008_35309 \x3d G__35321;\nchunk__35009_35310 \x3d G__35322;\ncount__35010_35311 \x3d G__35323;\ni__35011_35312 \x3d G__35324;\ncontinue;\n} else {\nvar x_35325 \x3d cljs.core.first(seq__35008_35319__$1);\nret.push(x_35325);\n\n\nvar G__35326 \x3d cljs.core.next(seq__35008_35319__$1);\nvar G__35327 \x3d null;\nvar G__35328 \x3d (0);\nvar G__35329 \x3d (0);\nseq__35008_35309 \x3d G__35326;\nchunk__35009_35310 \x3d G__35327;\ncount__35010_35311 \x3d G__35328;\ni__35011_35312 \x3d G__35329;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn com.cognitect.transit.tagged(\x22array\x22,ret);\n}));\n\n(cognitect.transit.SetHandler.prototype.stringRep \x3d (function (){\nvar self__ \x3d this;\nvar v \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.SetHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.SetHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/SetHandler\x22);\n\n(cognitect.transit.SetHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/SetHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/SetHandler.\n */\ncognitect.transit.__GT_SetHandler \x3d (function cognitect$transit$__GT_SetHandler(){\nreturn (new cognitect.transit.SetHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.VectorHandler \x3d (function (){\n});\n(cognitect.transit.VectorHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22array\x22;\n}));\n\n(cognitect.transit.VectorHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nvar ret \x3d [];\nvar seq__35076_35330 \x3d cljs.core.seq(v);\nvar chunk__35077_35331 \x3d null;\nvar count__35078_35332 \x3d (0);\nvar i__35079_35333 \x3d (0);\nwhile(true){\nif((i__35079_35333 \x3c count__35078_35332)){\nvar x_35334 \x3d chunk__35077_35331.cljs$core$IIndexed$_nth$arity$2(null,i__35079_35333);\nret.push(x_35334);\n\n\nvar G__35335 \x3d seq__35076_35330;\nvar G__35336 \x3d chunk__35077_35331;\nvar G__35337 \x3d count__35078_35332;\nvar G__35338 \x3d (i__35079_35333 + (1));\nseq__35076_35330 \x3d G__35335;\nchunk__35077_35331 \x3d G__35336;\ncount__35078_35332 \x3d G__35337;\ni__35079_35333 \x3d G__35338;\ncontinue;\n} else {\nvar temp__5823__auto___35339 \x3d cljs.core.seq(seq__35076_35330);\nif(temp__5823__auto___35339){\nvar seq__35076_35340__$1 \x3d temp__5823__auto___35339;\nif(cljs.core.chunked_seq_QMARK_(seq__35076_35340__$1)){\nvar c__5548__auto___35341 \x3d cljs.core.chunk_first(seq__35076_35340__$1);\nvar G__35342 \x3d cljs.core.chunk_rest(seq__35076_35340__$1);\nvar G__35343 \x3d c__5548__auto___35341;\nvar G__35344 \x3d cljs.core.count(c__5548__auto___35341);\nvar G__35345 \x3d (0);\nseq__35076_35330 \x3d G__35342;\nchunk__35077_35331 \x3d G__35343;\ncount__35078_35332 \x3d G__35344;\ni__35079_35333 \x3d G__35345;\ncontinue;\n} else {\nvar x_35346 \x3d cljs.core.first(seq__35076_35340__$1);\nret.push(x_35346);\n\n\nvar G__35347 \x3d cljs.core.next(seq__35076_35340__$1);\nvar G__35348 \x3d null;\nvar G__35349 \x3d (0);\nvar G__35350 \x3d (0);\nseq__35076_35330 \x3d G__35347;\nchunk__35077_35331 \x3d G__35348;\ncount__35078_35332 \x3d G__35349;\ni__35079_35333 \x3d G__35350;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn ret;\n}));\n\n(cognitect.transit.VectorHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.VectorHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.VectorHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/VectorHandler\x22);\n\n(cognitect.transit.VectorHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/VectorHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/VectorHandler.\n */\ncognitect.transit.__GT_VectorHandler \x3d (function cognitect$transit$__GT_VectorHandler(){\nreturn (new cognitect.transit.VectorHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.UUIDHandler \x3d (function (){\n});\n(cognitect.transit.UUIDHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22u\x22;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn v.uuid;\n}));\n\n(cognitect.transit.UUIDHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn this$.rep(v);\n}));\n\n(cognitect.transit.UUIDHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.UUIDHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/UUIDHandler\x22);\n\n(cognitect.transit.UUIDHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/UUIDHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/UUIDHandler.\n */\ncognitect.transit.__GT_UUIDHandler \x3d (function cognitect$transit$__GT_UUIDHandler(){\nreturn (new cognitect.transit.UUIDHandler());\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMeta \x3d (function (value,meta){\nthis.value \x3d value;\nthis.meta \x3d meta;\n});\n\n(cognitect.transit.WithMeta.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22value\x22,\x22value\x22,1946509744,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null)], null);\n}));\n\n(cognitect.transit.WithMeta.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMeta\x22);\n\n(cognitect.transit.WithMeta.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/WithMeta\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMeta.\n */\ncognitect.transit.__GT_WithMeta \x3d (function cognitect$transit$__GT_WithMeta(value,meta){\nreturn (new cognitect.transit.WithMeta(value,meta));\n});\n\n\n/**\n* @constructor\n*/\ncognitect.transit.WithMetaHandler \x3d (function (){\n});\n(cognitect.transit.WithMetaHandler.prototype.tag \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn \x22with-meta\x22;\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.rep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn com.cognitect.transit.tagged(\x22array\x22,[v.value,v.meta]);\n}));\n\n(cognitect.transit.WithMetaHandler.prototype.stringRep \x3d (function (v){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn null;\n}));\n\n(cognitect.transit.WithMetaHandler.getBasis \x3d (function (){\nreturn cljs.core.PersistentVector.EMPTY;\n}));\n\n(cognitect.transit.WithMetaHandler.cljs$lang$type \x3d true);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorStr \x3d \x22cognitect.transit/WithMetaHandler\x22);\n\n(cognitect.transit.WithMetaHandler.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/WithMetaHandler\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/WithMetaHandler.\n */\ncognitect.transit.__GT_WithMetaHandler \x3d (function cognitect$transit$__GT_WithMetaHandler(){\nreturn (new cognitect.transit.WithMetaHandler());\n});\n\n/**\n * Return a transit writer. type maybe either :json or :json-verbose.\n * opts is a map with the following optional keys:\n * \n * :handlers - a map of type constructors to handler instances. Can optionally\n * provide a :default write handler which will be used if no\n * matching handler can be found.\n * :transform - a function of one argument returning a transformed value. Will\n * be invoked on a value before it is written.\n */\ncognitect.transit.writer \x3d (function cognitect$transit$writer(var_args){\nvar G__35113 \x3d arguments.length;\nswitch (G__35113) {\ncase 1:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$1 \x3d (function (type){\nreturn cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(type,null);\n}));\n\n(cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2 \x3d (function (type,opts){\nvar keyword_handler \x3d (new cognitect.transit.KeywordHandler());\nvar symbol_handler \x3d (new cognitect.transit.SymbolHandler());\nvar list_handler \x3d (new cognitect.transit.ListHandler());\nvar map_handler \x3d (new cognitect.transit.MapHandler());\nvar set_handler \x3d (new cognitect.transit.SetHandler());\nvar vector_handler \x3d (new cognitect.transit.VectorHandler());\nvar uuid_handler \x3d (new cognitect.transit.UUIDHandler());\nvar meta_handler \x3d (new cognitect.transit.WithMetaHandler());\nvar handlers \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentHashMap.fromArrays([cljs.core.PersistentHashMap,cljs.core.Cons,cljs.core.PersistentArrayMap,cljs.core.NodeSeq,cljs.core.PersistentQueue,cljs.core.IndexedSeq,cljs.core.Keyword,cljs.core.BlackNode,cljs.core.EmptyList,cljs.core.LazySeq,cljs.core.Subvec,cljs.core.PersistentQueueSeq,cljs.core.ArrayNodeSeq,cljs.core.ValSeq,cognitect.transit.WithMeta,cljs.core.PersistentArrayMapSeq,cljs.core.PersistentVector,cljs.core.List,cljs.core.RSeq,cljs.core.PersistentHashSet,cljs.core.PersistentTreeMap,cljs.core.KeySeq,cljs.core.ChunkedSeq,cljs.core.PersistentTreeSet,cljs.core.ChunkedCons,cljs.core.Symbol,cljs.core.UUID,cljs.core.Range,cljs.core.PersistentTreeMapSeq,cljs.core.RedNode],[map_handler,list_handler,map_handler,list_handler,list_handler,list_handler,keyword_handler,vector_handler,list_handler,list_handler,vector_handler,list_handler,list_handler,list_handler,meta_handler,list_handler,vector_handler,list_handler,list_handler,set_handler,map_handler,list_handler,list_handler,set_handler,list_handler,symbol_handler,uuid_handler,list_handler,list_handler,vector_handler]),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Eduction !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Eduction,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.Repeat !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.Repeat,list_handler]):null),(((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.MapEntry !\x3d\x3d \x27undefined\x27))?cljs.core.PersistentArrayMap.createAsIfByAssoc([cljs.core.MapEntry,vector_handler]):null),new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781).cljs$core$IFn$_invoke$arity$1(opts)], 0));\nreturn com.cognitect.transit.writer(cljs.core.name(type),cognitect.transit.opts_merge(({\x22objectBuilder\x22: (function (m,kfn,vfn){\nreturn cljs.core.reduce_kv((function (obj,k,v){\nvar G__35126 \x3d obj;\nG__35126.push((kfn.cljs$core$IFn$_invoke$arity$1 ? kfn.cljs$core$IFn$_invoke$arity$1(k) : kfn.call(null,k)),(vfn.cljs$core$IFn$_invoke$arity$1 ? vfn.cljs$core$IFn$_invoke$arity$1(v) : vfn.call(null,v)));\n\nreturn G__35126;\n}),[\x22^ \x22],m);\n}), \x22handlers\x22: (function (){var x35128 \x3d cljs.core.clone(handlers);\n(x35128.forEach \x3d (function (f){\nvar coll \x3d this;\nvar seq__35132 \x3d cljs.core.seq(coll);\nvar chunk__35133 \x3d null;\nvar count__35134 \x3d (0);\nvar i__35135 \x3d (0);\nwhile(true){\nif((i__35135 \x3c count__35134)){\nvar vec__35146 \x3d chunk__35133.cljs$core$IIndexed$_nth$arity$2(null,i__35135);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35146,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35146,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__35359 \x3d seq__35132;\nvar G__35360 \x3d chunk__35133;\nvar G__35361 \x3d count__35134;\nvar G__35362 \x3d (i__35135 + (1));\nseq__35132 \x3d G__35359;\nchunk__35133 \x3d G__35360;\ncount__35134 \x3d G__35361;\ni__35135 \x3d G__35362;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__35132);\nif(temp__5823__auto__){\nvar seq__35132__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__35132__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__35132__$1);\nvar G__35364 \x3d cljs.core.chunk_rest(seq__35132__$1);\nvar G__35365 \x3d c__5548__auto__;\nvar G__35366 \x3d cljs.core.count(c__5548__auto__);\nvar G__35367 \x3d (0);\nseq__35132 \x3d G__35364;\nchunk__35133 \x3d G__35365;\ncount__35134 \x3d G__35366;\ni__35135 \x3d G__35367;\ncontinue;\n} else {\nvar vec__35156 \x3d cljs.core.first(seq__35132__$1);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35156,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__35156,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),k)){\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,\x22default\x22) : f.call(null,v,\x22default\x22));\n} else {\n(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));\n}\n\n\nvar G__35370 \x3d cljs.core.next(seq__35132__$1);\nvar G__35371 \x3d null;\nvar G__35372 \x3d (0);\nvar G__35373 \x3d (0);\nseq__35132 \x3d G__35370;\nchunk__35133 \x3d G__35371;\ncount__35134 \x3d G__35372;\ni__35135 \x3d G__35373;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\nreturn x35128;\n})(), \x22unpack\x22: (function (x){\nif((x instanceof cljs.core.PersistentArrayMap)){\nreturn x.arr;\n} else {\nreturn false;\n}\n})}),cljs.core.clj__GT_js(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781)))));\n}));\n\n(cognitect.transit.writer.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Encode an object into a transit string given a transit writer.\n */\ncognitect.transit.write \x3d (function cognitect$transit$write(w,o){\nreturn w.write(o);\n});\n/**\n * Construct a read handler. Implemented as identity, exists primarily\n * for API compatiblity with transit-clj\n */\ncognitect.transit.read_handler \x3d (function cognitect$transit$read_handler(from_rep){\nreturn from_rep;\n});\ncognitect.transit.fn_or_val \x3d (function cognitect$transit$fn_or_val(f){\nif(cljs.core.fn_QMARK_(f)){\nreturn f;\n} else {\nreturn cljs.core.constantly(f);\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IWithMeta}\n*/\ncognitect.transit.t_cognitect$transit35180 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta35181){\nthis.tag_fn \x3d tag_fn;\nthis.rep_fn \x3d rep_fn;\nthis.str_rep_fn \x3d str_rep_fn;\nthis.verbose_handler_fn \x3d verbose_handler_fn;\nthis.meta35181 \x3d meta35181;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cognitect.transit.t_cognitect$transit35180.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_35182,meta35181__$1){\nvar self__ \x3d this;\nvar _35182__$1 \x3d this;\nreturn (new cognitect.transit.t_cognitect$transit35180(self__.tag_fn,self__.rep_fn,self__.str_rep_fn,self__.verbose_handler_fn,meta35181__$1));\n}));\n\n(cognitect.transit.t_cognitect$transit35180.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_35182){\nvar self__ \x3d this;\nvar _35182__$1 \x3d this;\nreturn self__.meta35181;\n}));\n\n(cognitect.transit.t_cognitect$transit35180.prototype.tag \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.tag_fn.cljs$core$IFn$_invoke$arity$1 ? self__.tag_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.tag_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit35180.prototype.rep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn (self__.rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.rep_fn.call(null,o));\n}));\n\n(cognitect.transit.t_cognitect$transit35180.prototype.stringRep \x3d (function (o){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.str_rep_fn)){\nreturn (self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1 ? self__.str_rep_fn.cljs$core$IFn$_invoke$arity$1(o) : self__.str_rep_fn.call(null,o));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit35180.prototype.getVerboseHandler \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nif(cljs.core.truth_(self__.verbose_handler_fn)){\nreturn (self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0 ? self__.verbose_handler_fn.cljs$core$IFn$_invoke$arity$0() : self__.verbose_handler_fn.call(null));\n} else {\nreturn null;\n}\n}));\n\n(cognitect.transit.t_cognitect$transit35180.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22tag-fn\x22,\x22tag-fn\x22,242055482,null),new cljs.core.Symbol(null,\x22rep-fn\x22,\x22rep-fn\x22,-1724891035,null),new cljs.core.Symbol(null,\x22str-rep-fn\x22,\x22str-rep-fn\x22,-1179615016,null),new cljs.core.Symbol(null,\x22verbose-handler-fn\x22,\x22verbose-handler-fn\x22,547340594,null),new cljs.core.Symbol(null,\x22meta35181\x22,\x22meta35181\x22,1114589379,null)], null);\n}));\n\n(cognitect.transit.t_cognitect$transit35180.cljs$lang$type \x3d true);\n\n(cognitect.transit.t_cognitect$transit35180.cljs$lang$ctorStr \x3d \x22cognitect.transit/t_cognitect$transit35180\x22);\n\n(cognitect.transit.t_cognitect$transit35180.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cognitect.transit/t_cognitect$transit35180\x22);\n}));\n\n/**\n * Positional factory function for cognitect.transit/t_cognitect$transit35180.\n */\ncognitect.transit.__GT_t_cognitect$transit35180 \x3d (function cognitect$transit$__GT_t_cognitect$transit35180(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta35181){\nreturn (new cognitect.transit.t_cognitect$transit35180(tag_fn,rep_fn,str_rep_fn,verbose_handler_fn,meta35181));\n});\n\n\n/**\n * Creates a transit write handler whose tag, rep,\n * stringRep, and verboseWriteHandler methods\n * invoke the provided fns.\n */\ncognitect.transit.write_handler \x3d (function cognitect$transit$write_handler(var_args){\nvar G__35176 \x3d arguments.length;\nswitch (G__35176) {\ncase 2:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag_fn,rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,null,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$3 \x3d (function (tag_fn,rep_fn,str_rep_fn){\nreturn cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4(tag_fn,rep_fn,str_rep_fn,null);\n}));\n\n(cognitect.transit.write_handler.cljs$core$IFn$_invoke$arity$4 \x3d (function (tag_fn,rep_fn,str_rep_fn,verbose_handler_fn){\nvar tag_fn__$1 \x3d cognitect.transit.fn_or_val(tag_fn);\nvar rep_fn__$1 \x3d cognitect.transit.fn_or_val(rep_fn);\nvar str_rep_fn__$1 \x3d cognitect.transit.fn_or_val(str_rep_fn);\nvar verbose_handler_fn__$1 \x3d cognitect.transit.fn_or_val(verbose_handler_fn);\nreturn (new cognitect.transit.t_cognitect$transit35180(tag_fn__$1,rep_fn__$1,str_rep_fn__$1,verbose_handler_fn__$1,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cognitect.transit.write_handler.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Construct a tagged value. tag must be a string and rep can\n * be any transit encodeable value.\n */\ncognitect.transit.tagged_value \x3d (function cognitect$transit$tagged_value(tag,rep){\nreturn com.cognitect.transit.types.taggedValue(tag,rep);\n});\n/**\n * Returns true if x is a transit tagged value, false otherwise.\n */\ncognitect.transit.tagged_value_QMARK_ \x3d (function cognitect$transit$tagged_value_QMARK_(x){\nreturn com.cognitect.transit.types.isTaggedValue(x);\n});\n/**\n * Construct a transit integer value. Returns JavaScript number if\n * in the 53bit integer range, a goog.math.Long instance if above. s\n * may be a string or a JavaScript number.\n */\ncognitect.transit.integer \x3d (function cognitect$transit$integer(s){\nreturn com.cognitect.transit.types.intValue(s);\n});\n/**\n * Returns true if x is an integer value between the 53bit and 64bit\n * range, false otherwise.\n */\ncognitect.transit.integer_QMARK_ \x3d (function cognitect$transit$integer_QMARK_(x){\nreturn com.cognitect.transit.types.isInteger(x);\n});\n/**\n * Construct a big integer from a string.\n */\ncognitect.transit.bigint \x3d (function cognitect$transit$bigint(s){\nreturn com.cognitect.transit.types.bigInteger(s);\n});\n/**\n * Returns true if x is a transit big integer value, false otherwise.\n */\ncognitect.transit.bigint_QMARK_ \x3d (function cognitect$transit$bigint_QMARK_(x){\nreturn com.cognitect.transit.types.isBigInteger(x);\n});\n/**\n * Construct a big decimal from a string.\n */\ncognitect.transit.bigdec \x3d (function cognitect$transit$bigdec(s){\nreturn com.cognitect.transit.types.bigDecimalValue(s);\n});\n/**\n * Returns true if x is a transit big decimal value, false otherwise.\n */\ncognitect.transit.bigdec_QMARK_ \x3d (function cognitect$transit$bigdec_QMARK_(x){\nreturn com.cognitect.transit.types.isBigDecimal(x);\n});\n/**\n * Construct a URI from a string.\n */\ncognitect.transit.uri \x3d (function cognitect$transit$uri(s){\nreturn com.cognitect.transit.types.uri(s);\n});\n/**\n * Returns true if x is a transit URI value, false otherwise.\n */\ncognitect.transit.uri_QMARK_ \x3d (function cognitect$transit$uri_QMARK_(x){\nreturn com.cognitect.transit.types.isURI(x);\n});\n/**\n * Construct a UUID from a string.\n */\ncognitect.transit.uuid \x3d (function cognitect$transit$uuid(s){\nreturn com.cognitect.transit.types.uuid(s);\n});\n/**\n * Returns true if x is a transit UUID value, false otherwise.\n */\ncognitect.transit.uuid_QMARK_ \x3d (function cognitect$transit$uuid_QMARK_(x){\nvar or__5025__auto__ \x3d com.cognitect.transit.types.isUUID(x);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (x instanceof cljs.core.UUID);\n}\n});\n/**\n * Construct a transit binary value. s should be base64 encoded\n * string.\n */\ncognitect.transit.binary \x3d (function cognitect$transit$binary(s){\nreturn com.cognitect.transit.types.binary(s);\n});\n/**\n * Returns true if x is a transit binary value, false otherwise.\n */\ncognitect.transit.binary_QMARK_ \x3d (function cognitect$transit$binary_QMARK_(x){\nreturn com.cognitect.transit.types.isBinary(x);\n});\n/**\n * Construct a quoted transit value. x should be a transit\n * encodeable value.\n */\ncognitect.transit.quoted \x3d (function cognitect$transit$quoted(x){\nreturn com.cognitect.transit.types.quoted(x);\n});\n/**\n * Returns true if x is a transit quoted value, false otherwise.\n */\ncognitect.transit.quoted_QMARK_ \x3d (function cognitect$transit$quoted_QMARK_(x){\nreturn com.cognitect.transit.types.isQuoted(x);\n});\n/**\n * Construct a transit link value. x should be an IMap instance\n * containing at a minimum the following keys: :href, :rel. It\n * may optionall include :name, :render, and :prompt. :href must\n * be a transit URI, all other values are strings, and :render must\n * be either :image or :link.\n */\ncognitect.transit.link \x3d (function cognitect$transit$link(x){\nreturn com.cognitect.transit.types.link(x);\n});\n/**\n * Returns true if x a transit link value, false if otherwise.\n */\ncognitect.transit.link_QMARK_ \x3d (function cognitect$transit$link_QMARK_(x){\nreturn com.cognitect.transit.types.isLink(x);\n});\n/**\n * For :transform. Will write any metadata present on the value.\n */\ncognitect.transit.write_meta \x3d (function cognitect$transit$write_meta(x){\nif((((!((x \x3d\x3d null))))?(((((x.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IMeta$))))?true:false):false)){\nvar m \x3d x.cljs$core$IMeta$_meta$arity$1(null);\nif((!((m \x3d\x3d null)))){\nreturn (new cognitect.transit.WithMeta(x.cljs$core$IWithMeta$_with_meta$arity$2(null,null),m));\n} else {\nreturn x;\n}\n} else {\nreturn x;\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.api.js", true, "goog.provide(\x27shadow.remote.runtime.api\x27);\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IRuntime \x3d function(){};\n\nvar shadow$remote$runtime$api$IRuntime$relay_msg$dyn_34945 \x3d (function (runtime,msg){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.relay_msg[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5374__auto__.call(null,runtime,msg));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.relay_msg[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(runtime,msg) : m__5372__auto__.call(null,runtime,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.relay-msg\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.relay_msg \x3d (function shadow$remote$runtime$api$relay_msg(runtime,msg){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2(runtime,msg);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$relay_msg$dyn_34945(runtime,msg);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$add_extension$dyn_34947 \x3d (function (runtime,key,spec){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.add_extension[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5374__auto__.call(null,runtime,key,spec));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.add_extension[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(runtime,key,spec) : m__5372__auto__.call(null,runtime,key,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.add-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.add_extension \x3d (function shadow$remote$runtime$api$add_extension(runtime,key,spec){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(runtime,key,spec);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$add_extension$dyn_34947(runtime,key,spec);\n}\n});\n\nvar shadow$remote$runtime$api$IRuntime$del_extension$dyn_34950 \x3d (function (runtime,key){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.del_extension[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5374__auto__.call(null,runtime,key));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.del_extension[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(runtime,key) : m__5372__auto__.call(null,runtime,key));\n} else {\nthrow cljs.core.missing_protocol(\x22IRuntime.del-extension\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api.del_extension \x3d (function shadow$remote$runtime$api$del_extension(runtime,key){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IRuntime$del_extension$arity$2(runtime,key);\n} else {\nreturn shadow$remote$runtime$api$IRuntime$del_extension$dyn_34950(runtime,key);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.Inspectable \x3d function(){};\n\nvar shadow$remote$runtime$api$Inspectable$describe$dyn_34953 \x3d (function (thing,opts){\nvar x__5373__auto__ \x3d (((thing \x3d\x3d null))?null:thing);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api.describe[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5374__auto__.call(null,thing,opts));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api.describe[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : m__5372__auto__.call(null,thing,opts));\n} else {\nthrow cljs.core.missing_protocol(\x22Inspectable.describe\x22,thing);\n}\n}\n});\n/**\n * returns a map descriptor that tells system how to handle things further\n */\nshadow.remote.runtime.api.describe \x3d (function shadow$remote$runtime$api$describe(thing,opts){\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(thing),cljs.core.with_meta(new cljs.core.Symbol(\x22shadow.remote.runtime.api\x22,\x22describe\x22,\x22shadow.remote.runtime.api/describe\x22,1388020131,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5821__auto__){\nvar meta_impl__5375__auto__ \x3d temp__5821__auto__;\nreturn (meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$2 ? meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$2(thing,opts) : meta_impl__5375__auto__.call(null,thing,opts));\n} else {\nif((((!((thing \x3d\x3d null)))) \x26\x26 ((!((thing.shadow$remote$runtime$api$Inspectable$describe$arity$2 \x3d\x3d null)))))){\nreturn thing.shadow$remote$runtime$api$Inspectable$describe$arity$2(thing,opts);\n} else {\nreturn shadow$remote$runtime$api$Inspectable$describe$dyn_34953(thing,opts);\n}\n}\n});\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalCLJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_34964 \x3d (function (runtime,input,callback){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5374__auto__.call(null,runtime,input,callback));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api._cljs_eval[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(runtime,input,callback) : m__5372__auto__.call(null,runtime,input,callback));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalCLJS.-cljs-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._cljs_eval \x3d (function shadow$remote$runtime$api$_cljs_eval(runtime,input,callback){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3(runtime,input,callback);\n} else {\nreturn shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$dyn_34964(runtime,input,callback);\n}\n});\n\n\n\n/**\n * @interface\n */\nshadow.remote.runtime.api.IEvalJS \x3d function(){};\n\nvar shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_34965 \x3d (function (runtime,code,success,fail){\nvar x__5373__auto__ \x3d (((runtime \x3d\x3d null))?null:runtime);\nvar m__5374__auto__ \x3d (shadow.remote.runtime.api._js_eval[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(runtime,code,success,fail) : m__5374__auto__.call(null,runtime,code,success,fail));\n} else {\nvar m__5372__auto__ \x3d (shadow.remote.runtime.api._js_eval[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(runtime,code,success,fail) : m__5372__auto__.call(null,runtime,code,success,fail));\n} else {\nthrow cljs.core.missing_protocol(\x22IEvalJS.-js-eval\x22,runtime);\n}\n}\n});\nshadow.remote.runtime.api._js_eval \x3d (function shadow$remote$runtime$api$_js_eval(runtime,code,success,fail){\nif((((!((runtime \x3d\x3d null)))) \x26\x26 ((!((runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$4 \x3d\x3d null)))))){\nreturn runtime.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$4(runtime,code,success,fail);\n} else {\nreturn shadow$remote$runtime$api$IEvalJS$_js_eval$dyn_34965(runtime,code,success,fail);\n}\n});\n\n\nshadow.remote.runtime.api.cljs_eval \x3d (function shadow$remote$runtime$api$cljs_eval(runtime,p__34937,callback){\nvar map__34938 \x3d p__34937;\nvar map__34938__$1 \x3d cljs.core.__destructure_map(map__34938);\nvar input \x3d map__34938__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34938__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34938__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(((typeof code \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.simple_symbol_QMARK_(ns)))){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid cljs-eval input\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input], null));\n}\n\nreturn shadow.remote.runtime.api._cljs_eval(runtime,input,callback);\n});\n\nshadow.remote.runtime.api.js_eval \x3d (function shadow$remote$runtime$api$js_eval(runtime,code,success,fail){\nif(typeof code \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Assert failed: (string? code)\x22));\n}\n\nreturn shadow.remote.runtime.api._js_eval(runtime,code,success,fail);\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.shared.js", true, "goog.provide(\x27shadow.remote.runtime.shared\x27);\nshadow.remote.runtime.shared.init_state \x3d (function shadow$remote$runtime$shared$init_state(client_info){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),(0),new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.PersistentArrayMap.EMPTY], null);\n});\nshadow.remote.runtime.shared.now \x3d (function shadow$remote$runtime$shared$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.shared.get_client_id \x3d (function shadow$remote$runtime$shared$get_client_id(p__34967){\nvar map__34969 \x3d p__34967;\nvar map__34969__$1 \x3d cljs.core.__destructure_map(map__34969);\nvar runtime \x3d map__34969__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34969__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22runtime has no assigned runtime-id\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null));\n}\n});\nshadow.remote.runtime.shared.relay_msg \x3d (function shadow$remote$runtime$shared$relay_msg(runtime,msg){\nvar self_id_35185 \x3d shadow.remote.runtime.shared.get_client_id(runtime);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007).cljs$core$IFn$_invoke$arity$1(msg),self_id_35185)){\nshadow.remote.runtime.api.relay_msg(runtime,msg);\n} else {\nPromise.resolve((1)).then((function (){\nvar G__34980 \x3d runtime;\nvar G__34981 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),self_id_35185);\nreturn (shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2 ? shadow.remote.runtime.shared.process.cljs$core$IFn$_invoke$arity$2(G__34980,G__34981) : shadow.remote.runtime.shared.process.call(null,G__34980,G__34981));\n}));\n}\n\nreturn msg;\n});\nshadow.remote.runtime.shared.reply \x3d (function shadow$remote$runtime$shared$reply(runtime,p__34989,res){\nvar map__34991 \x3d p__34989;\nvar map__34991__$1 \x3d cljs.core.__destructure_map(map__34991);\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34991__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__34991__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar res__$1 \x3d (function (){var G__34992 \x3d res;\nvar G__34992__$1 \x3d (cljs.core.truth_(call_id)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__34992,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id):G__34992);\nif(cljs.core.truth_(from)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__34992__$1,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),from);\n} else {\nreturn G__34992__$1;\n}\n})();\nreturn shadow.remote.runtime.api.relay_msg(runtime,res__$1);\n});\nshadow.remote.runtime.shared.call \x3d (function shadow$remote$runtime$shared$call(var_args){\nvar G__34999 \x3d arguments.length;\nswitch (G__34999) {\ncase 3:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3 \x3d (function (runtime,msg,handlers){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4(runtime,msg,handlers,(0));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$4 \x3d (function (p__35004,msg,handlers,timeout_after_ms){\nvar map__35005 \x3d p__35004;\nvar map__35005__$1 \x3d cljs.core.__destructure_map(map__35005);\nvar runtime \x3d map__35005__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35005__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.map_QMARK_(msg)){\n} else {\nthrow (new Error(\x22Assert failed: (map? msg)\x22));\n}\n\nif(cljs.core.map_QMARK_(handlers)){\n} else {\nthrow (new Error(\x22Assert failed: (map? handlers)\x22));\n}\n\nif(cljs.core.nat_int_QMARK_(timeout_after_ms)){\n} else {\nthrow (new Error(\x22Assert failed: (nat-int? timeout-after-ms)\x22));\n}\n\nvar call_id \x3d new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-id-seq\x22,\x22call-id-seq\x22,-1679248218),cljs.core.inc);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),handlers,new cljs.core.Keyword(null,\x22called-at\x22,\x22called-at\x22,607081160),shadow.remote.runtime.shared.now(),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22timeout\x22,\x22timeout\x22,-318625318),timeout_after_ms], null));\n\nreturn shadow.remote.runtime.api.relay_msg(runtime,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968),call_id));\n}));\n\n(shadow.remote.runtime.shared.call.cljs$lang$maxFixedArity \x3d 4);\n\nshadow.remote.runtime.shared.trigger_BANG_ \x3d (function shadow$remote$runtime$shared$trigger_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35188 \x3d arguments.length;\nvar i__5750__auto___35189 \x3d (0);\nwhile(true){\nif((i__5750__auto___35189 \x3c len__5749__auto___35188)){\nargs__5755__auto__.push((arguments[i__5750__auto___35189]));\n\nvar G__35190 \x3d (i__5750__auto___35189 + (1));\ni__5750__auto___35189 \x3d G__35190;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__35057,ev,args){\nvar map__35058 \x3d p__35057;\nvar map__35058__$1 \x3d cljs.core.__destructure_map(map__35058);\nvar runtime \x3d map__35058__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35058__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar seq__35061 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__35064 \x3d null;\nvar count__35065 \x3d (0);\nvar i__35066 \x3d (0);\nwhile(true){\nif((i__35066 \x3c count__35065)){\nvar ext \x3d chunk__35064.cljs$core$IIndexed$_nth$arity$2(null,i__35066);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__35193 \x3d seq__35061;\nvar G__35194 \x3d chunk__35064;\nvar G__35195 \x3d count__35065;\nvar G__35196 \x3d (i__35066 + (1));\nseq__35061 \x3d G__35193;\nchunk__35064 \x3d G__35194;\ncount__35065 \x3d G__35195;\ni__35066 \x3d G__35196;\ncontinue;\n} else {\nvar G__35197 \x3d seq__35061;\nvar G__35198 \x3d chunk__35064;\nvar G__35199 \x3d count__35065;\nvar G__35200 \x3d (i__35066 + (1));\nseq__35061 \x3d G__35197;\nchunk__35064 \x3d G__35198;\ncount__35065 \x3d G__35199;\ni__35066 \x3d G__35200;\ncontinue;\n}\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__35061);\nif(temp__5823__auto__){\nvar seq__35061__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__35061__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__35061__$1);\nvar G__35201 \x3d cljs.core.chunk_rest(seq__35061__$1);\nvar G__35202 \x3d c__5548__auto__;\nvar G__35203 \x3d cljs.core.count(c__5548__auto__);\nvar G__35204 \x3d (0);\nseq__35061 \x3d G__35201;\nchunk__35064 \x3d G__35202;\ncount__35065 \x3d G__35203;\ni__35066 \x3d G__35204;\ncontinue;\n} else {\nvar ext \x3d cljs.core.first(seq__35061__$1);\nvar ev_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ext,ev);\nif(cljs.core.truth_(ev_fn)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$2(ev_fn,args);\n\n\nvar G__35205 \x3d cljs.core.next(seq__35061__$1);\nvar G__35206 \x3d null;\nvar G__35207 \x3d (0);\nvar G__35208 \x3d (0);\nseq__35061 \x3d G__35205;\nchunk__35064 \x3d G__35206;\ncount__35065 \x3d G__35207;\ni__35066 \x3d G__35208;\ncontinue;\n} else {\nvar G__35209 \x3d cljs.core.next(seq__35061__$1);\nvar G__35210 \x3d null;\nvar G__35211 \x3d (0);\nvar G__35212 \x3d (0);\nseq__35061 \x3d G__35209;\nchunk__35064 \x3d G__35210;\ncount__35065 \x3d G__35211;\ni__35066 \x3d G__35212;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(shadow.remote.runtime.shared.trigger_BANG_.cljs$lang$applyTo \x3d (function (seq35036){\nvar G__35037 \x3d cljs.core.first(seq35036);\nvar seq35036__$1 \x3d cljs.core.next(seq35036);\nvar G__35038 \x3d cljs.core.first(seq35036__$1);\nvar seq35036__$2 \x3d cljs.core.next(seq35036__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__35037,G__35038,seq35036__$2);\n}));\n\nshadow.remote.runtime.shared.welcome \x3d (function shadow$remote$runtime$shared$welcome(p__35089,p__35090){\nvar map__35091 \x3d p__35089;\nvar map__35091__$1 \x3d cljs.core.__destructure_map(map__35091);\nvar runtime \x3d map__35091__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35091__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__35092 \x3d p__35090;\nvar map__35092__$1 \x3d cljs.core.__destructure_map(map__35092);\nvar msg \x3d map__35092__$1;\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35092__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),client_id,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),true], 0));\n\nvar map__35095 \x3d cljs.core.deref(state_ref);\nvar map__35095__$1 \x3d cljs.core.__destructure_map(map__35095);\nvar client_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35095__$1,new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504));\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35095__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nshadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22hello\x22,\x22hello\x22,-245025397),new cljs.core.Keyword(null,\x22client-info\x22,\x22client-info\x22,1958982504),client_info], null));\n\nreturn shadow.remote.runtime.shared.trigger_BANG_(runtime,new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125));\n});\nshadow.remote.runtime.shared.ping \x3d (function shadow$remote$runtime$shared$ping(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22pong\x22,\x22pong\x22,-172484958)], null));\n});\nshadow.remote.runtime.shared.request_supported_ops \x3d (function shadow$remote$runtime$shared$request_supported_ops(p__35098,msg){\nvar map__35099 \x3d p__35098;\nvar map__35099__$1 \x3d cljs.core.__destructure_map(map__35099);\nvar runtime \x3d map__35099__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35099__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22supported-ops\x22,\x22supported-ops\x22,337914702),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.set(cljs.core.keys(new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))),new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),new cljs.core.Keyword(null,\x22tool-disconnect\x22,\x22tool-disconnect\x22,189103996)], 0))], null));\n});\nshadow.remote.runtime.shared.unknown_relay_op \x3d (function shadow$remote$runtime$shared$unknown_relay_op(msg){\nreturn console.warn(\x22unknown-relay-op\x22,msg);\n});\nshadow.remote.runtime.shared.unknown_op \x3d (function shadow$remote$runtime$shared$unknown_op(msg){\nreturn console.warn(\x22unknown-op\x22,msg);\n});\nshadow.remote.runtime.shared.add_extension_STAR_ \x3d (function shadow$remote$runtime$shared$add_extension_STAR_(p__35106,key,p__35107){\nvar map__35108 \x3d p__35106;\nvar map__35108__$1 \x3d cljs.core.__destructure_map(map__35108);\nvar state \x3d map__35108__$1;\nvar extensions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35108__$1,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196));\nvar map__35109 \x3d p__35107;\nvar map__35109__$1 \x3d cljs.core.__destructure_map(map__35109);\nvar spec \x3d map__35109__$1;\nvar ops \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35109__$1,new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063));\nvar transit_write_handlers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35109__$1,new cljs.core.Keyword(null,\x22transit-write-handlers\x22,\x22transit-write-handlers\x22,1886308716));\nif(cljs.core.contains_QMARK_(extensions,key)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22extension already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401),spec], null));\n} else {\n}\n\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nif(cljs.core.truth_(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22op already registered\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),key,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),op_kw], null));\n} else {\n}\n\nreturn cljs.core.assoc_in(state__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op_kw], null),op_handler);\n}),cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null),spec),ops);\n});\nshadow.remote.runtime.shared.add_extension \x3d (function shadow$remote$runtime$shared$add_extension(p__35115,key,spec){\nvar map__35116 \x3d p__35115;\nvar map__35116__$1 \x3d cljs.core.__destructure_map(map__35116);\nvar runtime \x3d map__35116__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35116__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,shadow.remote.runtime.shared.add_extension_STAR_,key,spec);\n\nvar temp__5827__auto___35218 \x3d new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125).cljs$core$IFn$_invoke$arity$1(spec);\nif((temp__5827__auto___35218 \x3d\x3d null)){\n} else {\nvar on_welcome_35219 \x3d temp__5827__auto___35218;\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))){\n(on_welcome_35219.cljs$core$IFn$_invoke$arity$0 ? on_welcome_35219.cljs$core$IFn$_invoke$arity$0() : on_welcome_35219.call(null));\n} else {\n}\n}\n\nreturn runtime;\n});\nshadow.remote.runtime.shared.add_defaults \x3d (function shadow$remote$runtime$shared$add_defaults(runtime){\nreturn shadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.shared\x22,\x22defaults\x22,\x22shadow.remote.runtime.shared/defaults\x22,-1821257543),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22welcome\x22,\x22welcome\x22,-578152123),(function (p1__35117_SHARP_){\nreturn shadow.remote.runtime.shared.welcome(runtime,p1__35117_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-relay-op\x22,\x22unknown-relay-op\x22,170832753),(function (p1__35118_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_relay_op(p1__35118_SHARP_);\n}),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),(function (p1__35119_SHARP_){\nreturn shadow.remote.runtime.shared.unknown_op(p1__35119_SHARP_);\n}),new cljs.core.Keyword(null,\x22ping\x22,\x22ping\x22,-1670114784),(function (p1__35120_SHARP_){\nreturn shadow.remote.runtime.shared.ping(runtime,p1__35120_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-supported-ops\x22,\x22request-supported-ops\x22,-1034994502),(function (p1__35121_SHARP_){\nreturn shadow.remote.runtime.shared.request_supported_ops(runtime,p1__35121_SHARP_);\n})], null)], null));\n});\nshadow.remote.runtime.shared.del_extension_STAR_ \x3d (function shadow$remote$runtime$shared$del_extension_STAR_(state,key){\nvar ext \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),key], null));\nif(cljs.core.not(ext)){\nreturn state;\n} else {\nreturn cljs.core.reduce_kv((function (state__$1,op_kw,op_handler){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063)], null),cljs.core.dissoc,op_kw);\n}),cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196),cljs.core.dissoc,key),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063).cljs$core$IFn$_invoke$arity$1(ext));\n}\n});\nshadow.remote.runtime.shared.del_extension \x3d (function shadow$remote$runtime$shared$del_extension(p__35131,key){\nvar map__35136 \x3d p__35131;\nvar map__35136__$1 \x3d cljs.core.__destructure_map(map__35136);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35136__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,shadow.remote.runtime.shared.del_extension_STAR_,key);\n});\nshadow.remote.runtime.shared.unhandled_call_result \x3d (function shadow$remote$runtime$shared$unhandled_call_result(call_config,msg){\nreturn console.warn(\x22unhandled call result\x22,msg,call_config);\n});\nshadow.remote.runtime.shared.unhandled_client_not_found \x3d (function shadow$remote$runtime$shared$unhandled_client_not_found(p__35141,msg){\nvar map__35145 \x3d p__35141;\nvar map__35145__$1 \x3d cljs.core.__destructure_map(map__35145);\nvar runtime \x3d map__35145__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35145__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn shadow.remote.runtime.shared.trigger_BANG_.cljs$core$IFn$_invoke$arity$variadic(runtime,new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n});\nshadow.remote.runtime.shared.reply_unknown_op \x3d (function shadow$remote$runtime$shared$reply_unknown_op(runtime,msg){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22unknown-op\x22,\x22unknown-op\x22,1900385996),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n});\nshadow.remote.runtime.shared.process \x3d (function shadow$remote$runtime$shared$process(p__35153,p__35154){\nvar map__35159 \x3d p__35153;\nvar map__35159__$1 \x3d cljs.core.__destructure_map(map__35159);\nvar runtime \x3d map__35159__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35159__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__35160 \x3d p__35154;\nvar map__35160__$1 \x3d cljs.core.__destructure_map(map__35160);\nvar msg \x3d map__35160__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35160__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar call_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35160__$1,new cljs.core.Keyword(null,\x22call-id\x22,\x22call-id\x22,1043012968));\nvar state \x3d cljs.core.deref(state_ref);\nvar op_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),op], null));\nif(cljs.core.truth_(call_id)){\nvar cfg \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),call_id], null));\nvar call_handler \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cfg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),op], null));\nif(cljs.core.truth_(call_handler)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22call-handlers\x22,\x22call-handlers\x22,386605551),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([call_id], 0));\n\nreturn (call_handler.cljs$core$IFn$_invoke$arity$1 ? call_handler.cljs$core$IFn$_invoke$arity$1(msg) : call_handler.call(null,msg));\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nreturn shadow.remote.runtime.shared.unhandled_call_result(cfg,msg);\n\n}\n}\n} else {\nif(cljs.core.truth_(op_handler)){\nreturn (op_handler.cljs$core$IFn$_invoke$arity$1 ? op_handler.cljs$core$IFn$_invoke$arity$1(msg) : op_handler.call(null,msg));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),op)){\nreturn shadow.remote.runtime.shared.unhandled_client_not_found(runtime,msg);\n} else {\nreturn shadow.remote.runtime.shared.reply_unknown_op(runtime,msg);\n\n}\n}\n}\n});\nshadow.remote.runtime.shared.run_on_idle \x3d (function shadow$remote$runtime$shared$run_on_idle(state_ref){\nvar seq__35164 \x3d cljs.core.seq(cljs.core.vals(new cljs.core.Keyword(null,\x22extensions\x22,\x22extensions\x22,-1103629196).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar chunk__35166 \x3d null;\nvar count__35167 \x3d (0);\nvar i__35168 \x3d (0);\nwhile(true){\nif((i__35168 \x3c count__35167)){\nvar map__35177 \x3d chunk__35166.cljs$core$IIndexed$_nth$arity$2(null,i__35168);\nvar map__35177__$1 \x3d cljs.core.__destructure_map(map__35177);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35177__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__35224 \x3d seq__35164;\nvar G__35225 \x3d chunk__35166;\nvar G__35226 \x3d count__35167;\nvar G__35227 \x3d (i__35168 + (1));\nseq__35164 \x3d G__35224;\nchunk__35166 \x3d G__35225;\ncount__35167 \x3d G__35226;\ni__35168 \x3d G__35227;\ncontinue;\n} else {\nvar G__35228 \x3d seq__35164;\nvar G__35229 \x3d chunk__35166;\nvar G__35230 \x3d count__35167;\nvar G__35231 \x3d (i__35168 + (1));\nseq__35164 \x3d G__35228;\nchunk__35166 \x3d G__35229;\ncount__35167 \x3d G__35230;\ni__35168 \x3d G__35231;\ncontinue;\n}\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__35164);\nif(temp__5823__auto__){\nvar seq__35164__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__35164__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__35164__$1);\nvar G__35233 \x3d cljs.core.chunk_rest(seq__35164__$1);\nvar G__35234 \x3d c__5548__auto__;\nvar G__35235 \x3d cljs.core.count(c__5548__auto__);\nvar G__35236 \x3d (0);\nseq__35164 \x3d G__35233;\nchunk__35166 \x3d G__35234;\ncount__35167 \x3d G__35235;\ni__35168 \x3d G__35236;\ncontinue;\n} else {\nvar map__35178 \x3d cljs.core.first(seq__35164__$1);\nvar map__35178__$1 \x3d cljs.core.__destructure_map(map__35178);\nvar on_idle \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__35178__$1,new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602));\nif(cljs.core.truth_(on_idle)){\n(on_idle.cljs$core$IFn$_invoke$arity$0 ? on_idle.cljs$core$IFn$_invoke$arity$0() : on_idle.call(null));\n\n\nvar G__35237 \x3d cljs.core.next(seq__35164__$1);\nvar G__35238 \x3d null;\nvar G__35239 \x3d (0);\nvar G__35240 \x3d (0);\nseq__35164 \x3d G__35237;\nchunk__35166 \x3d G__35238;\ncount__35167 \x3d G__35239;\ni__35168 \x3d G__35240;\ncontinue;\n} else {\nvar G__35241 \x3d cljs.core.next(seq__35164__$1);\nvar G__35242 \x3d null;\nvar G__35243 \x3d (0);\nvar G__35244 \x3d (0);\nseq__35164 \x3d G__35241;\nchunk__35166 \x3d G__35242;\ncount__35167 \x3d G__35243;\ni__35168 \x3d G__35244;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n");
SHADOW_ENV.evalLoad("clojure.core.protocols.js", true, "goog.provide(\x27clojure.core.protocols\x27);\n\n/**\n * @interface\n */\nclojure.core.protocols.Datafiable \x3d function(){};\n\nvar clojure$core$protocols$Datafiable$datafy$dyn_35125 \x3d (function (o){\nvar x__5373__auto__ \x3d (((o \x3d\x3d null))?null:o);\nvar m__5374__auto__ \x3d (clojure.core.protocols.datafy[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5374__auto__.call(null,o));\n} else {\nvar m__5372__auto__ \x3d (clojure.core.protocols.datafy[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__5372__auto__.call(null,o));\n} else {\nthrow cljs.core.missing_protocol(\x22Datafiable.datafy\x22,o);\n}\n}\n});\n/**\n * return a representation of o as data (default identity)\n */\nclojure.core.protocols.datafy \x3d (function clojure$core$protocols$datafy(o){\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(o),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22datafy\x22,\x22clojure.core.protocols/datafy\x22,707534751,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5821__auto__){\nvar meta_impl__5375__auto__ \x3d temp__5821__auto__;\nreturn (meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$1 ? meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$1(o) : meta_impl__5375__auto__.call(null,o));\n} else {\nif((((!((o \x3d\x3d null)))) \x26\x26 ((!((o.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d\x3d null)))))){\nreturn o.clojure$core$protocols$Datafiable$datafy$arity$1(o);\n} else {\nreturn clojure$core$protocols$Datafiable$datafy$dyn_35125(o);\n}\n}\n});\n\n(clojure.core.protocols.Datafiable[\x22null\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22null\x22] \x3d (function (_){\nreturn null;\n}));\n\n(clojure.core.protocols.Datafiable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22_\x22] \x3d (function (o){\nreturn o;\n}));\n\n/**\n * @interface\n */\nclojure.core.protocols.Navigable \x3d function(){};\n\nvar clojure$core$protocols$Navigable$nav$dyn_35130 \x3d (function (coll,k,v){\nvar x__5373__auto__ \x3d (((coll \x3d\x3d null))?null:coll);\nvar m__5374__auto__ \x3d (clojure.core.protocols.nav[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5374__auto__.call(null,coll,k,v));\n} else {\nvar m__5372__auto__ \x3d (clojure.core.protocols.nav[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__5372__auto__.call(null,coll,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22Navigable.nav\x22,coll);\n}\n}\n});\n/**\n * return (possibly transformed) v in the context of coll and k (a key/index or nil),\n * defaults to returning v.\n */\nclojure.core.protocols.nav \x3d (function clojure$core$protocols$nav(coll,k,v){\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(coll),cljs.core.with_meta(new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)));\nif(temp__5821__auto__){\nvar meta_impl__5375__auto__ \x3d temp__5821__auto__;\nreturn (meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$3 ? meta_impl__5375__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : meta_impl__5375__auto__.call(null,coll,k,v));\n} else {\nif((((!((coll \x3d\x3d null)))) \x26\x26 ((!((coll.clojure$core$protocols$Navigable$nav$arity$3 \x3d\x3d null)))))){\nreturn coll.clojure$core$protocols$Navigable$nav$arity$3(coll,k,v);\n} else {\nreturn clojure$core$protocols$Navigable$nav$dyn_35130(coll,k,v);\n}\n}\n});\n\n(clojure.core.protocols.Navigable[\x22_\x22] \x3d true);\n\n(clojure.core.protocols.nav[\x22_\x22] \x3d (function (_,___$1,x){\nreturn x;\n}));\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.cljs.js_builtins.js", true, "goog.provide(\x27shadow.remote.runtime.cljs.js_builtins\x27);\ngoog.scope(function(){\n shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(clojure.core.protocols.Datafiable[\x22object\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22object\x22] \x3d (function (o){\nif((!((o.__proto__ \x3d\x3d\x3d Object.prototype)))){\nreturn o;\n} else {\nreturn cljs.core.with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,key){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m,key,shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,key));\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.getKeys(o))),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(\x22clojure.core.protocols\x22,\x22nav\x22,\x22clojure.core.protocols/nav\x22,298936762,null),(function (coll,k,v){\nreturn shadow.remote.runtime.cljs.js_builtins.goog$module$goog$object.get(o,k);\n})], null));\n}\n}));\n\n(clojure.core.protocols.Datafiable[\x22array\x22] \x3d true);\n\n(clojure.core.protocols.datafy[\x22array\x22] \x3d (function (o){\nreturn cljs.core.vec(o);\n}));\n\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (e){\nvar e__$1 \x3d this;\nvar data \x3d cljs.core.ex_data(e__$1);\nvar file \x3d e__$1.fileName;\nvar line \x3d e__$1.lineNumber;\nvar column \x3d e__$1.columnNumber;\nvar G__35163 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),e__$1.message,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),e__$1.name,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),e__$1.stack], null);\nvar G__35163__$1 \x3d (((!((data \x3d\x3d null))))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35163,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),data):G__35163);\nvar G__35163__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35163__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file):G__35163__$1);\nvar G__35163__$3 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35163__$2,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line):G__35163__$2);\nif(cljs.core.truth_(column)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__35163__$3,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column);\n} else {\nreturn G__35163__$3;\n}\n}));\n");
SHADOW_ENV.evalLoad("clojure.datafy.js", true, "goog.provide(\x27clojure.datafy\x27);\n/**\n * Attempts to return x as data.\n * datafy will return the value of clojure.protocols/datafy. If\n * the value has been transformed and the result supports\n * metadata, :clojure.datafy/obj will be set on the metadata to the\n * original value of x.\n */\nclojure.datafy.datafy \x3d (function clojure$datafy$datafy(x){\nvar v \x3d clojure.core.protocols.datafy(x);\nif((v \x3d\x3d\x3d x)){\nreturn v;\n} else {\nif((((!((v \x3d\x3d null))))?(((((v.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d v.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(v,cljs.core.assoc,new cljs.core.Keyword(\x22clojure.datafy\x22,\x22obj\x22,\x22clojure.datafy/obj\x22,-330079421),x);\n} else {\nreturn v;\n}\n}\n});\n/**\n * Returns (possibly transformed) v in the context of coll and k (a\n * key/index or nil). Callers should attempt to provide the key/index\n * context k for Indexed/Associative/ILookup colls if possible, but not\n * to fabricate one e.g. for sequences (pass nil). nav will return the\n * value of clojure.core.protocols/nav.\n */\nclojure.datafy.nav \x3d (function clojure$datafy$nav(coll,k,v){\nreturn clojure.core.protocols.nav(coll,k,v);\n});\nclojure.datafy.datify_ref \x3d (function clojure$datafy$datify_ref(r){\nreturn cljs.core.with_meta(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref(r)], null),cljs.core.meta(r));\n});\n(Error.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(Error.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (x){\nvar x__$1 \x3d this;\nreturn cljs.core.Throwable__GT_map(x__$1);\n}));\n\n(cljs.core.ExceptionInfo.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.ExceptionInfo.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (x){\nvar x__$1 \x3d this;\nreturn cljs.core.Throwable__GT_map(x__$1);\n}));\n\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Var.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Reduced.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Atom.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Volatile.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Delay.prototype.clojure$core$protocols$Datafiable$datafy$arity$1 \x3d (function (r){\nvar r__$1 \x3d this;\nreturn clojure.datafy.datify_ref(r__$1);\n}));\n");
SHADOW_ENV.evalLoad("cljs.spec.gen.alpha.js", true, "goog.provide(\x27cljs.spec.gen.alpha\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IDeref}\n*/\ncljs.spec.gen.alpha.LazyVar \x3d (function (f,cached){\nthis.f \x3d f;\nthis.cached \x3d cached;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 32768;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.gen.alpha.LazyVar.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((!((self__.cached \x3d\x3d null)))){\nreturn self__.cached;\n} else {\nvar x \x3d (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null));\nif((x \x3d\x3d null)){\n} else {\n(self__.cached \x3d x);\n}\n\nreturn x;\n}\n}));\n\n(cljs.spec.gen.alpha.LazyVar.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22cached\x22,\x22cached\x22,-1216707864,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$type \x3d true);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorStr \x3d \x22cljs.spec.gen.alpha/LazyVar\x22);\n\n(cljs.spec.gen.alpha.LazyVar.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.gen.alpha/LazyVar\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.gen.alpha/LazyVar.\n */\ncljs.spec.gen.alpha.__GT_LazyVar \x3d (function cljs$spec$gen$alpha$__GT_LazyVar(f,cached){\nreturn (new cljs.spec.gen.alpha.LazyVar(f,cached));\n});\n\ncljs.spec.gen.alpha.quick_check_ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.quick_check !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.quick_check;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check\x22,\x22quick-check\x22,\x22clojure.test.check/quick-check\x22,-810344251,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.quick_check \x3d (function cljs$spec$gen$alpha$quick_check(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35785 \x3d arguments.length;\nvar i__5750__auto___35786 \x3d (0);\nwhile(true){\nif((i__5750__auto___35786 \x3c len__5749__auto___35785)){\nargs__5755__auto__.push((arguments[i__5750__auto___35786]));\n\nvar G__35787 \x3d (i__5750__auto___35786 + (1));\ni__5750__auto___35786 \x3d G__35787;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.quick_check_ref),args);\n}));\n\n(cljs.spec.gen.alpha.quick_check.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.quick_check.cljs$lang$applyTo \x3d (function (seq35172){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35172));\n}));\n\ncljs.spec.gen.alpha.for_all_STAR__ref \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.properties.for_all_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.properties.for_all_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.properties\x22,\x22for-all*\x22,\x22clojure.test.check.properties/for-all*\x22,67088845,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Dynamically loaded clojure.test.check.properties/for-all*.\n */\ncljs.spec.gen.alpha.for_all_STAR_ \x3d (function cljs$spec$gen$alpha$for_all_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35788 \x3d arguments.length;\nvar i__5750__auto___35789 \x3d (0);\nwhile(true){\nif((i__5750__auto___35789 \x3c len__5749__auto___35788)){\nargs__5755__auto__.push((arguments[i__5750__auto___35789]));\n\nvar G__35790 \x3d (i__5750__auto___35789 + (1));\ni__5750__auto___35789 \x3d G__35790;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.for_all_STAR__ref),args);\n}));\n\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.for_all_STAR_.cljs$lang$applyTo \x3d (function (seq35179){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35179));\n}));\n\nvar g_QMARK__35791 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generator_QMARK_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generator_QMARK_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generator?\x22,\x22clojure.test.check.generators/generator?\x22,-1378210460,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar g_35792 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.generate !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.generate;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22generate\x22,\x22clojure.test.check.generators/generate\x22,-690390711,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\nvar mkg_35793 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.__GT_Generator !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.__GT_Generator;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22-\x3eGenerator\x22,\x22clojure.test.check.generators/-\x3eGenerator\x22,-1179475051,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\ncljs.spec.gen.alpha.generator_QMARK_ \x3d (function cljs$spec$gen$alpha$generator_QMARK_(x){\nvar fexpr__35187 \x3d cljs.core.deref(g_QMARK__35791);\nreturn (fexpr__35187.cljs$core$IFn$_invoke$arity$1 ? fexpr__35187.cljs$core$IFn$_invoke$arity$1(x) : fexpr__35187.call(null,x));\n});\n\ncljs.spec.gen.alpha.generator \x3d (function cljs$spec$gen$alpha$generator(gfn){\nvar fexpr__35191 \x3d cljs.core.deref(mkg_35793);\nreturn (fexpr__35191.cljs$core$IFn$_invoke$arity$1 ? fexpr__35191.cljs$core$IFn$_invoke$arity$1(gfn) : fexpr__35191.call(null,gfn));\n});\n\n/**\n * Generate a single value using generator.\n */\ncljs.spec.gen.alpha.generate \x3d (function cljs$spec$gen$alpha$generate(generator){\nvar fexpr__35192 \x3d cljs.core.deref(g_35792);\nreturn (fexpr__35192.cljs$core$IFn$_invoke$arity$1 ? fexpr__35192.cljs$core$IFn$_invoke$arity$1(generator) : fexpr__35192.call(null,generator));\n});\ncljs.spec.gen.alpha.delay_impl \x3d (function cljs$spec$gen$alpha$delay_impl(gfnd){\nreturn cljs.spec.gen.alpha.generator((function (rnd,size){\nvar fexpr__35213 \x3d new cljs.core.Keyword(null,\x22gen\x22,\x22gen\x22,142575302).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(gfnd));\nreturn (fexpr__35213.cljs$core$IFn$_invoke$arity$2 ? fexpr__35213.cljs$core$IFn$_invoke$arity$2(rnd,size) : fexpr__35213.call(null,rnd,size));\n}));\n});\nvar g__13306__auto___35794 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.hash_map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.hash_map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22hash-map\x22,\x22clojure.test.check.generators/hash-map\x22,1961346626,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/hash-map\n */\ncljs.spec.gen.alpha.hash_map \x3d (function cljs$spec$gen$alpha$hash_map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35795 \x3d arguments.length;\nvar i__5750__auto___35796 \x3d (0);\nwhile(true){\nif((i__5750__auto___35796 \x3c len__5749__auto___35795)){\nargs__5755__auto__.push((arguments[i__5750__auto___35796]));\n\nvar G__35797 \x3d (i__5750__auto___35796 + (1));\ni__5750__auto___35796 \x3d G__35797;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.hash_map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35794),args);\n}));\n\n(cljs.spec.gen.alpha.hash_map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.hash_map.cljs$lang$applyTo \x3d (function (seq35217){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35217));\n}));\n\n\nvar g__13306__auto___35801 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.list !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.list;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22list\x22,\x22clojure.test.check.generators/list\x22,506971058,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/list\n */\ncljs.spec.gen.alpha.list \x3d (function cljs$spec$gen$alpha$list(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35802 \x3d arguments.length;\nvar i__5750__auto___35803 \x3d (0);\nwhile(true){\nif((i__5750__auto___35803 \x3c len__5749__auto___35802)){\nargs__5755__auto__.push((arguments[i__5750__auto___35803]));\n\nvar G__35804 \x3d (i__5750__auto___35803 + (1));\ni__5750__auto___35803 \x3d G__35804;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35801),args);\n}));\n\n(cljs.spec.gen.alpha.list.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.list.cljs$lang$applyTo \x3d (function (seq35223){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35223));\n}));\n\n\nvar g__13306__auto___35805 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.map !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.map;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22map\x22,\x22clojure.test.check.generators/map\x22,45738796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/map\n */\ncljs.spec.gen.alpha.map \x3d (function cljs$spec$gen$alpha$map(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35806 \x3d arguments.length;\nvar i__5750__auto___35807 \x3d (0);\nwhile(true){\nif((i__5750__auto___35807 \x3c len__5749__auto___35806)){\nargs__5755__auto__.push((arguments[i__5750__auto___35807]));\n\nvar G__35808 \x3d (i__5750__auto___35807 + (1));\ni__5750__auto___35807 \x3d G__35808;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35805),args);\n}));\n\n(cljs.spec.gen.alpha.map.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.map.cljs$lang$applyTo \x3d (function (seq35232){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35232));\n}));\n\n\nvar g__13306__auto___35809 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.not_empty !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.not_empty;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22not-empty\x22,\x22clojure.test.check.generators/not-empty\x22,-876211682,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/not-empty\n */\ncljs.spec.gen.alpha.not_empty \x3d (function cljs$spec$gen$alpha$not_empty(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35810 \x3d arguments.length;\nvar i__5750__auto___35811 \x3d (0);\nwhile(true){\nif((i__5750__auto___35811 \x3c len__5749__auto___35810)){\nargs__5755__auto__.push((arguments[i__5750__auto___35811]));\n\nvar G__35812 \x3d (i__5750__auto___35811 + (1));\ni__5750__auto___35811 \x3d G__35812;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.not_empty.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35809),args);\n}));\n\n(cljs.spec.gen.alpha.not_empty.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.not_empty.cljs$lang$applyTo \x3d (function (seq35248){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35248));\n}));\n\n\nvar g__13306__auto___35813 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.set !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.set;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22set\x22,\x22clojure.test.check.generators/set\x22,-1027639543,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/set\n */\ncljs.spec.gen.alpha.set \x3d (function cljs$spec$gen$alpha$set(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35825 \x3d arguments.length;\nvar i__5750__auto___35829 \x3d (0);\nwhile(true){\nif((i__5750__auto___35829 \x3c len__5749__auto___35825)){\nargs__5755__auto__.push((arguments[i__5750__auto___35829]));\n\nvar G__35833 \x3d (i__5750__auto___35829 + (1));\ni__5750__auto___35829 \x3d G__35833;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35813),args);\n}));\n\n(cljs.spec.gen.alpha.set.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.set.cljs$lang$applyTo \x3d (function (seq35252){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35252));\n}));\n\n\nvar g__13306__auto___35847 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector\x22,\x22clojure.test.check.generators/vector\x22,1081775325,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector\n */\ncljs.spec.gen.alpha.vector \x3d (function cljs$spec$gen$alpha$vector(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35853 \x3d arguments.length;\nvar i__5750__auto___35854 \x3d (0);\nwhile(true){\nif((i__5750__auto___35854 \x3c len__5749__auto___35853)){\nargs__5755__auto__.push((arguments[i__5750__auto___35854]));\n\nvar G__35856 \x3d (i__5750__auto___35854 + (1));\ni__5750__auto___35854 \x3d G__35856;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35847),args);\n}));\n\n(cljs.spec.gen.alpha.vector.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector.cljs$lang$applyTo \x3d (function (seq35279){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35279));\n}));\n\n\nvar g__13306__auto___35863 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.vector_distinct !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.vector_distinct;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22vector-distinct\x22,\x22clojure.test.check.generators/vector-distinct\x22,1656877834,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/vector-distinct\n */\ncljs.spec.gen.alpha.vector_distinct \x3d (function cljs$spec$gen$alpha$vector_distinct(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35870 \x3d arguments.length;\nvar i__5750__auto___35872 \x3d (0);\nwhile(true){\nif((i__5750__auto___35872 \x3c len__5749__auto___35870)){\nargs__5755__auto__.push((arguments[i__5750__auto___35872]));\n\nvar G__35873 \x3d (i__5750__auto___35872 + (1));\ni__5750__auto___35872 \x3d G__35873;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35863),args);\n}));\n\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.vector_distinct.cljs$lang$applyTo \x3d (function (seq35284){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35284));\n}));\n\n\nvar g__13306__auto___35898 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.fmap !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.fmap;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22fmap\x22,\x22clojure.test.check.generators/fmap\x22,1957997092,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/fmap\n */\ncljs.spec.gen.alpha.fmap \x3d (function cljs$spec$gen$alpha$fmap(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35911 \x3d arguments.length;\nvar i__5750__auto___35913 \x3d (0);\nwhile(true){\nif((i__5750__auto___35913 \x3c len__5749__auto___35911)){\nargs__5755__auto__.push((arguments[i__5750__auto___35913]));\n\nvar G__35917 \x3d (i__5750__auto___35913 + (1));\ni__5750__auto___35913 \x3d G__35917;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35898),args);\n}));\n\n(cljs.spec.gen.alpha.fmap.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.fmap.cljs$lang$applyTo \x3d (function (seq35304){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35304));\n}));\n\n\nvar g__13306__auto___35925 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.elements !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.elements;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22elements\x22,\x22clojure.test.check.generators/elements\x22,438991326,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/elements\n */\ncljs.spec.gen.alpha.elements \x3d (function cljs$spec$gen$alpha$elements(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35931 \x3d arguments.length;\nvar i__5750__auto___35932 \x3d (0);\nwhile(true){\nif((i__5750__auto___35932 \x3c len__5749__auto___35931)){\nargs__5755__auto__.push((arguments[i__5750__auto___35932]));\n\nvar G__35936 \x3d (i__5750__auto___35932 + (1));\ni__5750__auto___35932 \x3d G__35936;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35925),args);\n}));\n\n(cljs.spec.gen.alpha.elements.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.elements.cljs$lang$applyTo \x3d (function (seq35351){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35351));\n}));\n\n\nvar g__13306__auto___35962 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.bind !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.bind;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22bind\x22,\x22clojure.test.check.generators/bind\x22,-361313906,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/bind\n */\ncljs.spec.gen.alpha.bind \x3d (function cljs$spec$gen$alpha$bind(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35966 \x3d arguments.length;\nvar i__5750__auto___35967 \x3d (0);\nwhile(true){\nif((i__5750__auto___35967 \x3c len__5749__auto___35966)){\nargs__5755__auto__.push((arguments[i__5750__auto___35967]));\n\nvar G__35968 \x3d (i__5750__auto___35967 + (1));\ni__5750__auto___35967 \x3d G__35968;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35962),args);\n}));\n\n(cljs.spec.gen.alpha.bind.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.bind.cljs$lang$applyTo \x3d (function (seq35356){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35356));\n}));\n\n\nvar g__13306__auto___35971 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.choose !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.choose;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22choose\x22,\x22clojure.test.check.generators/choose\x22,909997832,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/choose\n */\ncljs.spec.gen.alpha.choose \x3d (function cljs$spec$gen$alpha$choose(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35972 \x3d arguments.length;\nvar i__5750__auto___35973 \x3d (0);\nwhile(true){\nif((i__5750__auto___35973 \x3c len__5749__auto___35972)){\nargs__5755__auto__.push((arguments[i__5750__auto___35973]));\n\nvar G__35974 \x3d (i__5750__auto___35973 + (1));\ni__5750__auto___35973 \x3d G__35974;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35971),args);\n}));\n\n(cljs.spec.gen.alpha.choose.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.choose.cljs$lang$applyTo \x3d (function (seq35390){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35390));\n}));\n\n\nvar g__13306__auto___35976 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.one_of !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.one_of;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22one-of\x22,\x22clojure.test.check.generators/one-of\x22,-183339191,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/one-of\n */\ncljs.spec.gen.alpha.one_of \x3d (function cljs$spec$gen$alpha$one_of(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35978 \x3d arguments.length;\nvar i__5750__auto___35979 \x3d (0);\nwhile(true){\nif((i__5750__auto___35979 \x3c len__5749__auto___35978)){\nargs__5755__auto__.push((arguments[i__5750__auto___35979]));\n\nvar G__35981 \x3d (i__5750__auto___35979 + (1));\ni__5750__auto___35979 \x3d G__35981;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35976),args);\n}));\n\n(cljs.spec.gen.alpha.one_of.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.one_of.cljs$lang$applyTo \x3d (function (seq35393){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35393));\n}));\n\n\nvar g__13306__auto___35983 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.such_that !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.such_that;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22such-that\x22,\x22clojure.test.check.generators/such-that\x22,-1754178732,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/such-that\n */\ncljs.spec.gen.alpha.such_that \x3d (function cljs$spec$gen$alpha$such_that(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35986 \x3d arguments.length;\nvar i__5750__auto___35988 \x3d (0);\nwhile(true){\nif((i__5750__auto___35988 \x3c len__5749__auto___35986)){\nargs__5755__auto__.push((arguments[i__5750__auto___35988]));\n\nvar G__35989 \x3d (i__5750__auto___35988 + (1));\ni__5750__auto___35988 \x3d G__35989;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35983),args);\n}));\n\n(cljs.spec.gen.alpha.such_that.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.such_that.cljs$lang$applyTo \x3d (function (seq35400){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35400));\n}));\n\n\nvar g__13306__auto___35992 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.tuple !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.tuple;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22tuple\x22,\x22clojure.test.check.generators/tuple\x22,-143711557,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/tuple\n */\ncljs.spec.gen.alpha.tuple \x3d (function cljs$spec$gen$alpha$tuple(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___35994 \x3d arguments.length;\nvar i__5750__auto___35995 \x3d (0);\nwhile(true){\nif((i__5750__auto___35995 \x3c len__5749__auto___35994)){\nargs__5755__auto__.push((arguments[i__5750__auto___35995]));\n\nvar G__35999 \x3d (i__5750__auto___35995 + (1));\ni__5750__auto___35995 \x3d G__35999;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___35992),args);\n}));\n\n(cljs.spec.gen.alpha.tuple.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.tuple.cljs$lang$applyTo \x3d (function (seq35410){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35410));\n}));\n\n\nvar g__13306__auto___36001 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.sample !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.sample;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22sample\x22,\x22clojure.test.check.generators/sample\x22,-382944992,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/sample\n */\ncljs.spec.gen.alpha.sample \x3d (function cljs$spec$gen$alpha$sample(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36005 \x3d arguments.length;\nvar i__5750__auto___36006 \x3d (0);\nwhile(true){\nif((i__5750__auto___36006 \x3c len__5749__auto___36005)){\nargs__5755__auto__.push((arguments[i__5750__auto___36006]));\n\nvar G__36007 \x3d (i__5750__auto___36006 + (1));\ni__5750__auto___36006 \x3d G__36007;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___36001),args);\n}));\n\n(cljs.spec.gen.alpha.sample.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.sample.cljs$lang$applyTo \x3d (function (seq35416){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35416));\n}));\n\n\nvar g__13306__auto___36015 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.return$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.return$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22return\x22,\x22clojure.test.check.generators/return\x22,1744522038,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/return\n */\ncljs.spec.gen.alpha.return$ \x3d (function cljs$spec$gen$alpha$return(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36018 \x3d arguments.length;\nvar i__5750__auto___36019 \x3d (0);\nwhile(true){\nif((i__5750__auto___36019 \x3c len__5749__auto___36018)){\nargs__5755__auto__.push((arguments[i__5750__auto___36019]));\n\nvar G__36020 \x3d (i__5750__auto___36019 + (1));\ni__5750__auto___36019 \x3d G__36020;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___36015),args);\n}));\n\n(cljs.spec.gen.alpha.return$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.return$.cljs$lang$applyTo \x3d (function (seq35431){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35431));\n}));\n\n\nvar g__13306__auto___36022 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer*\x22,\x22clojure.test.check.generators/large-integer*\x22,-437830670,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/large-integer*\n */\ncljs.spec.gen.alpha.large_integer_STAR_ \x3d (function cljs$spec$gen$alpha$large_integer_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36025 \x3d arguments.length;\nvar i__5750__auto___36026 \x3d (0);\nwhile(true){\nif((i__5750__auto___36026 \x3c len__5749__auto___36025)){\nargs__5755__auto__.push((arguments[i__5750__auto___36026]));\n\nvar G__36027 \x3d (i__5750__auto___36026 + (1));\ni__5750__auto___36026 \x3d G__36027;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___36022),args);\n}));\n\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer_STAR_.cljs$lang$applyTo \x3d (function (seq35439){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35439));\n}));\n\n\nvar g__13306__auto___36028 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double_STAR_ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double_STAR_;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double*\x22,\x22clojure.test.check.generators/double*\x22,841542265,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/double*\n */\ncljs.spec.gen.alpha.double_STAR_ \x3d (function cljs$spec$gen$alpha$double_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36031 \x3d arguments.length;\nvar i__5750__auto___36032 \x3d (0);\nwhile(true){\nif((i__5750__auto___36032 \x3c len__5749__auto___36031)){\nargs__5755__auto__.push((arguments[i__5750__auto___36032]));\n\nvar G__36033 \x3d (i__5750__auto___36032 + (1));\ni__5750__auto___36032 \x3d G__36033;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___36028),args);\n}));\n\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double_STAR_.cljs$lang$applyTo \x3d (function (seq35460){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35460));\n}));\n\n\nvar g__13306__auto___36036 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.frequency !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.frequency;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22frequency\x22,\x22clojure.test.check.generators/frequency\x22,2090703177,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/frequency\n */\ncljs.spec.gen.alpha.frequency \x3d (function cljs$spec$gen$alpha$frequency(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36037 \x3d arguments.length;\nvar i__5750__auto___36038 \x3d (0);\nwhile(true){\nif((i__5750__auto___36038 \x3c len__5749__auto___36037)){\nargs__5755__auto__.push((arguments[i__5750__auto___36038]));\n\nvar G__36040 \x3d (i__5750__auto___36038 + (1));\ni__5750__auto___36038 \x3d G__36040;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___36036),args);\n}));\n\n(cljs.spec.gen.alpha.frequency.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.frequency.cljs$lang$applyTo \x3d (function (seq35480){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35480));\n}));\n\n\nvar g__13306__auto___36041 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.shuffle !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.shuffle;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22shuffle\x22,\x22clojure.test.check.generators/shuffle\x22,1032401055,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Lazy loaded version of clojure.test.check.generators/shuffle\n */\ncljs.spec.gen.alpha.shuffle \x3d (function cljs$spec$gen$alpha$shuffle(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36044 \x3d arguments.length;\nvar i__5750__auto___36045 \x3d (0);\nwhile(true){\nif((i__5750__auto___36045 \x3c len__5749__auto___36044)){\nargs__5755__auto__.push((arguments[i__5750__auto___36045]));\n\nvar G__36046 \x3d (i__5750__auto___36045 + (1));\ni__5750__auto___36045 \x3d G__36046;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(g__13306__auto___36041),args);\n}));\n\n(cljs.spec.gen.alpha.shuffle.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.shuffle.cljs$lang$applyTo \x3d (function (seq35491){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35491));\n}));\n\nvar g__13319__auto___36048 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any\x22,\x22clojure.test.check.generators/any\x22,1883743710,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any\n */\ncljs.spec.gen.alpha.any \x3d (function cljs$spec$gen$alpha$any(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36051 \x3d arguments.length;\nvar i__5750__auto___36052 \x3d (0);\nwhile(true){\nif((i__5750__auto___36052 \x3c len__5749__auto___36051)){\nargs__5755__auto__.push((arguments[i__5750__auto___36052]));\n\nvar G__36053 \x3d (i__5750__auto___36052 + (1));\ni__5750__auto___36052 \x3d G__36053;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.any.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36048);\n}));\n\n(cljs.spec.gen.alpha.any.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any.cljs$lang$applyTo \x3d (function (seq35516){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35516));\n}));\n\n\nvar g__13319__auto___36055 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.any_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.any_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22any-printable\x22,\x22clojure.test.check.generators/any-printable\x22,-1570493991,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/any-printable\n */\ncljs.spec.gen.alpha.any_printable \x3d (function cljs$spec$gen$alpha$any_printable(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36057 \x3d arguments.length;\nvar i__5750__auto___36059 \x3d (0);\nwhile(true){\nif((i__5750__auto___36059 \x3c len__5749__auto___36057)){\nargs__5755__auto__.push((arguments[i__5750__auto___36059]));\n\nvar G__36060 \x3d (i__5750__auto___36059 + (1));\ni__5750__auto___36059 \x3d G__36060;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.any_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36055);\n}));\n\n(cljs.spec.gen.alpha.any_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.any_printable.cljs$lang$applyTo \x3d (function (seq35520){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35520));\n}));\n\n\nvar g__13319__auto___36062 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.boolean$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.boolean$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22boolean\x22,\x22clojure.test.check.generators/boolean\x22,1586992347,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/boolean\n */\ncljs.spec.gen.alpha.boolean$ \x3d (function cljs$spec$gen$alpha$boolean(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36065 \x3d arguments.length;\nvar i__5750__auto___36066 \x3d (0);\nwhile(true){\nif((i__5750__auto___36066 \x3c len__5749__auto___36065)){\nargs__5755__auto__.push((arguments[i__5750__auto___36066]));\n\nvar G__36067 \x3d (i__5750__auto___36066 + (1));\ni__5750__auto___36066 \x3d G__36067;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.boolean$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36062);\n}));\n\n(cljs.spec.gen.alpha.boolean$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.boolean$.cljs$lang$applyTo \x3d (function (seq35528){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35528));\n}));\n\n\nvar g__13319__auto___36070 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char\x22,\x22clojure.test.check.generators/char\x22,-1426343459,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char\n */\ncljs.spec.gen.alpha.char$ \x3d (function cljs$spec$gen$alpha$char(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36075 \x3d arguments.length;\nvar i__5750__auto___36076 \x3d (0);\nwhile(true){\nif((i__5750__auto___36076 \x3c len__5749__auto___36075)){\nargs__5755__auto__.push((arguments[i__5750__auto___36076]));\n\nvar G__36077 \x3d (i__5750__auto___36076 + (1));\ni__5750__auto___36076 \x3d G__36077;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36070);\n}));\n\n(cljs.spec.gen.alpha.char$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char$.cljs$lang$applyTo \x3d (function (seq35535){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35535));\n}));\n\n\nvar g__13319__auto___36080 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alpha !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alpha;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alpha\x22,\x22clojure.test.check.generators/char-alpha\x22,615785796,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alpha\n */\ncljs.spec.gen.alpha.char_alpha \x3d (function cljs$spec$gen$alpha$char_alpha(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36082 \x3d arguments.length;\nvar i__5750__auto___36083 \x3d (0);\nwhile(true){\nif((i__5750__auto___36083 \x3c len__5749__auto___36082)){\nargs__5755__auto__.push((arguments[i__5750__auto___36083]));\n\nvar G__36084 \x3d (i__5750__auto___36083 + (1));\ni__5750__auto___36083 \x3d G__36084;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alpha.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36080);\n}));\n\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alpha.cljs$lang$applyTo \x3d (function (seq35574){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35574));\n}));\n\n\nvar g__13319__auto___36086 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-alphanumeric\x22,\x22clojure.test.check.generators/char-alphanumeric\x22,1383091431,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-alphanumeric\n */\ncljs.spec.gen.alpha.char_alphanumeric \x3d (function cljs$spec$gen$alpha$char_alphanumeric(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36087 \x3d arguments.length;\nvar i__5750__auto___36088 \x3d (0);\nwhile(true){\nif((i__5750__auto___36088 \x3c len__5749__auto___36087)){\nargs__5755__auto__.push((arguments[i__5750__auto___36088]));\n\nvar G__36089 \x3d (i__5750__auto___36088 + (1));\ni__5750__auto___36088 \x3d G__36089;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36086);\n}));\n\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_alphanumeric.cljs$lang$applyTo \x3d (function (seq35582){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35582));\n}));\n\n\nvar g__13319__auto___36091 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.char_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.char_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22char-ascii\x22,\x22clojure.test.check.generators/char-ascii\x22,-899908538,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/char-ascii\n */\ncljs.spec.gen.alpha.char_ascii \x3d (function cljs$spec$gen$alpha$char_ascii(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36093 \x3d arguments.length;\nvar i__5750__auto___36094 \x3d (0);\nwhile(true){\nif((i__5750__auto___36094 \x3c len__5749__auto___36093)){\nargs__5755__auto__.push((arguments[i__5750__auto___36094]));\n\nvar G__36096 \x3d (i__5750__auto___36094 + (1));\ni__5750__auto___36094 \x3d G__36096;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.char_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36091);\n}));\n\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.char_ascii.cljs$lang$applyTo \x3d (function (seq35590){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35590));\n}));\n\n\nvar g__13319__auto___36099 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.double$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.double$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22double\x22,\x22clojure.test.check.generators/double\x22,668331090,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/double\n */\ncljs.spec.gen.alpha.double$ \x3d (function cljs$spec$gen$alpha$double(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36100 \x3d arguments.length;\nvar i__5750__auto___36101 \x3d (0);\nwhile(true){\nif((i__5750__auto___36101 \x3c len__5749__auto___36100)){\nargs__5755__auto__.push((arguments[i__5750__auto___36101]));\n\nvar G__36102 \x3d (i__5750__auto___36101 + (1));\ni__5750__auto___36101 \x3d G__36102;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.double$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36099);\n}));\n\n(cljs.spec.gen.alpha.double$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.double$.cljs$lang$applyTo \x3d (function (seq35600){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35600));\n}));\n\n\nvar g__13319__auto___36104 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.int$ !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.int$;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22int\x22,\x22clojure.test.check.generators/int\x22,1756228469,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/int\n */\ncljs.spec.gen.alpha.int$ \x3d (function cljs$spec$gen$alpha$int(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36106 \x3d arguments.length;\nvar i__5750__auto___36107 \x3d (0);\nwhile(true){\nif((i__5750__auto___36107 \x3c len__5749__auto___36106)){\nargs__5755__auto__.push((arguments[i__5750__auto___36107]));\n\nvar G__36108 \x3d (i__5750__auto___36107 + (1));\ni__5750__auto___36107 \x3d G__36108;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.int$.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36104);\n}));\n\n(cljs.spec.gen.alpha.int$.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.int$.cljs$lang$applyTo \x3d (function (seq35607){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35607));\n}));\n\n\nvar g__13319__auto___36110 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword\x22,\x22clojure.test.check.generators/keyword\x22,24530530,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword\n */\ncljs.spec.gen.alpha.keyword \x3d (function cljs$spec$gen$alpha$keyword(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36113 \x3d arguments.length;\nvar i__5750__auto___36114 \x3d (0);\nwhile(true){\nif((i__5750__auto___36114 \x3c len__5749__auto___36113)){\nargs__5755__auto__.push((arguments[i__5750__auto___36114]));\n\nvar G__36116 \x3d (i__5750__auto___36114 + (1));\ni__5750__auto___36114 \x3d G__36116;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36110);\n}));\n\n(cljs.spec.gen.alpha.keyword.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword.cljs$lang$applyTo \x3d (function (seq35610){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35610));\n}));\n\n\nvar g__13319__auto___36117 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.keyword_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.keyword_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22keyword-ns\x22,\x22clojure.test.check.generators/keyword-ns\x22,-1492628482,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/keyword-ns\n */\ncljs.spec.gen.alpha.keyword_ns \x3d (function cljs$spec$gen$alpha$keyword_ns(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36120 \x3d arguments.length;\nvar i__5750__auto___36121 \x3d (0);\nwhile(true){\nif((i__5750__auto___36121 \x3c len__5749__auto___36120)){\nargs__5755__auto__.push((arguments[i__5750__auto___36121]));\n\nvar G__36122 \x3d (i__5750__auto___36121 + (1));\ni__5750__auto___36121 \x3d G__36122;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36117);\n}));\n\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.keyword_ns.cljs$lang$applyTo \x3d (function (seq35613){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35613));\n}));\n\n\nvar g__13319__auto___36124 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.large_integer !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.large_integer;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22large-integer\x22,\x22clojure.test.check.generators/large-integer\x22,-865967138,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/large-integer\n */\ncljs.spec.gen.alpha.large_integer \x3d (function cljs$spec$gen$alpha$large_integer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36126 \x3d arguments.length;\nvar i__5750__auto___36127 \x3d (0);\nwhile(true){\nif((i__5750__auto___36127 \x3c len__5749__auto___36126)){\nargs__5755__auto__.push((arguments[i__5750__auto___36127]));\n\nvar G__36128 \x3d (i__5750__auto___36127 + (1));\ni__5750__auto___36127 \x3d G__36128;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.large_integer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36124);\n}));\n\n(cljs.spec.gen.alpha.large_integer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.large_integer.cljs$lang$applyTo \x3d (function (seq35625){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35625));\n}));\n\n\nvar g__13319__auto___36132 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.ratio !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.ratio;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22ratio\x22,\x22clojure.test.check.generators/ratio\x22,1540966915,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/ratio\n */\ncljs.spec.gen.alpha.ratio \x3d (function cljs$spec$gen$alpha$ratio(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36134 \x3d arguments.length;\nvar i__5750__auto___36135 \x3d (0);\nwhile(true){\nif((i__5750__auto___36135 \x3c len__5749__auto___36134)){\nargs__5755__auto__.push((arguments[i__5750__auto___36135]));\n\nvar G__36137 \x3d (i__5750__auto___36135 + (1));\ni__5750__auto___36135 \x3d G__36137;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.ratio.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36132);\n}));\n\n(cljs.spec.gen.alpha.ratio.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.ratio.cljs$lang$applyTo \x3d (function (seq35649){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35649));\n}));\n\n\nvar g__13319__auto___36139 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type\x22,\x22clojure.test.check.generators/simple-type\x22,892572284,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type\n */\ncljs.spec.gen.alpha.simple_type \x3d (function cljs$spec$gen$alpha$simple_type(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36141 \x3d arguments.length;\nvar i__5750__auto___36142 \x3d (0);\nwhile(true){\nif((i__5750__auto___36142 \x3c len__5749__auto___36141)){\nargs__5755__auto__.push((arguments[i__5750__auto___36142]));\n\nvar G__36143 \x3d (i__5750__auto___36142 + (1));\ni__5750__auto___36142 \x3d G__36143;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36139);\n}));\n\n(cljs.spec.gen.alpha.simple_type.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type.cljs$lang$applyTo \x3d (function (seq35657){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35657));\n}));\n\n\nvar g__13319__auto___36145 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.simple_type_printable !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.simple_type_printable;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22simple-type-printable\x22,\x22clojure.test.check.generators/simple-type-printable\x22,-58489962,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/simple-type-printable\n */\ncljs.spec.gen.alpha.simple_type_printable \x3d (function cljs$spec$gen$alpha$simple_type_printable(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36148 \x3d arguments.length;\nvar i__5750__auto___36149 \x3d (0);\nwhile(true){\nif((i__5750__auto___36149 \x3c len__5749__auto___36148)){\nargs__5755__auto__.push((arguments[i__5750__auto___36149]));\n\nvar G__36150 \x3d (i__5750__auto___36149 + (1));\ni__5750__auto___36149 \x3d G__36150;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36145);\n}));\n\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.simple_type_printable.cljs$lang$applyTo \x3d (function (seq35667){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35667));\n}));\n\n\nvar g__13319__auto___36152 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string\x22,\x22clojure.test.check.generators/string\x22,-1704750979,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string\n */\ncljs.spec.gen.alpha.string \x3d (function cljs$spec$gen$alpha$string(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36153 \x3d arguments.length;\nvar i__5750__auto___36154 \x3d (0);\nwhile(true){\nif((i__5750__auto___36154 \x3c len__5749__auto___36153)){\nargs__5755__auto__.push((arguments[i__5750__auto___36154]));\n\nvar G__36155 \x3d (i__5750__auto___36154 + (1));\ni__5750__auto___36154 \x3d G__36155;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.string.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36152);\n}));\n\n(cljs.spec.gen.alpha.string.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string.cljs$lang$applyTo \x3d (function (seq35691){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35691));\n}));\n\n\nvar g__13319__auto___36159 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_ascii !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_ascii;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-ascii\x22,\x22clojure.test.check.generators/string-ascii\x22,-2009877640,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-ascii\n */\ncljs.spec.gen.alpha.string_ascii \x3d (function cljs$spec$gen$alpha$string_ascii(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36161 \x3d arguments.length;\nvar i__5750__auto___36162 \x3d (0);\nwhile(true){\nif((i__5750__auto___36162 \x3c len__5749__auto___36161)){\nargs__5755__auto__.push((arguments[i__5750__auto___36162]));\n\nvar G__36163 \x3d (i__5750__auto___36162 + (1));\ni__5750__auto___36162 \x3d G__36163;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.string_ascii.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36159);\n}));\n\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_ascii.cljs$lang$applyTo \x3d (function (seq35701){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35701));\n}));\n\n\nvar g__13319__auto___36165 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.string_alphanumeric !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.string_alphanumeric;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22string-alphanumeric\x22,\x22clojure.test.check.generators/string-alphanumeric\x22,836374939,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/string-alphanumeric\n */\ncljs.spec.gen.alpha.string_alphanumeric \x3d (function cljs$spec$gen$alpha$string_alphanumeric(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36166 \x3d arguments.length;\nvar i__5750__auto___36167 \x3d (0);\nwhile(true){\nif((i__5750__auto___36167 \x3c len__5749__auto___36166)){\nargs__5755__auto__.push((arguments[i__5750__auto___36167]));\n\nvar G__36169 \x3d (i__5750__auto___36167 + (1));\ni__5750__auto___36167 \x3d G__36169;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36165);\n}));\n\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.string_alphanumeric.cljs$lang$applyTo \x3d (function (seq35708){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35708));\n}));\n\n\nvar g__13319__auto___36171 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol\x22,\x22clojure.test.check.generators/symbol\x22,-1305461065,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol\n */\ncljs.spec.gen.alpha.symbol \x3d (function cljs$spec$gen$alpha$symbol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36172 \x3d arguments.length;\nvar i__5750__auto___36173 \x3d (0);\nwhile(true){\nif((i__5750__auto___36173 \x3c len__5749__auto___36172)){\nargs__5755__auto__.push((arguments[i__5750__auto___36173]));\n\nvar G__36174 \x3d (i__5750__auto___36173 + (1));\ni__5750__auto___36173 \x3d G__36174;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36171);\n}));\n\n(cljs.spec.gen.alpha.symbol.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol.cljs$lang$applyTo \x3d (function (seq35713){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35713));\n}));\n\n\nvar g__13319__auto___36175 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.symbol_ns !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.symbol_ns;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22symbol-ns\x22,\x22clojure.test.check.generators/symbol-ns\x22,-862629490,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/symbol-ns\n */\ncljs.spec.gen.alpha.symbol_ns \x3d (function cljs$spec$gen$alpha$symbol_ns(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36176 \x3d arguments.length;\nvar i__5750__auto___36177 \x3d (0);\nwhile(true){\nif((i__5750__auto___36177 \x3c len__5749__auto___36176)){\nargs__5755__auto__.push((arguments[i__5750__auto___36177]));\n\nvar G__36179 \x3d (i__5750__auto___36177 + (1));\ni__5750__auto___36177 \x3d G__36179;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36175);\n}));\n\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.symbol_ns.cljs$lang$applyTo \x3d (function (seq35725){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35725));\n}));\n\n\nvar g__13319__auto___36180 \x3d (new cljs.spec.gen.alpha.LazyVar((function (){\nif((typeof clojure !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof clojure.test.check.generators.uuid !\x3d\x3d \x27undefined\x27)){\nreturn clojure.test.check.generators.uuid;\n} else {\nthrow (new Error([\x22Var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 does not exist, \x22,cljs.core.namespace(new cljs.core.Symbol(\x22clojure.test.check.generators\x22,\x22uuid\x22,\x22clojure.test.check.generators/uuid\x22,1589373144,null)),\x22 never required\x22].join(\x27\x27)));\n}\n}),null));\n/**\n * Fn returning clojure.test.check.generators/uuid\n */\ncljs.spec.gen.alpha.uuid \x3d (function cljs$spec$gen$alpha$uuid(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36183 \x3d arguments.length;\nvar i__5750__auto___36184 \x3d (0);\nwhile(true){\nif((i__5750__auto___36184 \x3c len__5749__auto___36183)){\nargs__5755__auto__.push((arguments[i__5750__auto___36184]));\n\nvar G__36185 \x3d (i__5750__auto___36184 + (1));\ni__5750__auto___36184 \x3d G__36185;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.uuid.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.deref(g__13319__auto___36180);\n}));\n\n(cljs.spec.gen.alpha.uuid.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.uuid.cljs$lang$applyTo \x3d (function (seq35732){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35732));\n}));\n\n/**\n * Returns a generator of a sequence catenated from results of\n * gens, each of which should generate something sequential.\n */\ncljs.spec.gen.alpha.cat \x3d (function cljs$spec$gen$alpha$cat(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___36187 \x3d arguments.length;\nvar i__5750__auto___36188 \x3d (0);\nwhile(true){\nif((i__5750__auto___36188 \x3c len__5749__auto___36187)){\nargs__5755__auto__.push((arguments[i__5750__auto___36188]));\n\nvar G__36189 \x3d (i__5750__auto___36188 + (1));\ni__5750__auto___36188 \x3d G__36189;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.gen.alpha.cat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (gens){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__35757_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__35757_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gens)], 0));\n}));\n\n(cljs.spec.gen.alpha.cat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.gen.alpha.cat.cljs$lang$applyTo \x3d (function (seq35759){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq35759));\n}));\n\ncljs.spec.gen.alpha.qualified_QMARK_ \x3d (function cljs$spec$gen$alpha$qualified_QMARK_(ident){\nreturn (!((cljs.core.namespace(ident) \x3d\x3d null)));\n});\ncljs.spec.gen.alpha.gen_builtins \x3d (new cljs.core.Delay((function (){\nvar simple \x3d cljs.spec.gen.alpha.simple_type_printable();\nreturn cljs.core.PersistentHashMap.fromArrays([cljs.core.qualified_keyword_QMARK_,cljs.core.seq_QMARK_,cljs.core.vector_QMARK_,cljs.core.any_QMARK_,cljs.core.boolean_QMARK_,cljs.core.char_QMARK_,cljs.core.some_QMARK_,cljs.core.inst_QMARK_,cljs.core.simple_symbol_QMARK_,cljs.core.sequential_QMARK_,cljs.core.float_QMARK_,cljs.core.set_QMARK_,cljs.core.map_QMARK_,cljs.core.empty_QMARK_,cljs.core.string_QMARK_,cljs.core.uri_QMARK_,cljs.core.double_QMARK_,cljs.core.int_QMARK_,cljs.core.associative_QMARK_,cljs.core.keyword_QMARK_,cljs.core.indexed_QMARK_,cljs.core.zero_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.neg_int_QMARK_,cljs.core.nil_QMARK_,cljs.core.ident_QMARK_,cljs.core.qualified_ident_QMARK_,cljs.core.true_QMARK_,cljs.core.integer_QMARK_,cljs.core.nat_int_QMARK_,cljs.core.pos_int_QMARK_,cljs.core.uuid_QMARK_,cljs.core.false_QMARK_,cljs.core.list_QMARK_,cljs.core.simple_ident_QMARK_,cljs.core.number_QMARK_,cljs.core.qualified_symbol_QMARK_,cljs.core.seqable_QMARK_,cljs.core.symbol_QMARK_,cljs.core.coll_QMARK_],[cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.keyword_ns()], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.any_printable()], null)], 0)),cljs.spec.gen.alpha.boolean$(),cljs.spec.gen.alpha.char$(),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.some_QMARK_,cljs.spec.gen.alpha.any_printable()], 0)),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__35771_SHARP_){\nreturn (new Date(p1__35771_SHARP_));\n}),cljs.spec.gen.alpha.large_integer()], 0)),cljs.spec.gen.alpha.symbol(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,cljs.core.List.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentArrayMap.EMPTY,cljs.core.PersistentHashSet.EMPTY], null)], 0)),cljs.spec.gen.alpha.string_alphanumeric(),cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__35770_SHARP_){\nreturn (new goog.Uri([\x22http://\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__35770_SHARP_),\x22.com\x22].join(\x27\x27)));\n}),cljs.spec.gen.alpha.uuid()], 0)),cljs.spec.gen.alpha.double$(),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0)),cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(0)], 0)),cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22max\x22,\x22max\x22,61366548),(-1)], null)], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword_ns(),cljs.spec.gen.alpha.symbol_ns()], null)], 0))], 0)),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([true], 0)),cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(0)], null)], 0)),cljs.spec.gen.alpha.large_integer_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22min\x22,\x22min\x22,444991522),(1)], null)], 0)),cljs.spec.gen.alpha.uuid(),cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([false], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.keyword(),cljs.spec.gen.alpha.symbol()], null)], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.large_integer(),cljs.spec.gen.alpha.double$()], null)], 0)),cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.qualified_QMARK_,cljs.spec.gen.alpha.symbol_ns()], 0)),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.string_alphanumeric()], null)], 0)),cljs.spec.gen.alpha.symbol_ns(),cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.gen.alpha.map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple,simple], 0)),cljs.spec.gen.alpha.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0)),cljs.spec.gen.alpha.set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([simple], 0))], null)], 0))]);\n}),null));\n/**\n * Given a predicate, returns a built-in generator if one exists.\n */\ncljs.spec.gen.alpha.gen_for_pred \x3d (function cljs$spec$gen$alpha$gen_for_pred(pred){\nif(cljs.core.set_QMARK_(pred)){\nreturn cljs.spec.gen.alpha.elements.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pred], 0));\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.gen.alpha.gen_builtins),pred);\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.spec.alpha.js", true, "goog.provide(\x27cljs.spec.alpha\x27);\ngoog.scope(function(){\n cljs.spec.alpha.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.spec.alpha.MAX_INT \x3d (9007199254740991);\n/**\n * A soft limit on how many times a branching spec (or/alt/* /opt-keys/multi-spec)\n * can be recursed through during generation. After this a\n * non-recursive branch will be chosen.\n */\ncljs.spec.alpha._STAR_recursion_limit_STAR_ \x3d (4);\n/**\n * The number of times an anonymous fn specified by fspec will be (generatively) tested during conform\n */\ncljs.spec.alpha._STAR_fspec_iterations_STAR_ \x3d (21);\n/**\n * The number of items validated in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_check_limit_STAR_ \x3d (101);\n/**\n * The number of errors reported by explain in a collection spec\x27ed with \x27every\x27\n */\ncljs.spec.alpha._STAR_coll_error_limit_STAR_ \x3d (20);\n\n/**\n * @interface\n */\ncljs.spec.alpha.Spec \x3d function(){};\n\nvar cljs$spec$alpha$Spec$conform_STAR_$dyn_37919 \x3d (function (spec,x){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.conform_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5374__auto__.call(null,spec,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.conform_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(spec,x) : m__5372__auto__.call(null,spec,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.conform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.conform_STAR_ \x3d (function cljs$spec$alpha$conform_STAR_(spec,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$conform_STAR_$arity$2(spec,x);\n} else {\nreturn cljs$spec$alpha$Spec$conform_STAR_$dyn_37919(spec,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$unform_STAR_$dyn_37920 \x3d (function (spec,y){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.unform_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5374__auto__.call(null,spec,y));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.unform_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(spec,y) : m__5372__auto__.call(null,spec,y));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.unform*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.unform_STAR_ \x3d (function cljs$spec$alpha$unform_STAR_(spec,y){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$unform_STAR_$arity$2(spec,y);\n} else {\nreturn cljs$spec$alpha$Spec$unform_STAR_$dyn_37920(spec,y);\n}\n});\n\nvar cljs$spec$alpha$Spec$explain_STAR_$dyn_37921 \x3d (function (spec,path,via,in$,x){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.explain_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5374__auto__.call(null,spec,path,via,in$,x));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.explain_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(spec,path,via,in$,x) : m__5372__auto__.call(null,spec,path,via,in$,x));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.explain*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.explain_STAR_ \x3d (function cljs$spec$alpha$explain_STAR_(spec,path,via,in$,x){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$explain_STAR_$arity$5(spec,path,via,in$,x);\n} else {\nreturn cljs$spec$alpha$Spec$explain_STAR_$dyn_37921(spec,path,via,in$,x);\n}\n});\n\nvar cljs$spec$alpha$Spec$gen_STAR_$dyn_37922 \x3d (function (spec,overrides,path,rmap){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.gen_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5374__auto__.call(null,spec,overrides,path,rmap));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.gen_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(spec,overrides,path,rmap) : m__5372__auto__.call(null,spec,overrides,path,rmap));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.gen_STAR_ \x3d (function cljs$spec$alpha$gen_STAR_(spec,overrides,path,rmap){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$gen_STAR_$arity$4(spec,overrides,path,rmap);\n} else {\nreturn cljs$spec$alpha$Spec$gen_STAR_$dyn_37922(spec,overrides,path,rmap);\n}\n});\n\nvar cljs$spec$alpha$Spec$with_gen_STAR_$dyn_37924 \x3d (function (spec,gfn){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5374__auto__.call(null,spec,gfn));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.with_gen_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(spec,gfn) : m__5372__auto__.call(null,spec,gfn));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.with-gen*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.with_gen_STAR_ \x3d (function cljs$spec$alpha$with_gen_STAR_(spec,gfn){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2(spec,gfn);\n} else {\nreturn cljs$spec$alpha$Spec$with_gen_STAR_$dyn_37924(spec,gfn);\n}\n});\n\nvar cljs$spec$alpha$Spec$describe_STAR_$dyn_37925 \x3d (function (spec){\nvar x__5373__auto__ \x3d (((spec \x3d\x3d null))?null:spec);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.describe_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5374__auto__.call(null,spec));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.describe_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(spec) : m__5372__auto__.call(null,spec));\n} else {\nthrow cljs.core.missing_protocol(\x22Spec.describe*\x22,spec);\n}\n}\n});\ncljs.spec.alpha.describe_STAR_ \x3d (function cljs$spec$alpha$describe_STAR_(spec){\nif((((!((spec \x3d\x3d null)))) \x26\x26 ((!((spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d\x3d null)))))){\nreturn spec.cljs$spec$alpha$Spec$describe_STAR_$arity$1(spec);\n} else {\nreturn cljs$spec$alpha$Spec$describe_STAR_$dyn_37925(spec);\n}\n});\n\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha.registry_ref !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha.registry_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\ncljs.spec.alpha.deep_resolve \x3d (function cljs$spec$alpha$deep_resolve(reg,k){\nvar spec \x3d k;\nwhile(true){\nif(cljs.core.ident_QMARK_(spec)){\nvar G__37931 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,spec);\nspec \x3d G__37931;\ncontinue;\n} else {\nreturn spec;\n}\nbreak;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, nil if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve \x3d (function cljs$spec$alpha$reg_resolve(k){\nif(cljs.core.ident_QMARK_(k)){\nvar reg \x3d cljs.core.deref(cljs.spec.alpha.registry_ref);\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,k);\nif((!(cljs.core.ident_QMARK_(spec)))){\nreturn spec;\n} else {\nreturn cljs.spec.alpha.deep_resolve(reg,spec);\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns the spec/regex at end of alias chain starting with k, throws if not found, k if k not ident\n */\ncljs.spec.alpha.reg_resolve_BANG_ \x3d (function cljs$spec$alpha$reg_resolve_BANG_(k){\nif(cljs.core.ident_QMARK_(k)){\nvar or__5025__auto__ \x3d cljs.spec.alpha.reg_resolve(k);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27)));\n}\n} else {\nreturn k;\n}\n});\n/**\n * returns x if x is a spec object, else logical false\n */\ncljs.spec.alpha.spec_QMARK_ \x3d (function cljs$spec$alpha$spec_QMARK_(x){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$spec$alpha$Spec$))))?true:false):false)){\nreturn x;\n} else {\nreturn null;\n}\n});\n/**\n * returns x if x is a (cljs.spec.alpha) regex op, else logical false\n */\ncljs.spec.alpha.regex_QMARK_ \x3d (function cljs$spec$alpha$regex_QMARK_(x){\nvar and__5023__auto__ \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(x);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn x;\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.spec.alpha.with_name \x3d (function cljs$spec$alpha$with_name(spec,name){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(spec,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(spec),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570),name));\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.spec_name \x3d (function cljs$spec$alpha$spec_name(spec){\nif(cljs.core.ident_QMARK_(spec)){\nreturn spec;\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(spec);\n} else {\nif((((!((spec \x3d\x3d null))))?(((((spec.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d spec.cljs$core$IMeta$))))?true:false):false)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22name\x22,\x22cljs.spec.alpha/name\x22,205233570).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(spec));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * spec-or-k must be a spec, regex or resolvable kw/sym, else returns nil.\n */\ncljs.spec.alpha.maybe_spec \x3d (function cljs$spec$alpha$maybe_spec(spec_or_k){\nvar s \x3d (function (){var or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d cljs.core.ident_QMARK_(spec_or_k);\nif(and__5023__auto__){\nreturn cljs.spec.alpha.reg_resolve(spec_or_k);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.spec.alpha.spec_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d cljs.spec.alpha.regex_QMARK_(spec_or_k);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn null;\n}\n}\n}\n})();\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(s))){\nreturn cljs.spec.alpha.with_name(cljs.spec.alpha.regex_spec_impl(s,null),cljs.spec.alpha.spec_name(s));\n} else {\nreturn s;\n}\n});\n/**\n * spec-or-k must be a spec, regex or kw/sym, else returns nil. Throws if unresolvable kw/sym\n */\ncljs.spec.alpha.the_spec \x3d (function cljs$spec$alpha$the_spec(spec_or_k){\nvar or__5025__auto__ \x3d cljs.spec.alpha.maybe_spec(spec_or_k);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.ident_QMARK_(spec_or_k)){\nthrow (new Error([\x22Unable to resolve spec: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec_or_k)].join(\x27\x27)));\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.fn_sym \x3d (function cljs$spec$alpha$fn_sym(f_n){\nif(clojure.string.blank_QMARK_(f_n)){\nreturn null;\n} else {\nvar xs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.demunge,clojure.string.split.cljs$core$IFn$_invoke$arity$2(f_n,\x22$\x22));\nif(((((2) \x3c\x3d cljs.core.count(xs))) \x26\x26 (cljs.core.every_QMARK_((function (p1__36061_SHARP_){\nreturn (!(clojure.string.blank_QMARK_(p1__36061_SHARP_)));\n}),xs)))){\nvar vec__36071 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.butlast,cljs.core.last)(xs);\nvar xs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36071,(0),null);\nvar y \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36071,(1),null);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22.\x22,xs__$1),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join(\x27\x27));\n} else {\nreturn null;\n}\n}\n});\n\n/**\n * @interface\n */\ncljs.spec.alpha.Specize \x3d function(){};\n\nvar cljs$spec$alpha$Specize$specize_STAR_$dyn_37944 \x3d (function() {\nvar G__37945 \x3d null;\nvar G__37945__1 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nvar G__37945__2 \x3d (function (_,form){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (cljs.spec.alpha.specize_STAR_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5374__auto__.call(null,_,form));\n} else {\nvar m__5372__auto__ \x3d (cljs.spec.alpha.specize_STAR_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(_,form) : m__5372__auto__.call(null,_,form));\n} else {\nthrow cljs.core.missing_protocol(\x22Specize.specize*\x22,_);\n}\n}\n});\nG__37945 \x3d function(_,form){\nswitch(arguments.length){\ncase 1:\nreturn G__37945__1.call(this,_);\ncase 2:\nreturn G__37945__2.call(this,_,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__37945.cljs$core$IFn$_invoke$arity$1 \x3d G__37945__1;\nG__37945.cljs$core$IFn$_invoke$arity$2 \x3d G__37945__2;\nreturn G__37945;\n})()\n;\ncljs.spec.alpha.specize_STAR_ \x3d (function cljs$spec$alpha$specize_STAR_(var_args){\nvar G__36097 \x3d arguments.length;\nswitch (G__36097) {\ncase 1:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$1(_);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_37944(_);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,form){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d\x3d null)))))){\nreturn _.cljs$spec$alpha$Specize$specize_STAR_$arity$2(_,form);\n} else {\nreturn cljs$spec$alpha$Specize$specize_STAR_$dyn_37944(_,form);\n}\n}));\n\n(cljs.spec.alpha.specize_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (k){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Keyword.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (k,_){\nvar k__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(k__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.Symbol.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.specize_STAR_(cljs.spec.alpha.reg_resolve_BANG_(s__$1));\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentHashSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(s__$1,s__$1,null,null);\n}));\n\n(cljs.core.PersistentTreeSet.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,form){\nvar s__$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,s__$1,null,null);\n}));\n\n(cljs.spec.alpha.Specize[\x22_\x22] \x3d true);\n\n(cljs.spec.alpha.specize_STAR_[\x22_\x22] \x3d (function() {\nvar G__37957 \x3d null;\nvar G__37957__1 \x3d (function (o){\nvar temp__5821__auto__ \x3d (function (){var and__5023__auto__ \x3d cljs.core.fn_QMARK_(o);\nif(and__5023__auto__){\nreturn cljs.spec.alpha.fn_sym(o.name);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar f_n \x3d temp__5821__auto__;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(f_n,o,null,null);\n} else {\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818),o,null,null);\n}\n});\nvar G__37957__2 \x3d (function (o,form){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,o,null,null);\n});\nG__37957 \x3d function(o,form){\nswitch(arguments.length){\ncase 1:\nreturn G__37957__1.call(this,o);\ncase 2:\nreturn G__37957__2.call(this,o,form);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__37957.cljs$core$IFn$_invoke$arity$1 \x3d G__37957__1;\nG__37957.cljs$core$IFn$_invoke$arity$2 \x3d G__37957__2;\nreturn G__37957;\n})()\n);\ncljs.spec.alpha.specize \x3d (function cljs$spec$alpha$specize(var_args){\nvar G__36157 \x3d arguments.length;\nswitch (G__36157) {\ncase 1:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar or__5025__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,form){\nvar or__5025__auto__ \x3d cljs.spec.alpha.spec_QMARK_(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.specize_STAR_(s,form);\n}\n}));\n\n(cljs.spec.alpha.specize.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * tests the validity of a conform return value\n */\ncljs.spec.alpha.invalid_QMARK_ \x3d (function cljs$spec$alpha$invalid_QMARK_(ret){\nreturn cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119),ret);\n});\n/**\n * Given a spec and a value, returns :cljs.spec.alpha/invalid if value does\n * not match spec, else the (possibly destructured) value.\n */\ncljs.spec.alpha.conform \x3d (function cljs$spec$alpha$conform(spec,x){\nreturn cljs.spec.alpha.conform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * Given a spec and a value created by or compliant with a call to\n * \x27conform\x27 with the same spec, returns a value with all conform\n * destructuring undone.\n */\ncljs.spec.alpha.unform \x3d (function cljs$spec$alpha$unform(spec,x){\nreturn cljs.spec.alpha.unform_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),x);\n});\n/**\n * returns the spec as data\n */\ncljs.spec.alpha.form \x3d (function cljs$spec$alpha$form(spec){\nreturn cljs.spec.alpha.describe_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec));\n});\ncljs.spec.alpha.abbrev \x3d (function cljs$spec$alpha$abbrev(form){\nif(cljs.core.seq_QMARK_(form)){\nreturn clojure.walk.postwalk((function (form__$1){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (form__$1 instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nreturn cljs.core.namespace(form__$1);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form__$1));\n} else {\nif(((cljs.core.seq_QMARK_(form__$1)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),cljs.core.first(form__$1))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.second(form__$1))))))){\nreturn cljs.core.last(form__$1);\n} else {\nreturn form__$1;\n\n}\n}\n}),form);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (form instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nreturn cljs.core.namespace(form);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(form));\n} else {\nreturn form;\n\n}\n}\n});\n/**\n * returns an abbreviated description of the spec as data\n */\ncljs.spec.alpha.describe \x3d (function cljs$spec$alpha$describe(spec){\nreturn cljs.spec.alpha.abbrev(cljs.spec.alpha.form(spec));\n});\n/**\n * Takes a spec and a no-arg, generator-returning fn and returns a version of that spec that uses that generator\n */\ncljs.spec.alpha.with_gen \x3d (function cljs$spec$alpha$with_gen(spec,gen_fn){\nvar spec__$1 \x3d cljs.spec.alpha.reg_resolve(spec);\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(spec__$1))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(spec__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375),gen_fn);\n} else {\nreturn cljs.spec.alpha.with_gen_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec__$1),gen_fn);\n}\n});\ncljs.spec.alpha.explain_data_STAR_ \x3d (function cljs$spec$alpha$explain_data_STAR_(spec,path,via,in$,x){\nvar temp__5823__auto__ \x3d cljs.spec.alpha.explain_STAR_(cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec),path,via,in$,x);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar probs \x3d temp__5823__auto__;\nif(cljs.core.empty_QMARK_(probs)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),probs,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22spec\x22,\x22cljs.spec.alpha/spec\x22,1947137578),spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22value\x22,\x22cljs.spec.alpha/value\x22,1974786274),x], null);\n}\n} else {\nreturn null;\n}\n});\n/**\n * Given a spec and a value x which ought to conform, returns nil if x\n * conforms, else a map with at least the key ::problems whose value is\n * a collection of problem-maps, where problem-map has at least :path :pred and :val\n * keys describing the predicate and the value that failed at that\n * path.\n */\ncljs.spec.alpha.explain_data \x3d (function cljs$spec$alpha$explain_data(spec,x){\nreturn cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5821__auto__ \x3d cljs.spec.alpha.spec_name(spec);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar name \x3d temp__5821__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,x);\n});\n/**\n * Default printer for explain-data. nil indicates a successful validation.\n */\ncljs.spec.alpha.explain_printer \x3d (function cljs$spec$alpha$explain_printer(ed){\nif(cljs.core.truth_(ed)){\nvar problems \x3d cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__36194_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(p1__36194_SHARP_)));\n}),cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((function (p1__36193_SHARP_){\nreturn (- cljs.core.count(new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865).cljs$core$IFn$_invoke$arity$1(p1__36193_SHARP_)));\n}),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814).cljs$core$IFn$_invoke$arity$1(ed)));\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__36195_37981 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__36196_37982 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__36197_37983 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__36198_37984 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__36197_37983);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__36198_37984);\n\ntry{var seq__36199_37987 \x3d cljs.core.seq(problems);\nvar chunk__36200_37988 \x3d null;\nvar count__36201_37989 \x3d (0);\nvar i__36202_37990 \x3d (0);\nwhile(true){\nif((i__36202_37990 \x3c count__36201_37989)){\nvar map__36249_37991 \x3d chunk__36200_37988.cljs$core$IIndexed$_nth$arity$2(null,i__36202_37990);\nvar map__36249_37992__$1 \x3d cljs.core.__destructure_map(map__36249_37991);\nvar prob_37993 \x3d map__36249_37992__$1;\nvar path_37994 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36249_37992__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_37995 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36249_37992__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_37997 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36249_37992__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_37998 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36249_37992__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_37999 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36249_37992__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_38000 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36249_37992__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_37997], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_37998)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_37998], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_37995)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_38000)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_38000], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_37994)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_37994], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_37999)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_37999)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__36253_38006 \x3d cljs.core.seq(prob_37993);\nvar chunk__36254_38007 \x3d null;\nvar count__36255_38008 \x3d (0);\nvar i__36256_38009 \x3d (0);\nwhile(true){\nif((i__36256_38009 \x3c count__36255_38008)){\nvar vec__36267_38010 \x3d chunk__36254_38007.cljs$core$IIndexed$_nth$arity$2(null,i__36256_38009);\nvar k_38011 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36267_38010,(0),null);\nvar v_38014 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36267_38010,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36270 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36270.cljs$core$IFn$_invoke$arity$1 ? fexpr__36270.cljs$core$IFn$_invoke$arity$1(k_38011) : fexpr__36270.call(null,k_38011));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_38011], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_38014], 0));\n}\n\n\nvar G__38019 \x3d seq__36253_38006;\nvar G__38020 \x3d chunk__36254_38007;\nvar G__38021 \x3d count__36255_38008;\nvar G__38022 \x3d (i__36256_38009 + (1));\nseq__36253_38006 \x3d G__38019;\nchunk__36254_38007 \x3d G__38020;\ncount__36255_38008 \x3d G__38021;\ni__36256_38009 \x3d G__38022;\ncontinue;\n} else {\nvar temp__5823__auto___38023 \x3d cljs.core.seq(seq__36253_38006);\nif(temp__5823__auto___38023){\nvar seq__36253_38025__$1 \x3d temp__5823__auto___38023;\nif(cljs.core.chunked_seq_QMARK_(seq__36253_38025__$1)){\nvar c__5548__auto___38026 \x3d cljs.core.chunk_first(seq__36253_38025__$1);\nvar G__38027 \x3d cljs.core.chunk_rest(seq__36253_38025__$1);\nvar G__38028 \x3d c__5548__auto___38026;\nvar G__38029 \x3d cljs.core.count(c__5548__auto___38026);\nvar G__38030 \x3d (0);\nseq__36253_38006 \x3d G__38027;\nchunk__36254_38007 \x3d G__38028;\ncount__36255_38008 \x3d G__38029;\ni__36256_38009 \x3d G__38030;\ncontinue;\n} else {\nvar vec__36271_38032 \x3d cljs.core.first(seq__36253_38025__$1);\nvar k_38033 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36271_38032,(0),null);\nvar v_38034 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36271_38032,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36274 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36274.cljs$core$IFn$_invoke$arity$1 ? fexpr__36274.cljs$core$IFn$_invoke$arity$1(k_38033) : fexpr__36274.call(null,k_38033));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_38033], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_38034], 0));\n}\n\n\nvar G__38036 \x3d cljs.core.next(seq__36253_38025__$1);\nvar G__38037 \x3d null;\nvar G__38038 \x3d (0);\nvar G__38039 \x3d (0);\nseq__36253_38006 \x3d G__38036;\nchunk__36254_38007 \x3d G__38037;\ncount__36255_38008 \x3d G__38038;\ni__36256_38009 \x3d G__38039;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__38041 \x3d seq__36199_37987;\nvar G__38042 \x3d chunk__36200_37988;\nvar G__38043 \x3d count__36201_37989;\nvar G__38044 \x3d (i__36202_37990 + (1));\nseq__36199_37987 \x3d G__38041;\nchunk__36200_37988 \x3d G__38042;\ncount__36201_37989 \x3d G__38043;\ni__36202_37990 \x3d G__38044;\ncontinue;\n} else {\nvar temp__5823__auto___38049 \x3d cljs.core.seq(seq__36199_37987);\nif(temp__5823__auto___38049){\nvar seq__36199_38050__$1 \x3d temp__5823__auto___38049;\nif(cljs.core.chunked_seq_QMARK_(seq__36199_38050__$1)){\nvar c__5548__auto___38051 \x3d cljs.core.chunk_first(seq__36199_38050__$1);\nvar G__38052 \x3d cljs.core.chunk_rest(seq__36199_38050__$1);\nvar G__38053 \x3d c__5548__auto___38051;\nvar G__38054 \x3d cljs.core.count(c__5548__auto___38051);\nvar G__38055 \x3d (0);\nseq__36199_37987 \x3d G__38052;\nchunk__36200_37988 \x3d G__38053;\ncount__36201_37989 \x3d G__38054;\ni__36202_37990 \x3d G__38055;\ncontinue;\n} else {\nvar map__36275_38056 \x3d cljs.core.first(seq__36199_38050__$1);\nvar map__36275_38057__$1 \x3d cljs.core.__destructure_map(map__36275_38056);\nvar prob_38058 \x3d map__36275_38057__$1;\nvar path_38059 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36275_38057__$1,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168));\nvar pred_38060 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36275_38057__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397));\nvar val_38061 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36275_38057__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612));\nvar reason_38062 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36275_38057__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759));\nvar via_38063 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36275_38057__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar in_38064 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36275_38057__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val_38061], 0));\n\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 - failed: \x22], 0));\n\nif(cljs.core.truth_(reason_38062)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([reason_38062], 0));\n} else {\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.abbrev(pred_38060)], 0));\n}\n\nif(cljs.core.empty_QMARK_(in_38064)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 in: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([in_38064], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(path_38059)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 at: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_38059], 0))].join(\x27\x27)], 0));\n}\n\nif(cljs.core.empty_QMARK_(via_38063)){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22 spec: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.last(via_38063)], 0))].join(\x27\x27)], 0));\n}\n\nvar seq__36276_38066 \x3d cljs.core.seq(prob_38058);\nvar chunk__36277_38067 \x3d null;\nvar count__36278_38068 \x3d (0);\nvar i__36279_38069 \x3d (0);\nwhile(true){\nif((i__36279_38069 \x3c count__36278_38068)){\nvar vec__36291_38070 \x3d chunk__36277_38067.cljs$core$IIndexed$_nth$arity$2(null,i__36279_38069);\nvar k_38071 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36291_38070,(0),null);\nvar v_38072 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36291_38070,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36294 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36294.cljs$core$IFn$_invoke$arity$1 ? fexpr__36294.cljs$core$IFn$_invoke$arity$1(k_38071) : fexpr__36294.call(null,k_38071));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_38071], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_38072], 0));\n}\n\n\nvar G__38075 \x3d seq__36276_38066;\nvar G__38076 \x3d chunk__36277_38067;\nvar G__38077 \x3d count__36278_38068;\nvar G__38078 \x3d (i__36279_38069 + (1));\nseq__36276_38066 \x3d G__38075;\nchunk__36277_38067 \x3d G__38076;\ncount__36278_38068 \x3d G__38077;\ni__36279_38069 \x3d G__38078;\ncontinue;\n} else {\nvar temp__5823__auto___38079__$1 \x3d cljs.core.seq(seq__36276_38066);\nif(temp__5823__auto___38079__$1){\nvar seq__36276_38080__$1 \x3d temp__5823__auto___38079__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__36276_38080__$1)){\nvar c__5548__auto___38082 \x3d cljs.core.chunk_first(seq__36276_38080__$1);\nvar G__38083 \x3d cljs.core.chunk_rest(seq__36276_38080__$1);\nvar G__38084 \x3d c__5548__auto___38082;\nvar G__38085 \x3d cljs.core.count(c__5548__auto___38082);\nvar G__38086 \x3d (0);\nseq__36276_38066 \x3d G__38083;\nchunk__36277_38067 \x3d G__38084;\ncount__36278_38068 \x3d G__38085;\ni__36279_38069 \x3d G__38086;\ncontinue;\n} else {\nvar vec__36295_38087 \x3d cljs.core.first(seq__36276_38080__$1);\nvar k_38089 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36295_38087,(0),null);\nvar v_38092 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36295_38087,(1),null);\nif(cljs.core.truth_((function (){var fexpr__36298 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),null,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),null,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),null,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),null,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),null,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),null], null), null);\nreturn (fexpr__36298.cljs$core$IFn$_invoke$arity$1 ? fexpr__36298.cljs$core$IFn$_invoke$arity$1(k_38089) : fexpr__36298.call(null,k_38089));\n})())){\n} else {\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\n\\t\x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k_38089], 0)),\x22 \x22], 0));\n\ncljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v_38092], 0));\n}\n\n\nvar G__38100 \x3d cljs.core.next(seq__36276_38080__$1);\nvar G__38101 \x3d null;\nvar G__38102 \x3d (0);\nvar G__38103 \x3d (0);\nseq__36276_38066 \x3d G__38100;\nchunk__36277_38067 \x3d G__38101;\ncount__36278_38068 \x3d G__38102;\ni__36279_38069 \x3d G__38103;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\ncljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n\n\nvar G__38106 \x3d cljs.core.next(seq__36199_38050__$1);\nvar G__38107 \x3d null;\nvar G__38108 \x3d (0);\nvar G__38109 \x3d (0);\nseq__36199_37987 \x3d G__38106;\nchunk__36200_37988 \x3d G__38107;\ncount__36201_37989 \x3d G__38108;\ni__36202_37990 \x3d G__38109;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__36196_37982);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__36195_37981);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})()], 0));\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Success!\x22], 0));\n}\n});\ncljs.spec.alpha._STAR_explain_out_STAR_ \x3d cljs.spec.alpha.explain_printer;\n/**\n * Prints explanation data (per \x27explain-data\x27) to *out* using the printer in *explain-out*,\n * by default explain-printer.\n */\ncljs.spec.alpha.explain_out \x3d (function cljs$spec$alpha$explain_out(ed){\nreturn cljs.spec.alpha._STAR_explain_out_STAR_.call(null,ed);\n});\n/**\n * Given a spec and a value that fails to conform, prints an explanation to *out*.\n */\ncljs.spec.alpha.explain \x3d (function cljs$spec$alpha$explain(spec,x){\nreturn cljs.spec.alpha.explain_out(cljs.spec.alpha.explain_data(spec,x));\n});\n/**\n * Given a spec and a value that fails to conform, returns an explanation as a string.\n */\ncljs.spec.alpha.explain_str \x3d (function cljs$spec$alpha$explain_str(spec,x){\nvar sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__36299_38111 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__36300_38112 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__36301_38113 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__36302_38114 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__36301_38113);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__36302_38114);\n\ntry{cljs.spec.alpha.explain(spec,x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__36300_38112);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__36299_38111);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n});\ncljs.spec.alpha.gensub \x3d (function cljs$spec$alpha$gensub(spec,overrides,path,rmap,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nvar temp__5821__auto__ \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,(function (){var or__5025__auto__ \x3d cljs.spec.alpha.spec_name(spec__$1);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn spec__$1;\n}\n})());\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar gfn \x3d temp__5823__auto__;\nreturn (gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.gen_STAR_(spec__$1,overrides,path,rmap);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar g \x3d temp__5821__auto__;\nreturn cljs.spec.gen.alpha.such_that.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36303_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,p1__36303_SHARP_);\n}),g,(100)], 0));\n} else {\nthrow (new Error([\x22Unable to construct gen at: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(path),\x22 for: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.abbrev(form))].join(\x27\x27)));\n}\n});\n/**\n * Given a spec, returns the generator for it, or throws if none can\n * be constructed. Optionally an overrides map can be provided which\n * should map spec names or paths (vectors of keywords) to no-arg\n * generator-creating fns. These will be used instead of the generators at those\n * names/paths. Note that parent generator (in the spec or overrides\n * map) will supersede those of any subtrees. A generator for a regex\n * op must always return a sequential collection (i.e. a generator for\n * s/? should return either an empty sequence/vector or a\n * sequence/vector with one item in it)\n */\ncljs.spec.alpha.gen \x3d (function cljs$spec$alpha$gen(var_args){\nvar G__36328 \x3d arguments.length;\nswitch (G__36328) {\ncase 1:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,null);\n}));\n\n(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,overrides){\nreturn cljs.spec.alpha.gensub(spec,overrides,cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994),cljs.spec.alpha._STAR_recursion_limit_STAR_], null),spec);\n}));\n\n(cljs.spec.alpha.gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Do not call this directly, use \x27def\x27\n */\ncljs.spec.alpha.def_impl \x3d (function cljs$spec$alpha$def_impl(k,form,spec){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.ident_QMARK_(k);\nif(and__5023__auto__){\nreturn cljs.core.namespace(k);\n} else {\nreturn and__5023__auto__;\n}\n})())){\n} else {\nthrow (new Error([\x22Assert failed: \x22,\x22k must be namespaced keyword or resolveable symbol\x22,\x22\\n\x22,\x22(c/and (ident? k) (namespace k))\x22].join(\x27\x27)));\n}\n\nif((spec \x3d\x3d null)){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.registry_ref,cljs.core.dissoc,k);\n} else {\nvar spec_38128__$1 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.spec.alpha.spec_QMARK_(spec);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.spec.alpha.regex_QMARK_(spec);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.spec.alpha.registry_ref),spec);\n}\n}\n})())?spec:cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4(form,spec,null,null));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.spec.alpha.registry_ref,cljs.core.assoc,k,cljs.spec.alpha.with_name(spec_38128__$1,k));\n}\n\nreturn k;\n});\n/**\n * returns the registry map, prefer \x27get-spec\x27 to lookup a spec by name\n */\ncljs.spec.alpha.registry \x3d (function cljs$spec$alpha$registry(){\nreturn cljs.core.deref(cljs.spec.alpha.registry_ref);\n});\n/**\n * Returns a symbol from a symbol or var\n */\ncljs.spec.alpha.__GT_sym \x3d (function cljs$spec$alpha$__GT_sym(x){\nif(cljs.core.var_QMARK_(x)){\nreturn x.sym;\n} else {\nreturn x;\n}\n});\n/**\n * Returns spec registered for keyword/symbol/var k, or nil.\n */\ncljs.spec.alpha.get_spec \x3d (function cljs$spec$alpha$get_spec(k){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.registry(),(((k instanceof cljs.core.Keyword))?k:cljs.spec.alpha.__GT_sym(k)));\n});\ncljs.spec.alpha.macroexpand_check \x3d (function cljs$spec$alpha$macroexpand_check(v,args){\nvar specs \x3d cljs.spec.alpha.get_spec(v);\nvar temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar arg_spec \x3d temp__5823__auto__;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform(arg_spec,args))){\nvar ed \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(arg_spec,cljs.core.PersistentVector.EMPTY,(function (){var temp__5821__auto__ \x3d cljs.spec.alpha.spec_name(arg_spec);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar name \x3d temp__5821__auto__;\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [name], null);\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})(),cljs.core.PersistentVector.EMPTY,args),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22args\x22,\x22cljs.spec.alpha/args\x22,1870769783),args);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Call to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.__GT_sym(v)),\x22 did not conform to spec.\x22].join(\x27\x27),ed);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.recur_limit_QMARK_ \x3d (function cljs$spec$alpha$recur_limit_QMARK_(rmap,id,path,k){\nreturn (((cljs.core.get.cljs$core$IFn$_invoke$arity$2(rmap,id) \x3e new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22recursion-limit\x22,\x22cljs.spec.alpha/recursion-limit\x22,601284994).cljs$core$IFn$_invoke$arity$1(rmap))) \x26\x26 (cljs.core.contains_QMARK_(cljs.core.set(path),k)));\n});\ncljs.spec.alpha.inck \x3d (function cljs$spec$alpha$inck(m,k){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,((function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})() + (1)));\n});\ncljs.spec.alpha.dt \x3d (function cljs$spec$alpha$dt(var_args){\nvar G__36395 \x3d arguments.length;\nswitch (G__36395) {\ncase 3:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(pred,x,form,null);\n}));\n\n(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4 \x3d (function (pred,x,form,cpred_QMARK_){\nif(cljs.core.truth_(pred)){\nvar temp__5821__auto__ \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar spec \x3d temp__5821__auto__;\nreturn cljs.spec.alpha.conform(spec,x);\n} else {\nif(cljs.core.ifn_QMARK_(pred)){\nif(cljs.core.truth_(cpred_QMARK_)){\nreturn (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x));\n} else {\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n} else {\nthrow (new Error([cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([form], 0)),\x22 is not a fn, expected predicate fn\x22].join(\x27\x27)));\n}\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.dt.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.valid_QMARK_ \x3d (function cljs$spec$alpha$valid_QMARK_(var_args){\nvar G__36403 \x3d arguments.length;\nswitch (G__36403) {\ncase 2:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,x){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,x,form){\nvar spec__$1 \x3d cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(spec,form);\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.conform_STAR_(spec__$1,x))));\n}));\n\n(cljs.spec.alpha.valid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * internal helper function that returns true when x is valid for spec.\n */\ncljs.spec.alpha.pvalid_QMARK_ \x3d (function cljs$spec$alpha$pvalid_QMARK_(var_args){\nvar G__36414 \x3d arguments.length;\nswitch (G__36414) {\ncase 2:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2 \x3d (function (pred,x){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22unknown\x22,\x22cljs.spec.alpha/unknown\x22,651034818)))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3 \x3d (function (pred,x,form){\nreturn (!(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,form))));\n}));\n\n(cljs.spec.alpha.pvalid_QMARK_.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.explain_1 \x3d (function cljs$spec$alpha$explain_1(form,pred,path,via,in$,v){\nvar pred__$1 \x3d cljs.spec.alpha.maybe_spec(pred);\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred__$1))){\nreturn cljs.spec.alpha.explain_STAR_(pred__$1,path,(function (){var temp__5821__auto__ \x3d cljs.spec.alpha.spec_name(pred__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar name \x3d temp__5821__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})(),in$,v);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),v,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n});\n\n/**\n * returns a generator for form f, which can be a keyword or a list\n * starting with \x27or or \x27and.\n */\ncljs.spec.alpha.k_gen \x3d (function cljs$spec$alpha$k_gen(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([f], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((1),cljs.core.rest(f));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),cljs.core.first(f))){\nreturn cljs.spec.alpha.and_k_gen(cljs.core.rest(f));\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * returns a tuple generator made up of generators for a random subset\n * of min-count (default 0) to all elements in s.\n */\ncljs.spec.alpha.or_k_gen \x3d (function cljs$spec$alpha$or_k_gen(var_args){\nvar G__36425 \x3d arguments.length;\nswitch (G__36425) {\ncase 1:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2((0),s);\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$2 \x3d (function (min_count,s){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.choose.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([min_count,cljs.core.count(s)], 0)),cljs.spec.gen.alpha.shuffle.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s)], 0))], 0)),(function (p__36426){\nvar vec__36427 \x3d p__36426;\nvar n \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36427,(0),null);\nvar gens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36427,(1),null);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,gens));\n})], 0));\n}));\n\n(cljs.spec.alpha.or_k_gen.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * returns a tuple generator made up of generators for every element\n * in s.\n */\ncljs.spec.alpha.and_k_gen \x3d (function cljs$spec$alpha$and_k_gen(s){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.k_gen,s));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36435 \x3d (function (p__36433,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,map__36434,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta36436){\nthis.p__36433 \x3d p__36433;\nthis.keys__GT_specnames \x3d keys__GT_specnames;\nthis.opt \x3d opt;\nthis.req_un \x3d req_un;\nthis.opt_un \x3d opt_un;\nthis.gfn \x3d gfn;\nthis.pred_exprs \x3d pred_exprs;\nthis.keys_pred \x3d keys_pred;\nthis.argm \x3d argm;\nthis.opt_keys \x3d opt_keys;\nthis.req_specs \x3d req_specs;\nthis.map__36434 \x3d map__36434;\nthis.req \x3d req;\nthis.id \x3d id;\nthis.req_keys \x3d req_keys;\nthis.opt_specs \x3d opt_specs;\nthis.k__GT_s \x3d k__GT_s;\nthis.pred_forms \x3d pred_forms;\nthis.meta36436 \x3d meta36436;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36437,meta36436__$1){\nvar self__ \x3d this;\nvar _36437__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36435(self__.p__36433,self__.keys__GT_specnames,self__.opt,self__.req_un,self__.opt_un,self__.gfn,self__.pred_exprs,self__.keys_pred,self__.argm,self__.opt_keys,self__.req_specs,self__.map__36434,self__.req,self__.id,self__.req_keys,self__.opt_specs,self__.k__GT_s,self__.pred_forms,meta36436__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36437){\nvar self__ \x3d this;\nvar _36437__$1 \x3d this;\nreturn self__.meta36436;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_((self__.keys_pred.cljs$core$IFn$_invoke$arity$1 ? self__.keys_pred.cljs$core$IFn$_invoke$arity$1(m) : self__.keys_pred.call(null,m)))){\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__36446 \x3d m;\nvar vec__36448 \x3d G__36446;\nvar seq__36449 \x3d cljs.core.seq(vec__36448);\nvar first__36450 \x3d cljs.core.first(seq__36449);\nvar seq__36449__$1 \x3d cljs.core.next(seq__36449);\nvar vec__36451 \x3d first__36450;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36451,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36451,(1),null);\nvar ks \x3d seq__36449__$1;\nvar keys \x3d vec__36448;\nvar ret__$1 \x3d ret;\nvar G__36446__$1 \x3d G__36446;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36455 \x3d G__36446__$1;\nvar seq__36456 \x3d cljs.core.seq(vec__36455);\nvar first__36457 \x3d cljs.core.first(seq__36456);\nvar seq__36456__$1 \x3d cljs.core.next(seq__36456);\nvar vec__36458 \x3d first__36457;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36458,(0),null);\nvar v__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36458,(1),null);\nvar ks__$1 \x3d seq__36456__$1;\nvar keys__$1 \x3d vec__36455;\nif(cljs.core.truth_(keys__$1)){\nvar sname \x3d (self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1));\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(reg,sname);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar s \x3d temp__5821__auto__;\nvar cv \x3d cljs.spec.alpha.conform(s,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38162 \x3d (((cv \x3d\x3d\x3d v__$1))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,cv));\nvar G__38163 \x3d ks__$1;\nret__$1 \x3d G__38162;\nG__36446__$1 \x3d G__38163;\ncontinue;\n}\n} else {\nvar G__38164 \x3d ret__$2;\nvar G__38165 \x3d ks__$1;\nret__$1 \x3d G__38164;\nG__36446__$1 \x3d G__38165;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar reg \x3d cljs.spec.alpha.registry();\nvar ret \x3d m;\nvar G__36465 \x3d cljs.core.keys(m);\nvar vec__36466 \x3d G__36465;\nvar seq__36467 \x3d cljs.core.seq(vec__36466);\nvar first__36468 \x3d cljs.core.first(seq__36467);\nvar seq__36467__$1 \x3d cljs.core.next(seq__36467);\nvar k \x3d first__36468;\nvar ks \x3d seq__36467__$1;\nvar keys \x3d vec__36466;\nvar ret__$1 \x3d ret;\nvar G__36465__$1 \x3d G__36465;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36475 \x3d G__36465__$1;\nvar seq__36476 \x3d cljs.core.seq(vec__36475);\nvar first__36477 \x3d cljs.core.first(seq__36476);\nvar seq__36476__$1 \x3d cljs.core.next(seq__36476);\nvar k__$1 \x3d first__36477;\nvar ks__$1 \x3d seq__36476__$1;\nvar keys__$1 \x3d vec__36475;\nif(cljs.core.truth_(keys__$1)){\nif(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)))){\nvar cv \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k__$1);\nvar v \x3d cljs.spec.alpha.unform((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k__$1) : self__.keys__GT_specnames.call(null,k__$1)),cv);\nvar G__38173 \x3d (((cv \x3d\x3d\x3d v))?ret__$2:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret__$2,k__$1,v));\nvar G__38174 \x3d ks__$1;\nret__$1 \x3d G__38173;\nG__36465__$1 \x3d G__38174;\ncontinue;\n} else {\nvar G__38175 \x3d ret__$2;\nvar G__38176 \x3d ks__$1;\nret__$1 \x3d G__38175;\nG__36465__$1 \x3d G__38176;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.map_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar reg \x3d cljs.spec.alpha.registry();\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.concat,(function (){var temp__5823__auto__ \x3d cljs.core.seq(cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (pred,form){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(x) : pred.call(null,x)))){\nreturn null;\n} else {\nreturn form;\n}\n}),self__.pred_exprs,self__.pred_forms)));\nif(temp__5823__auto__){\nvar probs \x3d temp__5823__auto__;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__36431_SHARP_){\nreturn cljs.core.identity(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),p1__36431_SHARP_,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}),probs);\n} else {\nreturn null;\n}\n})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__36478){\nvar vec__36479 \x3d p__36478;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36479,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36479,(1),null);\nif((((!(cljs.core.contains_QMARK_(reg,(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)))))) || (cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$3((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),v,k)))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1((self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),(self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1 ? self__.keys__GT_specnames.cljs$core$IFn$_invoke$arity$1(k) : self__.keys__GT_specnames.call(null,k)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\n}\n}),cljs.core.seq(x)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nvar rgen \x3d (function (k,s){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k)], null);\n});\nvar ogen \x3d (function (k,s){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(s,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,k);\n}),null)))], null);\n}\n});\nvar reqs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3(rgen,self__.req_keys,self__.req_specs);\nvar opts \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$3(ogen,self__.opt_keys,self__.opt_specs));\nif(cljs.core.every_QMARK_(cljs.core.identity,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,reqs),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,opts)))){\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.gen.alpha.tuple.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.and_k_gen(self__.req),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt),cljs.spec.alpha.and_k_gen(self__.req_un),cljs.spec.alpha.or_k_gen.cljs$core$IFn$_invoke$arity$1(self__.opt_un)], 0)),(function (p__36505){\nvar vec__36512 \x3d p__36505;\nvar req_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36512,(0),null);\nvar opt_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36512,(1),null);\nvar req_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36512,(2),null);\nvar opt_un_ks \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36512,(3),null);\nvar qks \x3d cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_ks,opt_ks));\nvar unqks \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,cljs.core.name),cljs.core.flatten(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_un_ks,opt_un_ks)));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.hash_map,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__36432_SHARP_){\nvar G__36554 \x3d cljs.core.first(p1__36432_SHARP_);\nvar fexpr__36548 \x3d cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(qks,unqks));\nreturn (fexpr__36548.cljs$core$IFn$_invoke$arity$1 ? fexpr__36548.cljs$core$IFn$_invoke$arity$1(G__36554) : fexpr__36548.call(null,G__36554));\n}),cljs.core.into.cljs$core$IFn$_invoke$arity$2(reqs,opts))));\n})], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__36561 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.argm,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474),gfn__$1);\nreturn (cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.map_spec_impl.cljs$core$IFn$_invoke$arity$1(G__36561) : cljs.spec.alpha.map_spec_impl.call(null,G__36561));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22keys\x22,\x22cljs.spec.alpha/keys\x22,1109346032,null),(function (){var G__36564 \x3d cljs.core.PersistentVector.EMPTY;\nvar G__36564__$1 \x3d (cljs.core.truth_(self__.req)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36564,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req], 0)):G__36564);\nvar G__36564__$2 \x3d (cljs.core.truth_(self__.opt)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36564__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt], 0)):G__36564__$1);\nvar G__36564__$3 \x3d (cljs.core.truth_(self__.req_un)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36564__$2,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.req_un], 0)):G__36564__$2);\nif(cljs.core.truth_(self__.opt_un)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__36564__$3,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opt_un], 0));\n} else {\nreturn G__36564__$3;\n}\n})());\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 19, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p__36433\x22,\x22p__36433\x22,-168156159,null),new cljs.core.Symbol(null,\x22keys-\x3especnames\x22,\x22keys-\x3especnames\x22,1791294693,null),new cljs.core.Symbol(null,\x22opt\x22,\x22opt\x22,845825158,null),new cljs.core.Symbol(null,\x22req-un\x22,\x22req-un\x22,-1579864761,null),new cljs.core.Symbol(null,\x22opt-un\x22,\x22opt-un\x22,-1770993273,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22pred-exprs\x22,\x22pred-exprs\x22,-862164374,null),new cljs.core.Symbol(null,\x22keys-pred\x22,\x22keys-pred\x22,-1795451030,null),new cljs.core.Symbol(null,\x22argm\x22,\x22argm\x22,-181546357,null),new cljs.core.Symbol(null,\x22opt-keys\x22,\x22opt-keys\x22,-1391747508,null),new cljs.core.Symbol(null,\x22req-specs\x22,\x22req-specs\x22,-2100473456,null),new cljs.core.Symbol(null,\x22map__36434\x22,\x22map__36434\x22,-897887370,null),new cljs.core.Symbol(null,\x22req\x22,\x22req\x22,1314083224,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22req-keys\x22,\x22req-keys\x22,-2140116548,null),new cljs.core.Symbol(null,\x22opt-specs\x22,\x22opt-specs\x22,1255626077,null),new cljs.core.Symbol(null,\x22k-\x3es\x22,\x22k-\x3es\x22,-1685112801,null),new cljs.core.Symbol(null,\x22pred-forms\x22,\x22pred-forms\x22,1813143359,null),new cljs.core.Symbol(null,\x22meta36436\x22,\x22meta36436\x22,1492388624,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36435\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36435.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36435\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36435.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36435 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36435(p__36433,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,map__36434,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta36436){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36435(p__36433,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,map__36434,req,id,req_keys,opt_specs,k__GT_s,pred_forms,meta36436));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a map argument\n */\ncljs.spec.alpha.map_spec_impl \x3d (function cljs$spec$alpha$map_spec_impl(p__36433){\nvar map__36434 \x3d p__36433;\nvar map__36434__$1 \x3d cljs.core.__destructure_map(map__36434);\nvar argm \x3d map__36434__$1;\nvar opt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22opt\x22,\x22opt\x22,-794706369));\nvar req_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22req-un\x22,\x22req-un\x22,1074571008));\nvar opt_un \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22opt-un\x22,\x22opt-un\x22,883442496));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22gfn\x22,\x22gfn\x22,791517474));\nvar pred_exprs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22pred-exprs\x22,\x22pred-exprs\x22,1792271395));\nvar keys_pred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22keys-pred\x22,\x22keys-pred\x22,858984739));\nvar opt_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22opt-keys\x22,\x22opt-keys\x22,1262688261));\nvar req_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22req-specs\x22,\x22req-specs\x22,553962313));\nvar req \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22req\x22,\x22req\x22,-326448303));\nvar req_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22req-keys\x22,\x22req-keys\x22,514319221));\nvar opt_specs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22opt-specs\x22,\x22opt-specs\x22,-384905450));\nvar pred_forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36434__$1,new cljs.core.Keyword(null,\x22pred-forms\x22,\x22pred-forms\x22,172611832));\nvar k__GT_s \x3d cljs.core.zipmap(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_keys,opt_keys),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(req_specs,opt_specs));\nvar keys__GT_specnames \x3d (function (p1__36430_SHARP_){\nvar or__5025__auto__ \x3d (k__GT_s.cljs$core$IFn$_invoke$arity$1 ? k__GT_s.cljs$core$IFn$_invoke$arity$1(p1__36430_SHARP_) : k__GT_s.call(null,p1__36430_SHARP_));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p1__36430_SHARP_;\n}\n});\nvar id \x3d cljs.core.random_uuid();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36435(p__36433,keys__GT_specnames,opt,req_un,opt_un,gfn,pred_exprs,keys_pred,argm,opt_keys,req_specs,map__36434__$1,req,id,req_keys,opt_specs,k__GT_s,pred_forms,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36588 \x3d (function (form,pred,gfn,cpred_QMARK_,unc,meta36589){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.cpred_QMARK_ \x3d cpred_QMARK_;\nthis.unc \x3d unc;\nthis.meta36589 \x3d meta36589;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36590,meta36589__$1){\nvar self__ \x3d this;\nvar _36590__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36588(self__.form,self__.pred,self__.gfn,self__.cpred_QMARK_,self__.unc,meta36589__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36590){\nvar self__ \x3d this;\nvar _36590__$1 \x3d this;\nreturn self__.meta36589;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d (self__.pred.cljs$core$IFn$_invoke$arity$1 ? self__.pred.cljs$core$IFn$_invoke$arity$1(x) : self__.pred.call(null,x));\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nreturn ret;\n} else {\nif(cljs.core.truth_(ret)){\nreturn x;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.cpred_QMARK_)){\nif(cljs.core.truth_(self__.unc)){\nreturn (self__.unc.cljs$core$IFn$_invoke$arity$1 ? self__.unc.cljs$core$IFn$_invoke$arity$1(x) : self__.unc.call(null,x));\n} else {\nthrow (new Error(\x22no unform fn for conformer\x22));\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.spec.alpha.invalid_QMARK_(cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$4(self__.pred,x,self__.form,self__.cpred_QMARK_))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,___$1,___$2,___$3){\nvar self__ \x3d this;\nvar ___$4 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.gen_for_pred(self__.pred);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(self__.form,self__.pred,gfn__$1,self__.cpred_QMARK_,self__.unc);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.form;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22cpred?\x22,\x22cpred?\x22,35589515,null),new cljs.core.Symbol(null,\x22unc\x22,\x22unc\x22,-465250751,null),new cljs.core.Symbol(null,\x22meta36589\x22,\x22meta36589\x22,-414845827,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36588\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36588.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36588\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36588.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36588 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36588(form,pred,gfn,cpred_QMARK_,unc,meta36589){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36588(form,pred,gfn,cpred_QMARK_,unc,meta36589));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27\n */\ncljs.spec.alpha.spec_impl \x3d (function cljs$spec$alpha$spec_impl(var_args){\nvar G__36580 \x3d arguments.length;\nswitch (G__36580) {\ncase 4:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,gfn,cpred_QMARK_){\nreturn cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(form,pred,gfn,cpred_QMARK_,null);\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5 \x3d (function (form,pred,gfn,cpred_QMARK_,unc){\nif(cljs.core.truth_(cljs.spec.alpha.spec_QMARK_(pred))){\nvar G__36585 \x3d pred;\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__36585,gfn);\n} else {\nreturn G__36585;\n}\n} else {\nif(cljs.core.truth_(cljs.spec.alpha.regex_QMARK_(pred))){\nreturn cljs.spec.alpha.regex_spec_impl(pred,gfn);\n} else {\nif(cljs.core.ident_QMARK_(pred)){\nvar G__36586 \x3d cljs.spec.alpha.the_spec(pred);\nif(cljs.core.truth_(gfn)){\nreturn cljs.spec.alpha.with_gen(G__36586,gfn);\n} else {\nreturn G__36586;\n}\n} else {\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36588(form,pred,gfn,cpred_QMARK_,unc,cljs.core.PersistentArrayMap.EMPTY));\n\n}\n}\n}\n}));\n\n(cljs.spec.alpha.spec_impl.cljs$lang$maxFixedArity \x3d 5);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36627 \x3d (function (form,mmvar,retag,gfn,id,predx,dval,tag,meta36628){\nthis.form \x3d form;\nthis.mmvar \x3d mmvar;\nthis.retag \x3d retag;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.predx \x3d predx;\nthis.dval \x3d dval;\nthis.tag \x3d tag;\nthis.meta36628 \x3d meta36628;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36629,meta36628__$1){\nvar self__ \x3d this;\nvar _36629__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36627(self__.form,self__.mmvar,self__.retag,self__.gfn,self__.id,self__.predx,self__.dval,self__.tag,meta36628__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36629){\nvar self__ \x3d this;\nvar _36629__$1 \x3d this;\nreturn self__.meta36628;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5821__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar pred \x3d temp__5821__auto__;\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred,x,self__.form);\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar temp__5821__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar pred \x3d temp__5821__auto__;\nreturn cljs.spec.alpha.unform(pred,x);\n} else {\nthrow (new Error([\x22No method of: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.form),\x22 for dispatch value: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x)))].join(\x27\x27)));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar dv \x3d (self__.dval.cljs$core$IFn$_invoke$arity$1 ? self__.dval.cljs$core$IFn$_invoke$arity$1(x) : self__.dval.call(null,x));\nvar path__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,dv);\nvar temp__5821__auto__ \x3d (self__.predx.cljs$core$IFn$_invoke$arity$1 ? self__.predx.cljs$core$IFn$_invoke$arity$1(x) : self__.predx.call(null,x));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar pred \x3d temp__5821__auto__;\nreturn cljs.spec.alpha.explain_1(self__.form,pred,path__$1,via,in$,x);\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),self__.form,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22no method\x22,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (p__36639){\nvar vec__36640 \x3d p__36639;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36640,(0),null);\nvar f \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36640,(1),null);\nvar p \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(null) : f.call(null,null));\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36617_SHARP_){\nreturn (self__.tag.cljs$core$IFn$_invoke$arity$2 ? self__.tag.cljs$core$IFn$_invoke$arity$2(p1__36617_SHARP_,k) : self__.tag.call(null,p1__36617_SHARP_,k));\n}),cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method\x22,\x22method\x22,1696235119,null),(new cljs.core.List(null,self__.form,(new cljs.core.List(null,k,null,(1),null)),(2),null)),(3),null)))], 0));\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(gen,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__36643){\nvar vec__36645 \x3d p__36643;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36645,(0),null);\nreturn cljs.spec.alpha.invalid_QMARK_(k);\n}),cljs.core.methods$(cljs.core.deref(self__.mmvar)))));\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.mmvar,self__.retag,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22multi-spec\x22,\x22cljs.spec.alpha/multi-spec\x22,175821274,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.retag,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22mmvar\x22,\x22mmvar\x22,-1714325675,null),new cljs.core.Symbol(null,\x22retag\x22,\x22retag\x22,528972725,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22predx\x22,\x22predx\x22,2063470948,null),new cljs.core.Symbol(null,\x22dval\x22,\x22dval\x22,835211877,null),new cljs.core.Symbol(null,\x22tag\x22,\x22tag\x22,350170304,null),new cljs.core.Symbol(null,\x22meta36628\x22,\x22meta36628\x22,399727413,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36627\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36627.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36627\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36627.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36627 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36627(form,mmvar,retag,gfn,id,predx,dval,tag,meta36628){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36627(form,mmvar,retag,gfn,id,predx,dval,tag,meta36628));\n});\n\n\n/**\n * Do not call this directly, use \x27multi-spec\x27\n */\ncljs.spec.alpha.multi_spec_impl \x3d (function cljs$spec$alpha$multi_spec_impl(var_args){\nvar G__36622 \x3d arguments.length;\nswitch (G__36622) {\ncase 3:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,mmvar,retag){\nreturn cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4(form,mmvar,retag,null);\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,mmvar,retag,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar predx \x3d (function (p1__36613_SHARP_){\nvar mm \x3d cljs.core.deref(mmvar);\nvar and__5023__auto__ \x3d cljs.core._get_method(mm,(function (){var fexpr__36623 \x3d cljs.core._dispatch_fn(mm);\nreturn (fexpr__36623.cljs$core$IFn$_invoke$arity$1 ? fexpr__36623.cljs$core$IFn$_invoke$arity$1(p1__36613_SHARP_) : fexpr__36623.call(null,p1__36613_SHARP_));\n})());\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (mm.cljs$core$IFn$_invoke$arity$1 ? mm.cljs$core$IFn$_invoke$arity$1(p1__36613_SHARP_) : mm.call(null,p1__36613_SHARP_));\n} else {\nreturn and__5023__auto__;\n}\n});\nvar dval \x3d (function (p1__36614_SHARP_){\nvar fexpr__36626 \x3d cljs.core._dispatch_fn(cljs.core.deref(mmvar));\nreturn (fexpr__36626.cljs$core$IFn$_invoke$arity$1 ? fexpr__36626.cljs$core$IFn$_invoke$arity$1(p1__36614_SHARP_) : fexpr__36626.call(null,p1__36614_SHARP_));\n});\nvar tag \x3d (((retag instanceof cljs.core.Keyword))?(function (p1__36615_SHARP_,p2__36616_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__36615_SHARP_,retag,p2__36616_SHARP_);\n}):retag);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36627(form,mmvar,retag,gfn,id,predx,dval,tag,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.multi_spec_impl.cljs$lang$maxFixedArity \x3d 4);\n\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36695 \x3d (function (forms,preds,gfn,specs,cnt,meta36696){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cnt \x3d cnt;\nthis.meta36696 \x3d meta36696;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36697,meta36696__$1){\nvar self__ \x3d this;\nvar _36697__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36695(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cnt,meta36696__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36697){\nvar self__ \x3d this;\nvar _36697__$1 \x3d this;\nreturn self__.meta36696;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar specs__$1 \x3d cljs.core.deref(self__.specs);\nif((!(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),self__.cnt)))))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,self__.cnt)){\nreturn ret;\n} else {\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar cv \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),v);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38232 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv));\nvar G__38233 \x3d (i + (1));\nret \x3d G__38232;\ni \x3d G__38233;\ncontinue;\n}\n}\nbreak;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))))){\n} else {\nthrow (new Error(\x22Assert failed: (c/and (vector? x) (\x3d (count x) (count preds)))\x22));\n}\n\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i,cljs.core.count(x))){\nreturn ret;\n} else {\nvar cv \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nvar v \x3d cljs.spec.alpha.unform((self__.preds.cljs$core$IFn$_invoke$arity$1 ? self__.preds.cljs$core$IFn$_invoke$arity$1(i) : self__.preds.call(null,i)),cv);\nvar G__38237 \x3d (((cv \x3d\x3d\x3d v))?ret:cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,v));\nvar G__38238 \x3d (i + (1));\nret \x3d G__38237;\ni \x3d G__38238;\ncontinue;\n}\nbreak;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((!(cljs.core.vector_QMARK_(x)))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(x),cljs.core.count(self__.preds))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.count(self__.preds),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (i,form,pred){\nvar v \x3d (x.cljs$core$IFn$_invoke$arity$1 ? x.cljs$core$IFn$_invoke$arity$1(i) : x.call(null,i));\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,v)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i),v);\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.forms,self__.preds));\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (i,p,f){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,i),rmap,f);\n});\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,cljs.core.range.cljs$core$IFn$_invoke$arity$1(cljs.core.count(self__.preds)),self__.preds,self__.forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gs)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,gs);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22tuple\x22,\x22cljs.spec.alpha/tuple\x22,-415901908,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cnt\x22,\x22cnt\x22,1924510325,null),new cljs.core.Symbol(null,\x22meta36696\x22,\x22meta36696\x22,254211288,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36695\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36695.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36695\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36695.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36695 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36695(forms,preds,gfn,specs,cnt,meta36696){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36695(forms,preds,gfn,specs,cnt,meta36696));\n});\n\n\n/**\n * Do not call this directly, use \x27tuple\x27\n */\ncljs.spec.alpha.tuple_impl \x3d (function cljs$spec$alpha$tuple_impl(var_args){\nvar G__36692 \x3d arguments.length;\nswitch (G__36692) {\ncase 2:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$2 \x3d (function (forms,preds){\nreturn cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3(forms,preds,null);\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (forms,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cnt \x3d cljs.core.count(preds);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36695(forms,preds,gfn,specs,cnt,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.tuple_impl.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.spec.alpha.tagged_ret \x3d (function cljs$spec$alpha$tagged_ret(tag,ret){\nreturn (new cljs.core.MapEntry(tag,ret,null));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36761 \x3d (function (keys,forms,preds,gfn,id,kps,specs,cform,meta36762){\nthis.keys \x3d keys;\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.id \x3d id;\nthis.kps \x3d kps;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta36762 \x3d meta36762;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36763,meta36762__$1){\nvar self__ \x3d this;\nvar _36763__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36761(self__.keys,self__.forms,self__.preds,self__.gfn,self__.id,self__.kps,self__.specs,self__.cform,meta36762__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36763){\nvar self__ \x3d this;\nvar _36763__$1 \x3d this;\nreturn self__.meta36762;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,p__36772){\nvar self__ \x3d this;\nvar vec__36773 \x3d p__36772;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36773,(0),null);\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36773,(1),null);\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform((self__.kps.cljs$core$IFn$_invoke$arity$1 ? self__.kps.cljs$core$IFn$_invoke$arity$1(k) : self__.kps.call(null,k)),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (this$,path,via,in$,x){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(this$__$1,x)){\nreturn null;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form,pred){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.explain_1(form,pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),via,in$,x);\n}\n}),self__.keys,self__.forms,self__.preds));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar gen \x3d (function (k,p,f){\nvar rmap__$1 \x3d cljs.spec.alpha.inck(rmap,self__.id);\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,self__.id,path,k)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(p,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k),rmap__$1,f);\n}),null)));\n}\n});\nvar gs \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,self__.keys,self__.preds,self__.forms));\nif(cljs.core.empty_QMARK_(gs)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gs], 0));\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4 ? cljs.spec.alpha.or_spec_impl.cljs$core$IFn$_invoke$arity$4(self__.keys,self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.or_spec_impl.call(null,self__.keys,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22or\x22,\x22cljs.spec.alpha/or\x22,-831679639,null),null,(1),null)),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.keys,self__.forms], 0)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22id\x22,\x22id\x22,252129435,null),new cljs.core.Symbol(null,\x22kps\x22,\x22kps\x22,-1157342767,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta36762\x22,\x22meta36762\x22,1428735263,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36761\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36761.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36761\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36761.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36761 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36761(keys,forms,preds,gfn,id,kps,specs,cform,meta36762){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36761(keys,forms,preds,gfn,id,kps,specs,cform,meta36762));\n});\n\n\n/**\n * Do not call this directly, use \x27or\x27\n */\ncljs.spec.alpha.or_spec_impl \x3d (function cljs$spec$alpha$or_spec_impl(keys,forms,preds,gfn){\nvar id \x3d cljs.core.random_uuid();\nvar kps \x3d cljs.core.zipmap(keys,preds);\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cform \x3d (function (){var G__36740 \x3d cljs.core.count(preds);\nswitch (G__36740) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nvar ret__$2 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$2)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((2)) : keys.call(null,(2))),ret__$2);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((1)) : keys.call(null,(1))),ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1((0)) : keys.call(null,(0))),ret);\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar spec \x3d (specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i));\nvar ret \x3d cljs.spec.alpha.conform_STAR_(spec,x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nvar G__38280 \x3d (i + (1));\ni \x3d G__38280;\ncontinue;\n} else {\nreturn cljs.spec.alpha.tagged_ret((keys.cljs$core$IFn$_invoke$arity$1 ? keys.cljs$core$IFn$_invoke$arity$1(i) : keys.call(null,i)),ret);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36761(keys,forms,preds,gfn,id,kps,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.and_preds \x3d (function cljs$spec$alpha$and_preds(x,preds,forms){\nvar ret \x3d x;\nvar G__36793 \x3d preds;\nvar vec__36795 \x3d G__36793;\nvar seq__36796 \x3d cljs.core.seq(vec__36795);\nvar first__36797 \x3d cljs.core.first(seq__36796);\nvar seq__36796__$1 \x3d cljs.core.next(seq__36796);\nvar pred \x3d first__36797;\nvar preds__$1 \x3d seq__36796__$1;\nvar G__36794 \x3d forms;\nvar vec__36798 \x3d G__36794;\nvar seq__36799 \x3d cljs.core.seq(vec__36798);\nvar first__36800 \x3d cljs.core.first(seq__36799);\nvar seq__36799__$1 \x3d cljs.core.next(seq__36799);\nvar form \x3d first__36800;\nvar forms__$1 \x3d seq__36799__$1;\nvar ret__$1 \x3d ret;\nvar G__36793__$1 \x3d G__36793;\nvar G__36794__$1 \x3d G__36794;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36801 \x3d G__36793__$1;\nvar seq__36802 \x3d cljs.core.seq(vec__36801);\nvar first__36803 \x3d cljs.core.first(seq__36802);\nvar seq__36802__$1 \x3d cljs.core.next(seq__36802);\nvar pred__$1 \x3d first__36803;\nvar preds__$2 \x3d seq__36802__$1;\nvar vec__36804 \x3d G__36794__$1;\nvar seq__36805 \x3d cljs.core.seq(vec__36804);\nvar first__36806 \x3d cljs.core.first(seq__36805);\nvar seq__36805__$1 \x3d cljs.core.next(seq__36805);\nvar form__$1 \x3d first__36806;\nvar forms__$2 \x3d seq__36805__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38289 \x3d nret;\nvar G__38290 \x3d preds__$2;\nvar G__38291 \x3d forms__$2;\nret__$1 \x3d G__38289;\nG__36793__$1 \x3d G__38290;\nG__36794__$1 \x3d G__38291;\ncontinue;\n}\n} else {\nreturn ret__$2;\n}\nbreak;\n}\n});\ncljs.spec.alpha.explain_pred_list \x3d (function cljs$spec$alpha$explain_pred_list(forms,preds,path,via,in$,x){\nvar ret \x3d x;\nvar G__36837 \x3d forms;\nvar vec__36840 \x3d G__36837;\nvar seq__36841 \x3d cljs.core.seq(vec__36840);\nvar first__36842 \x3d cljs.core.first(seq__36841);\nvar seq__36841__$1 \x3d cljs.core.next(seq__36841);\nvar form \x3d first__36842;\nvar forms__$1 \x3d seq__36841__$1;\nvar G__36838 \x3d preds;\nvar vec__36843 \x3d G__36838;\nvar seq__36844 \x3d cljs.core.seq(vec__36843);\nvar first__36845 \x3d cljs.core.first(seq__36844);\nvar seq__36844__$1 \x3d cljs.core.next(seq__36844);\nvar pred \x3d first__36845;\nvar preds__$1 \x3d seq__36844__$1;\nvar ret__$1 \x3d ret;\nvar G__36837__$1 \x3d G__36837;\nvar G__36838__$1 \x3d G__36838;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar vec__36846 \x3d G__36837__$1;\nvar seq__36847 \x3d cljs.core.seq(vec__36846);\nvar first__36848 \x3d cljs.core.first(seq__36847);\nvar seq__36847__$1 \x3d cljs.core.next(seq__36847);\nvar form__$1 \x3d first__36848;\nvar forms__$2 \x3d seq__36847__$1;\nvar vec__36849 \x3d G__36838__$1;\nvar seq__36850 \x3d cljs.core.seq(vec__36849);\nvar first__36851 \x3d cljs.core.first(seq__36850);\nvar seq__36850__$1 \x3d cljs.core.next(seq__36850);\nvar pred__$1 \x3d first__36851;\nvar preds__$2 \x3d seq__36850__$1;\nif(cljs.core.truth_(pred__$1)){\nvar nret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(pred__$1,ret__$2,form__$1);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn cljs.spec.alpha.explain_1(form__$1,pred__$1,path,via,in$,ret__$2);\n} else {\nvar G__38292 \x3d nret;\nvar G__38293 \x3d forms__$2;\nvar G__38294 \x3d preds__$2;\nret__$1 \x3d G__38292;\nG__36837__$1 \x3d G__38293;\nG__36838__$1 \x3d G__38294;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36869 \x3d (function (forms,preds,gfn,specs,cform,meta36870){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.cform \x3d cform;\nthis.meta36870 \x3d meta36870;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36871,meta36870__$1){\nvar self__ \x3d this;\nvar _36871__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36869(self__.forms,self__.preds,self__.gfn,self__.specs,self__.cform,meta36870__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36871){\nvar self__ \x3d this;\nvar _36871__$1 \x3d this;\nreturn self__.meta36870;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.cform.cljs$core$IFn$_invoke$arity$1 ? self__.cform.cljs$core$IFn$_invoke$arity$1(x) : self__.cform.call(null,x));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__36858_SHARP_,p2__36857_SHARP_){\nreturn cljs.spec.alpha.unform(p2__36857_SHARP_,p1__36858_SHARP_);\n}),x,cljs.core.reverse(self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_pred_list(self__.forms,self__.preds,path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.gensub(cljs.core.first(self__.preds),overrides,path,rmap,cljs.core.first(self__.forms));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.and_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.and_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22and\x22,\x22cljs.spec.alpha/and\x22,-2060279705,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22cform\x22,\x22cform\x22,1319506748,null),new cljs.core.Symbol(null,\x22meta36870\x22,\x22meta36870\x22,1620139247,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36869\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36869.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36869\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36869.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36869 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36869(forms,preds,gfn,specs,cform,meta36870){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36869(forms,preds,gfn,specs,cform,meta36870));\n});\n\n\n/**\n * Do not call this directly, use \x27and\x27\n */\ncljs.spec.alpha.and_spec_impl \x3d (function cljs$spec$alpha$and_spec_impl(forms,preds,gfn){\nvar specs \x3d (new cljs.core.Delay((function (){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.specize,preds,forms);\n}),null));\nvar cform \x3d (function (){var G__36861 \x3d cljs.core.count(preds);\nswitch (G__36861) {\ncase (2):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\n}\n});\n\nbreak;\ncase (3):\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((0)) : specs__$1.call(null,(0))),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar ret__$1 \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((1)) : specs__$1.call(null,(1))),ret);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1((2)) : specs__$1.call(null,(2))),ret__$1);\n}\n}\n});\n\nbreak;\ndefault:\nreturn (function (x){\nvar specs__$1 \x3d cljs.core.deref(specs);\nvar ret \x3d x;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c cljs.core.count(specs__$1))){\nvar nret \x3d cljs.spec.alpha.conform_STAR_((specs__$1.cljs$core$IFn$_invoke$arity$1 ? specs__$1.cljs$core$IFn$_invoke$arity$1(i) : specs__$1.call(null,i)),ret);\nif(cljs.spec.alpha.invalid_QMARK_(nret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38304 \x3d nret;\nvar G__38305 \x3d (i + (1));\nret \x3d G__38304;\ni \x3d G__38305;\ncontinue;\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\n\n}\n})();\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36869(forms,preds,gfn,specs,cform,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.coll_prob \x3d (function cljs$spec$alpha$coll_prob(x,kfn,kform,distinct,count,min_count,max_count,path,via,in$){\nvar pred \x3d (function (){var or__5025__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.coll_QMARK_;\n}\n})();\nvar kform__$1 \x3d (function (){var or__5025__auto__ \x3d kform;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22coll?\x22,\x22cljs.core/coll?\x22,1208130522,null);\n}\n})();\nif((!(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(pred,x)))){\nreturn cljs.spec.alpha.explain_1(kform__$1,pred,path,via,in$,x);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d count;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(count,cljs.core.bounded_count(count,x));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,count,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (function (){var or__5025__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn max_count;\n}\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(((((function (){var or__5025__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})() \x3c\x3d cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x))) \x26\x26 ((cljs.core.bounded_count((cljs.core.truth_(max_count)?(max_count + (1)):min_count),x) \x3c\x3d (function (){var or__5025__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (9007199254740991);\n}\n})())))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x3d\x22,\x22cljs.core/\x3c\x3d\x22,1677001748,null),null,(1),null)),(new cljs.core.List(null,(function (){var or__5025__auto__ \x3d min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})(),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,(function (){var or__5025__auto__ \x3d max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (9007199254740991);\n}\n})(),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d distinct;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((!(cljs.core.empty_QMARK_(x)))) \x26\x26 (cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,x))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nreturn null;\n}\n}\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36897 \x3d (function (forms,preds,gfn,meta36898){\nthis.forms \x3d forms;\nthis.preds \x3d preds;\nthis.gfn \x3d gfn;\nthis.meta36898 \x3d meta36898;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36899,meta36898__$1){\nvar self__ \x3d this;\nvar _36899__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36897(self__.forms,self__.preds,self__.gfn,meta36898__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36899){\nvar self__ \x3d this;\nvar _36899__$1 \x3d this;\nreturn self__.meta36898;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__36886_SHARP_,p2__36887_SHARP_){\nreturn cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p1__36886_SHARP_,x,p2__36887_SHARP_);\n}),self__.preds,self__.forms);\nif(cljs.core.truth_(cljs.core.some(cljs.spec.alpha.invalid_QMARK_,ms))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,ms);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__36888_SHARP_){\nreturn cljs.spec.alpha.unform(p1__36888_SHARP_,x);\n}),cljs.core.reverse(self__.preds)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__36889_SHARP_,p2__36890_SHARP_){\nreturn cljs.spec.alpha.explain_1(p1__36889_SHARP_,p2__36890_SHARP_,path,via,in$,x);\n}),self__.forms,self__.preds));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36891_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,p1__36891_SHARP_);\n}),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.tuple,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (p1__36892_SHARP_,p2__36893_SHARP_){\nreturn cljs.spec.alpha.gensub(p1__36892_SHARP_,overrides,path,rmap,p2__36893_SHARP_);\n}),self__.preds,self__.forms))], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.merge_spec_impl.cljs$core$IFn$_invoke$arity$3(self__.forms,self__.preds,gfn__$1) : cljs.spec.alpha.merge_spec_impl.call(null,self__.forms,self__.preds,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22merge\x22,\x22cljs.spec.alpha/merge\x22,1420080689,null),null,(1),null)),self__.forms)));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null),new cljs.core.Symbol(null,\x22preds\x22,\x22preds\x22,150921777,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta36898\x22,\x22meta36898\x22,-258313624,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36897\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36897.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36897\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36897.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36897 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36897(forms,preds,gfn,meta36898){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36897(forms,preds,gfn,meta36898));\n});\n\n\n/**\n * Do not call this directly, use \x27merge\x27\n */\ncljs.spec.alpha.merge_spec_impl \x3d (function cljs$spec$alpha$merge_spec_impl(forms,preds,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36897(forms,preds,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.empty_coll \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(\x22cljs.core\x22,\x22vector?\x22,\x22cljs.core/vector?\x22,-1550392028,null),cljs.core.PersistentVector.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22set?\x22,\x22cljs.core/set?\x22,-1176684971,null),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22list?\x22,\x22cljs.core/list?\x22,-684796618,null),cljs.core.List.EMPTY,new cljs.core.Symbol(\x22cljs.core\x22,\x22map?\x22,\x22cljs.core/map?\x22,-1390345523,null),cljs.core.PersistentArrayMap.EMPTY], null);\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha36946 \x3d (function (form,max_count,check_QMARK_,map__36912,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,p__36911,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta36947){\nthis.form \x3d form;\nthis.max_count \x3d max_count;\nthis.check_QMARK_ \x3d check_QMARK_;\nthis.map__36912 \x3d map__36912;\nthis.gfn \x3d gfn;\nthis.gen_max \x3d gen_max;\nthis.pred \x3d pred;\nthis.cpred \x3d cpred;\nthis.conform_keys \x3d conform_keys;\nthis.kind_form \x3d kind_form;\nthis.addcv \x3d addcv;\nthis.p__36911 \x3d p__36911;\nthis.cfns \x3d cfns;\nthis.describe_form \x3d describe_form;\nthis.distinct \x3d distinct;\nthis.spec \x3d spec;\nthis.kfn \x3d kfn;\nthis.gen_into \x3d gen_into;\nthis.count \x3d count;\nthis.min_count \x3d min_count;\nthis.opts \x3d opts;\nthis.kind \x3d kind;\nthis.conform_all \x3d conform_all;\nthis.conform_into \x3d conform_into;\nthis.meta36947 \x3d meta36947;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_36948,meta36947__$1){\nvar self__ \x3d this;\nvar _36948__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36946(self__.form,self__.max_count,self__.check_QMARK_,self__.map__36912,self__.gfn,self__.gen_max,self__.pred,self__.cpred,self__.conform_keys,self__.kind_form,self__.addcv,self__.p__36911,self__.cfns,self__.describe_form,self__.distinct,self__.spec,self__.kfn,self__.gen_into,self__.count,self__.min_count,self__.opts,self__.kind,self__.conform_all,self__.conform_into,meta36947__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_36948){\nvar self__ \x3d this;\nvar _36948__$1 \x3d this;\nreturn self__.meta36947;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nif(cljs.core.not((self__.cpred.cljs$core$IFn$_invoke$arity$1 ? self__.cpred.cljs$core$IFn$_invoke$arity$1(x) : self__.cpred.call(null,x)))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nif(cljs.core.truth_(self__.conform_all)){\nvar vec__36955 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36955,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36955,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__36955,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__36962 \x3d cljs.core.seq(x);\nvar vec__36963 \x3d G__36962;\nvar seq__36964 \x3d cljs.core.seq(vec__36963);\nvar first__36965 \x3d cljs.core.first(seq__36964);\nvar seq__36964__$1 \x3d cljs.core.next(seq__36964);\nvar v \x3d first__36965;\nvar vs \x3d seq__36964__$1;\nvar vseq \x3d vec__36963;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__36962__$1 \x3d G__36962;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__36967 \x3d G__36962__$1;\nvar seq__36968 \x3d cljs.core.seq(vec__36967);\nvar first__36969 \x3d cljs.core.first(seq__36968);\nvar seq__36968__$1 \x3d cljs.core.next(seq__36968);\nvar v__$1 \x3d first__36969;\nvar vs__$1 \x3d seq__36968__$1;\nvar vseq__$1 \x3d vec__36967;\nif(vseq__$1){\nvar cv \x3d cljs.spec.alpha.conform_STAR_(spec__$1,v__$1);\nif(cljs.spec.alpha.invalid_QMARK_(cv)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nvar G__38375 \x3d (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(ret__$2,i__$2,v__$1,cv) : add.call(null,ret__$2,i__$2,v__$1,cv));\nvar G__38376 \x3d (i__$2 + (1));\nvar G__38377 \x3d vs__$1;\nret__$1 \x3d G__38375;\ni__$1 \x3d G__38376;\nG__36962__$1 \x3d G__38377;\ncontinue;\n}\n} else {\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n}\nbreak;\n}\n} else {\nif(cljs.core.indexed_QMARK_(x)){\nvar step \x3d (function (){var x__5110__auto__ \x3d (1);\nvar y__5111__auto__ \x3d cljs.core.long$((cljs.core.count(x) / cljs.spec.alpha._STAR_coll_check_limit_STAR_));\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar i \x3d (0);\nwhile(true){\nif((i \x3e\x3d cljs.core.count(x))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(x,i))){\nvar G__38391 \x3d (i + step);\ni \x3d G__38391;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n} else {\nvar limit \x3d cljs.spec.alpha._STAR_coll_check_limit_STAR_;\nvar i \x3d (0);\nvar G__36973 \x3d cljs.core.seq(x);\nvar vec__36974 \x3d G__36973;\nvar seq__36975 \x3d cljs.core.seq(vec__36974);\nvar first__36976 \x3d cljs.core.first(seq__36975);\nvar seq__36975__$1 \x3d cljs.core.next(seq__36975);\nvar v \x3d first__36976;\nvar vs \x3d seq__36975__$1;\nvar vseq \x3d vec__36974;\nvar i__$1 \x3d i;\nvar G__36973__$1 \x3d G__36973;\nwhile(true){\nvar i__$2 \x3d i__$1;\nvar vec__36978 \x3d G__36973__$1;\nvar seq__36979 \x3d cljs.core.seq(vec__36978);\nvar first__36980 \x3d cljs.core.first(seq__36979);\nvar seq__36979__$1 \x3d cljs.core.next(seq__36979);\nvar v__$1 \x3d first__36980;\nvar vs__$1 \x3d seq__36979__$1;\nvar vseq__$1 \x3d vec__36978;\nif((((vseq__$1 \x3d\x3d null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(i__$2,limit)))){\nreturn x;\n} else {\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec__$1,v__$1)){\nvar G__38396 \x3d (i__$2 + (1));\nvar G__38397 \x3d vs__$1;\ni__$1 \x3d G__38396;\nG__36973__$1 \x3d G__38397;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n\n}\n}\nbreak;\n}\n}\n\n}\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.conform_all)){\nvar spec__$1 \x3d cljs.core.deref(self__.spec);\nvar vec__37007 \x3d (self__.cfns.cljs$core$IFn$_invoke$arity$1 ? self__.cfns.cljs$core$IFn$_invoke$arity$1(x) : self__.cfns.call(null,x));\nvar init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37007,(0),null);\nvar add \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37007,(1),null);\nvar complete \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37007,(2),null);\nvar ret \x3d (init.cljs$core$IFn$_invoke$arity$1 ? init.cljs$core$IFn$_invoke$arity$1(x) : init.call(null,x));\nvar i \x3d (0);\nvar G__37015 \x3d cljs.core.seq(x);\nvar vec__37019 \x3d G__37015;\nvar seq__37020 \x3d cljs.core.seq(vec__37019);\nvar first__37021 \x3d cljs.core.first(seq__37020);\nvar seq__37020__$1 \x3d cljs.core.next(seq__37020);\nvar v \x3d first__37021;\nvar vs \x3d seq__37020__$1;\nvar vseq \x3d vec__37019;\nvar ret__$1 \x3d ret;\nvar i__$1 \x3d i;\nvar G__37015__$1 \x3d G__37015;\nwhile(true){\nvar ret__$2 \x3d ret__$1;\nvar i__$2 \x3d i__$1;\nvar vec__37040 \x3d G__37015__$1;\nvar seq__37041 \x3d cljs.core.seq(vec__37040);\nvar first__37042 \x3d cljs.core.first(seq__37041);\nvar seq__37041__$1 \x3d cljs.core.next(seq__37041);\nvar v__$1 \x3d first__37042;\nvar vs__$1 \x3d seq__37041__$1;\nvar vseq__$1 \x3d vec__37040;\nif((i__$2 \x3e\x3d cljs.core.count(x))){\nreturn (complete.cljs$core$IFn$_invoke$arity$1 ? complete.cljs$core$IFn$_invoke$arity$1(ret__$2) : complete.call(null,ret__$2));\n} else {\nvar G__38404 \x3d (function (){var G__37054 \x3d ret__$2;\nvar G__37055 \x3d i__$2;\nvar G__37056 \x3d v__$1;\nvar G__37057 \x3d cljs.spec.alpha.unform_STAR_(spec__$1,v__$1);\nreturn (add.cljs$core$IFn$_invoke$arity$4 ? add.cljs$core$IFn$_invoke$arity$4(G__37054,G__37055,G__37056,G__37057) : add.call(null,G__37054,G__37055,G__37056,G__37057));\n})();\nvar G__38405 \x3d (i__$2 + (1));\nvar G__38406 \x3d vs__$1;\nret__$1 \x3d G__38404;\ni__$1 \x3d G__38405;\nG__37015__$1 \x3d G__38406;\ncontinue;\n}\nbreak;\n}\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5025__auto__ \x3d cljs.spec.alpha.coll_prob(x,self__.kind,self__.kind_form,self__.distinct,self__.count,self__.min_count,self__.max_count,path,via,in$);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,(function (){var G__37061 \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2(cljs.core.identity,cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (i,v){\nvar k \x3d (self__.kfn.cljs$core$IFn$_invoke$arity$2 ? self__.kfn.cljs$core$IFn$_invoke$arity$2(i,v) : self__.kfn.call(null,i,v));\nif(cljs.core.truth_((self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self__.check_QMARK_.cljs$core$IFn$_invoke$arity$1(v) : self__.check_QMARK_.call(null,v)))){\nreturn null;\n} else {\nvar prob \x3d cljs.spec.alpha.explain_1(self__.form,self__.pred,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,k),v);\nreturn prob;\n}\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$0(),x));\nvar fexpr__37060 \x3d (cljs.core.truth_(self__.conform_all)?cljs.core.identity:cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.core.take,cljs.spec.alpha._STAR_coll_error_limit_STAR_));\nreturn (fexpr__37060.cljs$core$IFn$_invoke$arity$1 ? fexpr__37060.cljs$core$IFn$_invoke$arity$1(G__37061) : fexpr__37060.call(null,G__37061));\n})());\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nvar pgen \x3d cljs.spec.alpha.gensub(self__.pred,overrides,path,rmap,self__.form);\nreturn cljs.spec.gen.alpha.bind.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(self__.gen_into)?cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.gen_into], 0)):(cljs.core.truth_(self__.kind)?cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36905_SHARP_){\nif(cljs.core.empty_QMARK_(p1__36905_SHARP_)){\nreturn p1__36905_SHARP_;\n} else {\nreturn cljs.core.empty(p1__36905_SHARP_);\n}\n}),cljs.spec.alpha.gensub(self__.kind,overrides,path,rmap,self__.form)], 0)):cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0))\n)),(function (init){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__36906_SHARP_){\nif(cljs.core.vector_QMARK_(init)){\nreturn p1__36906_SHARP_;\n} else {\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(init,p1__36906_SHARP_);\n}\n}),(cljs.core.truth_(self__.distinct)?(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22num-elements\x22,\x22num-elements\x22,1960422107),self__.count,new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0)):cljs.spec.gen.alpha.vector_distinct.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22min-elements\x22,\x22min-elements\x22,949370780),(function (){var or__5025__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})(),new cljs.core.Keyword(null,\x22max-elements\x22,\x22max-elements\x22,433034073),(function (){var or__5025__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar x__5110__auto__ \x3d self__.gen_max;\nvar y__5111__auto__ \x3d ((2) * (function (){var or__5025__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}\n})(),new cljs.core.Keyword(null,\x22max-tries\x22,\x22max-tries\x22,-1824441792),(100)], null)], 0))):(cljs.core.truth_(self__.count)?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,self__.count], 0)):(cljs.core.truth_((function (){var or__5025__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn self__.max_count;\n}\n})())?cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(function (){var or__5025__auto__ \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})(),(function (){var or__5025__auto__ \x3d self__.max_count;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar x__5110__auto__ \x3d self__.gen_max;\nvar y__5111__auto__ \x3d ((2) * (function (){var or__5025__auto____$1 \x3d self__.min_count;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (0);\n}\n})());\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n}\n})()], 0)):cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([pgen,(0),self__.gen_max], 0))\n)))], 0));\n})], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(self__.form,self__.pred,self__.opts,gfn__$1);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5025__auto__ \x3d self__.describe_form;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22every\x22,\x22cljs.spec.alpha/every\x22,123912744,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.identity,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([self__.opts], 0))], 0))));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 25, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22max-count\x22,\x22max-count\x22,-1115250464,null),new cljs.core.Symbol(null,\x22check?\x22,\x22check?\x22,409539557,null),new cljs.core.Symbol(null,\x22map__36912\x22,\x22map__36912\x22,1204787654,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22gen-max\x22,\x22gen-max\x22,846851082,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22cpred\x22,\x22cpred\x22,-540353554,null),new cljs.core.Symbol(null,\x22conform-keys\x22,\x22conform-keys\x22,-159510287,null),new cljs.core.Symbol(null,\x22kind-form\x22,\x22kind-form\x22,1155997457,null),new cljs.core.Symbol(null,\x22addcv\x22,\x22addcv\x22,-1552991247,null),new cljs.core.Symbol(null,\x22p__36911\x22,\x22p__36911\x22,698278962,null),new cljs.core.Symbol(null,\x22cfns\x22,\x22cfns\x22,1335482066,null),new cljs.core.Symbol(null,\x22describe-form\x22,\x22describe-form\x22,-1410156588,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22kfn\x22,\x22kfn\x22,729311001,null),new cljs.core.Symbol(null,\x22gen-into\x22,\x22gen-into\x22,592640985,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22min-count\x22,\x22min-count\x22,-1059726756,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22kind\x22,\x22kind\x22,923265724,null),new cljs.core.Symbol(null,\x22conform-all\x22,\x22conform-all\x22,-980179459,null),new cljs.core.Symbol(null,\x22conform-into\x22,\x22conform-into\x22,-1039113729,null),new cljs.core.Symbol(null,\x22meta36947\x22,\x22meta36947\x22,-541046810,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha36946\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha36946.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha36946\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha36946.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha36946 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha36946(form,max_count,check_QMARK_,map__36912,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,p__36911,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta36947){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36946(form,max_count,check_QMARK_,map__36912,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,p__36911,cfns,describe_form,distinct,spec,kfn,gen_into,count,min_count,opts,kind,conform_all,conform_into,meta36947));\n});\n\n\n/**\n * Do not call this directly, use \x27every\x27, \x27every-kv\x27, \x27coll-of\x27 or \x27map-of\x27\n */\ncljs.spec.alpha.every_impl \x3d (function cljs$spec$alpha$every_impl(var_args){\nvar G__36910 \x3d arguments.length;\nswitch (G__36910) {\ncase 3:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$3 \x3d (function (form,pred,opts){\nreturn cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4(form,pred,opts,null);\n}));\n\n(cljs.spec.alpha.every_impl.cljs$core$IFn$_invoke$arity$4 \x3d (function (form,pred,p__36911,gfn){\nvar map__36912 \x3d p__36911;\nvar map__36912__$1 \x3d cljs.core.__destructure_map(map__36912);\nvar opts \x3d map__36912__$1;\nvar max_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22max-count\x22,\x22max-count\x22,1539185305));\nvar kind_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kind-form\x22,\x22cljs.spec.alpha/kind-form\x22,-1047104697));\nvar gen_max \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__36912__$1,new cljs.core.Keyword(null,\x22gen-max\x22,\x22gen-max\x22,-793680445),(20));\nvar cpred \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22cpred\x22,\x22cljs.spec.alpha/cpred\x22,-693471218));\nvar conform_keys \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22conform-keys\x22,\x22conform-keys\x22,-1800041814));\nvar describe_form \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22describe\x22,\x22cljs.spec.alpha/describe\x22,1883026911));\nvar distinct \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22distinct\x22,\x22distinct\x22,-1788879121));\nvar kfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kfn\x22,\x22cljs.spec.alpha/kfn\x22,672643897));\nvar count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22count\x22,\x22count\x22,2139924085));\nvar min_count \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22min-count\x22,\x22min-count\x22,1594709013));\nvar kind \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22kind\x22,\x22kind\x22,-717265803));\nvar conform_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22conform-all\x22,\x22cljs.spec.alpha/conform-all\x22,45201917));\nvar conform_into \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__36912__$1,new cljs.core.Keyword(null,\x22into\x22,\x22into\x22,-150836029));\nvar gen_into \x3d (cljs.core.truth_(conform_into)?cljs.core.empty(conform_into):cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.empty_coll,kind_form));\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(pred);\n}),null));\nvar check_QMARK_ \x3d (function (p1__36903_SHARP_){\nreturn cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(spec),p1__36903_SHARP_);\n});\nvar kfn__$1 \x3d (function (){var or__5025__auto__ \x3d kfn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (function (i,v){\nreturn i;\n});\n}\n})();\nvar addcv \x3d (function (ret,i,v,cv){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cv);\n});\nvar cfns \x3d (function (x){\nif(((cljs.core.vector_QMARK_(x)) \x26\x26 (((cljs.core.not(conform_into)) || (cljs.core.vector_QMARK_(conform_into)))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.identity,(function (ret,i,v,cv){\nif((v \x3d\x3d\x3d cv)){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,i,cv);\n}\n}),cljs.core.identity], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.map_QMARK_(x);\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d (function (){var and__5023__auto____$1 \x3d kind;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn cljs.core.not(conform_into);\n} else {\nreturn and__5023__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.map_QMARK_(conform_into);\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(cljs.core.truth_(conform_keys)?cljs.core.empty:cljs.core.identity),(function (ret,i,v,cv){\nif((((v \x3d\x3d\x3d cv)) \x26\x26 (cljs.core.not(conform_keys)))){\nreturn ret;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,cljs.core.nth.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(conform_keys)?cv:v),(0)),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(cv,(1)));\n}\n}),cljs.core.identity], null);\n} else {\nif(((cljs.core.list_QMARK_(conform_into)) || (((cljs.core.seq_QMARK_(conform_into)) || (((cljs.core.not(conform_into)) \x26\x26 (((cljs.core.list_QMARK_(x)) || (cljs.core.seq_QMARK_(x)))))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.empty,addcv,cljs.core.reverse], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (p1__36904_SHARP_){\nreturn cljs.core.empty((function (){var or__5025__auto__ \x3d conform_into;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p1__36904_SHARP_;\n}\n})());\n}),addcv,cljs.core.identity], null);\n\n}\n}\n}\n});\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha36946(form,max_count,check_QMARK_,map__36912__$1,gfn,gen_max,pred,cpred,conform_keys,kind_form,addcv,p__36911,cfns,describe_form,distinct,spec,kfn__$1,gen_into,count,min_count,opts,kind,conform_all,conform_into,cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(cljs.spec.alpha.every_impl.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.spec.alpha.accept \x3d (function cljs$spec$alpha$accept(x){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),x], null);\n});\ncljs.spec.alpha.accept_QMARK_ \x3d (function cljs$spec$alpha$accept_QMARK_(p__37094){\nvar map__37095 \x3d p__37094;\nvar map__37095__$1 \x3d cljs.core.__destructure_map(map__37095);\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37095__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),op);\n});\ncljs.spec.alpha.pcat_STAR_ \x3d (function cljs$spec$alpha$pcat_STAR_(p__37099){\nvar map__37102 \x3d p__37099;\nvar map__37102__$1 \x3d cljs.core.__destructure_map(map__37102);\nvar vec__37103 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37102__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37104 \x3d cljs.core.seq(vec__37103);\nvar first__37105 \x3d cljs.core.first(seq__37104);\nvar seq__37104__$1 \x3d cljs.core.next(seq__37104);\nvar p1 \x3d first__37105;\nvar pr \x3d seq__37104__$1;\nvar ps \x3d vec__37103;\nvar vec__37106 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37102__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__37107 \x3d cljs.core.seq(vec__37106);\nvar first__37108 \x3d cljs.core.first(seq__37107);\nvar seq__37107__$1 \x3d cljs.core.next(seq__37107);\nvar k1 \x3d first__37108;\nvar kr \x3d seq__37107__$1;\nvar ks \x3d vec__37106;\nvar vec__37109 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37102__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar seq__37110 \x3d cljs.core.seq(vec__37109);\nvar first__37111 \x3d cljs.core.first(seq__37110);\nvar seq__37110__$1 \x3d cljs.core.next(seq__37110);\nvar f1 \x3d first__37111;\nvar fr \x3d seq__37110__$1;\nvar forms \x3d vec__37109;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37102__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37102__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nif(cljs.core.every_QMARK_(cljs.core.identity,ps)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nvar rp \x3d new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1);\nvar ret__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,(cljs.core.truth_(ks)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k1,rp]):rp));\nif(pr){\nvar G__37114 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),fr,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret__$1], null);\nreturn (cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.pcat_STAR_.cljs$core$IFn$_invoke$arity$1(G__37114) : cljs.spec.alpha.pcat_STAR_.call(null,G__37114));\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),rep_PLUS_], null);\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.pcat \x3d (function cljs$spec$alpha$pcat(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38454 \x3d arguments.length;\nvar i__5750__auto___38455 \x3d (0);\nwhile(true){\nif((i__5750__auto___38455 \x3c len__5749__auto___38454)){\nargs__5755__auto__.push((arguments[i__5750__auto___38455]));\n\nvar G__38456 \x3d (i__5750__auto___38455 + (1));\ni__5750__auto___38455 \x3d G__38456;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.alpha.pcat.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY], null));\n}));\n\n(cljs.spec.alpha.pcat.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.pcat.cljs$lang$applyTo \x3d (function (seq37117){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq37117));\n}));\n\n/**\n * Do not call this directly, use \x27cat\x27\n */\ncljs.spec.alpha.cat_impl \x3d (function cljs$spec$alpha$cat_impl(ks,ps,forms){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentArrayMap.EMPTY], null));\n});\ncljs.spec.alpha.rep_STAR_ \x3d (function cljs$spec$alpha$rep_STAR_(p1,p2,ret,splice,form){\nif(cljs.core.truth_(p1)){\nvar r \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641),p2,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165),splice,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),form,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid()], null);\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1))], 0));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(r,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),p1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Do not call this directly, use \x27*\x27\n */\ncljs.spec.alpha.rep_impl \x3d (function cljs$spec$alpha$rep_impl(form,p){\nreturn cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,false,form);\n});\n/**\n * Do not call this directly, use \x27+\x27\n */\ncljs.spec.alpha.rep_PLUS_impl \x3d (function cljs$spec$alpha$rep_PLUS_impl(form,p){\nreturn cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.rep_STAR_(p,p,cljs.core.PersistentVector.EMPTY,true,form)], null),new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)))))),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396),form], null));\n});\n/**\n * Do not call this directly, use \x27\x26\x27\n */\ncljs.spec.alpha.amp_impl \x3d (function cljs$spec$alpha$amp_impl(re,re_form,preds,pred_forms){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954),re,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571),re_form,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),preds,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),pred_forms], null);\n});\ncljs.spec.alpha.filter_alt \x3d (function cljs$spec$alpha$filter_alt(ps,ks,forms,f){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d ks;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn forms;\n}\n})())){\nvar pks \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__37138_SHARP_){\nvar G__37149 \x3d cljs.core.first(p1__37138_SHARP_);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__37149) : f.call(null,G__37149));\n}),cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})()));\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,pks)),(cljs.core.truth_(ks)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.second,pks)):null),(cljs.core.truth_(forms)?cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37145_SHARP_){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(p1__37145_SHARP_,(2));\n}),pks)):null)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(f,ps)),ks,forms], null);\n}\n});\ncljs.spec.alpha.alt_STAR_ \x3d (function cljs$spec$alpha$alt_STAR_(ps,ks,forms){\nvar vec__37158 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms,cljs.core.identity);\nvar vec__37161 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37158,(0),null);\nvar seq__37162 \x3d cljs.core.seq(vec__37161);\nvar first__37163 \x3d cljs.core.first(seq__37162);\nvar seq__37162__$1 \x3d cljs.core.next(seq__37162);\nvar p1 \x3d first__37163;\nvar pr \x3d seq__37162__$1;\nvar ps__$1 \x3d vec__37161;\nvar vec__37164 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37158,(1),null);\nvar k1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37164,(0),null);\nvar ks__$1 \x3d vec__37164;\nvar forms__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37158,(2),null);\nif(cljs.core.truth_(ps__$1)){\nvar ret \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),ps__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms__$1], null);\nif((pr \x3d\x3d null)){\nif(cljs.core.truth_(k1)){\nif(cljs.spec.alpha.accept_QMARK_(p1)){\nreturn cljs.spec.alpha.accept(cljs.spec.alpha.tagged_ret(k1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(p1)));\n} else {\nreturn ret;\n}\n} else {\nreturn p1;\n}\n} else {\nreturn ret;\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.alts \x3d (function cljs$spec$alpha$alts(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___38465 \x3d arguments.length;\nvar i__5750__auto___38466 \x3d (0);\nwhile(true){\nif((i__5750__auto___38466 \x3c len__5749__auto___38465)){\nargs__5755__auto__.push((arguments[i__5750__auto___38466]));\n\nvar G__38467 \x3d (i__5750__auto___38466 + (1));\ni__5750__auto___38466 \x3d G__38467;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ps){\nreturn cljs.spec.alpha.alt_STAR_(ps,null,null);\n}));\n\n(cljs.spec.alpha.alts.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(cljs.spec.alpha.alts.cljs$lang$applyTo \x3d (function (seq37170){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq37170));\n}));\n\ncljs.spec.alpha.alt2 \x3d (function cljs$spec$alpha$alt2(p1,p2){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d p1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn p2;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.spec.alpha.alts.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1,p2], 0));\n} else {\nvar or__5025__auto__ \x3d p1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p2;\n}\n}\n});\n/**\n * Do not call this directly, use \x27alt\x27\n */\ncljs.spec.alpha.alt_impl \x3d (function cljs$spec$alpha$alt_impl(ks,ps,forms){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(ps,ks,forms),new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),cljs.core.random_uuid());\n});\n/**\n * Do not call this directly, use \x27?\x27\n */\ncljs.spec.alpha.maybe_impl \x3d (function cljs$spec$alpha$maybe_impl(p,form){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.alt_STAR_(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cljs.spec.alpha.accept(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))], null),null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [form,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)], null)),new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560),form);\n});\ncljs.spec.alpha.noret_QMARK_ \x3d (function cljs$spec$alpha$noret_QMARK_(p1,pret){\nvar or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(pret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950));\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var and__5023__auto__ \x3d (function (){var G__37184 \x3d new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(cljs.spec.alpha.reg_resolve_BANG_(p1));\nvar fexpr__37183 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),null,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),null], null), null);\nreturn (fexpr__37183.cljs$core$IFn$_invoke$arity$1 ? fexpr__37183.cljs$core$IFn$_invoke$arity$1(G__37184) : fexpr__37183.call(null,G__37184));\n})();\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.empty_QMARK_(pret);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn null;\n}\n}\n});\ncljs.spec.alpha.accept_nil_QMARK_ \x3d (function cljs$spec$alpha$accept_nil_QMARK_(p){\nvar map__37222 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37222__$1 \x3d cljs.core.__destructure_map(map__37222);\nvar p__$1 \x3d map__37222__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37222__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37222__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37222__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37222__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37222__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__37225 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37225)){\nreturn true;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37225)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37225)){\nvar and__5023__auto__ \x3d (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\nif(cljs.core.truth_(and__5023__auto__)){\nvar ret \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1),ps,cljs.core.next(forms));\nreturn (!(cljs.spec.alpha.invalid_QMARK_(ret)));\n} else {\nreturn and__5023__auto__;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37225)){\nvar or__5025__auto__ \x3d (p1 \x3d\x3d\x3d p2);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn (cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.accept_nil_QMARK_.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.accept_nil_QMARK_.call(null,p1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37225)){\nreturn cljs.core.every_QMARK_(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37225)){\nreturn cljs.core.some(cljs.spec.alpha.accept_nil_QMARK_,ps);\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37225)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.preturn \x3d (function cljs$spec$alpha$preturn(p){\nvar map__37237 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37237__$1 \x3d cljs.core.__destructure_map(map__37237);\nvar p__$1 \x3d map__37237__$1;\nvar vec__37238 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37237__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37239 \x3d cljs.core.seq(vec__37238);\nvar first__37240 \x3d cljs.core.first(seq__37239);\nvar seq__37239__$1 \x3d cljs.core.next(seq__37239);\nvar p0 \x3d first__37240;\nvar pr \x3d seq__37239__$1;\nvar ps \x3d vec__37238;\nvar vec__37241 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37237__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37241,(0),null);\nvar ks \x3d vec__37241;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37237__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37237__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37237__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37237__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar G__37245 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37245)){\nreturn ret;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37245)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37245)){\nvar pret \x3d (cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p1) : cljs.spec.alpha.preturn.call(null,p1));\nif(cljs.core.truth_(cljs.spec.alpha.noret_QMARK_(p1,pret))){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950);\n} else {\nreturn cljs.spec.alpha.and_preds(pret,ps,forms);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37245)){\nreturn cljs.spec.alpha.add_ret(p1,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37245)){\nreturn cljs.spec.alpha.add_ret(p0,ret,k);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37245)){\nvar vec__37250 \x3d cljs.spec.alpha.filter_alt(ps,ks,forms,cljs.spec.alpha.accept_nil_QMARK_);\nvar vec__37253 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37250,(0),null);\nvar p0__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37253,(0),null);\nvar vec__37256 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37250,(1),null);\nvar k0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37256,(0),null);\nvar r \x3d (((p0__$1 \x3d\x3d null))?new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950):(cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.preturn.cljs$core$IFn$_invoke$arity$1(p0__$1) : cljs.spec.alpha.preturn.call(null,p0__$1)));\nif(cljs.core.truth_(k0)){\nreturn cljs.spec.alpha.tagged_ret(k0,r);\n} else {\nreturn r;\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37245)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.op_unform \x3d (function cljs$spec$alpha$op_unform(p,x){\nvar map__37270 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37270__$1 \x3d cljs.core.__destructure_map(map__37270);\nvar p__$1 \x3d map__37270__$1;\nvar vec__37271 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37272 \x3d cljs.core.seq(vec__37271);\nvar first__37273 \x3d cljs.core.first(seq__37272);\nvar seq__37272__$1 \x3d cljs.core.next(seq__37272);\nvar p0 \x3d first__37273;\nvar pr \x3d seq__37272__$1;\nvar ps \x3d vec__37271;\nvar vec__37274 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37274,(0),null);\nvar ks \x3d vec__37274;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37270__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar kps \x3d cljs.core.zipmap(ks,ps);\nvar G__37279 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37279)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37279)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p__$1,x)], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37279)){\nvar px \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__37265_SHARP_,p2__37264_SHARP_){\nreturn cljs.spec.alpha.unform(p2__37264_SHARP_,p1__37265_SHARP_);\n}),x,cljs.core.reverse(ps));\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,px) : cljs.spec.alpha.op_unform.call(null,p1,px));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37279)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__37266_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p1,p1__37266_SHARP_) : cljs.spec.alpha.op_unform.call(null,p1,p1__37266_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37279)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__37267_SHARP_){\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(p0,p1__37267_SHARP_) : cljs.spec.alpha.op_unform.call(null,p0,p1__37267_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([x], 0));\n} else {\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (k__$1){\nif(cljs.core.contains_QMARK_(x,k__$1)){\nvar G__37282 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__37283 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(x,k__$1);\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__37282,G__37283) : cljs.spec.alpha.op_unform.call(null,G__37282,G__37283));\n} else {\nreturn null;\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37279)){\nif(cljs.core.truth_(maybe)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.spec.alpha.unform(p0,x)], null);\n} else {\nvar vec__37285 \x3d x;\nvar k__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37285,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37285,(1),null);\nvar G__37288 \x3d (kps.cljs$core$IFn$_invoke$arity$1 ? kps.cljs$core$IFn$_invoke$arity$1(k__$1) : kps.call(null,k__$1));\nvar G__37289 \x3d v;\nreturn (cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.op_unform.cljs$core$IFn$_invoke$arity$2(G__37288,G__37289) : cljs.spec.alpha.op_unform.call(null,G__37288,G__37289));\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37279)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.add_ret \x3d (function cljs$spec$alpha$add_ret(p,r,k){\nvar map__37290 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37290__$1 \x3d cljs.core.__destructure_map(map__37290);\nvar p__$1 \x3d map__37290__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37290__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37290__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37290__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar prop \x3d (function (){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core.empty_QMARK_(ret)){\nreturn r;\n} else {\nvar G__37302 \x3d r;\nvar G__37303 \x3d (cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret);\nvar fexpr__37301 \x3d (cljs.core.truth_(splice)?cljs.core.into:cljs.core.conj);\nreturn (fexpr__37301.cljs$core$IFn$_invoke$arity$2 ? fexpr__37301.cljs$core$IFn$_invoke$arity$2(G__37302,G__37303) : fexpr__37301.call(null,G__37302,G__37303));\n}\n});\nvar G__37317 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37317)){\nreturn r;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37317)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37317)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37317)){\nvar ret \x3d cljs.spec.alpha.preturn(p__$1);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn r;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(cljs.core.truth_(k)?cljs.core.PersistentArrayMap.createAsIfByAssoc([k,ret]):ret));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37317)){\nreturn prop();\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37317)){\nreturn prop();\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37317)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n});\ncljs.spec.alpha.deriv \x3d (function cljs$spec$alpha$deriv(p,x){\nvar map__37345 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37345__$1 \x3d cljs.core.__destructure_map(map__37345);\nvar p__$1 \x3d map__37345__$1;\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar vec__37346 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar seq__37347 \x3d cljs.core.seq(vec__37346);\nvar first__37348 \x3d cljs.core.first(seq__37347);\nvar seq__37347__$1 \x3d cljs.core.next(seq__37347);\nvar p0 \x3d first__37348;\nvar pr \x3d seq__37347__$1;\nvar ps \x3d vec__37346;\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar vec__37349 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar seq__37350 \x3d cljs.core.seq(vec__37349);\nvar first__37351 \x3d cljs.core.first(seq__37350);\nvar seq__37350__$1 \x3d cljs.core.next(seq__37350);\nvar k0 \x3d first__37351;\nvar kr \x3d seq__37350__$1;\nvar ks \x3d vec__37349;\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37345__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__37355 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37355)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37355)){\nvar ret__$1 \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(p__$1,x,p__$1);\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37355)){\nvar temp__5823__auto__ \x3d (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar p1__$1 \x3d temp__5823__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p1__$1))){\nvar ret__$1 \x3d cljs.spec.alpha.and_preds(cljs.spec.alpha.preturn(p1__$1),ps,cljs.core.next(forms));\nif(cljs.spec.alpha.invalid_QMARK_(ret__$1)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.accept(ret__$1);\n}\n} else {\nreturn cljs.spec.alpha.amp_impl(p1__$1,amp,ps,forms);\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37355)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),cljs.core.cons((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p0,x) : cljs.spec.alpha.deriv.call(null,p0,x)),pr),new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),ks,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),forms,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),ret], null)),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p0))?(function (){var G__37361 \x3d cljs.spec.alpha.pcat_STAR_(new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046),pr,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942),kr,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350),cljs.core.next(forms),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cljs.spec.alpha.add_ret(p0,ret,k0)], null));\nvar G__37362 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__37361,G__37362) : cljs.spec.alpha.deriv.call(null,G__37361,G__37362));\n})():null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37355)){\nreturn cljs.spec.alpha.alt_STAR_(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37342_SHARP_){\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1__37342_SHARP_,x) : cljs.spec.alpha.deriv.call(null,p1__37342_SHARP_,x));\n}),ps),ks,forms);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37355)){\nreturn cljs.spec.alpha.alt2(cljs.spec.alpha.rep_STAR_((cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(p1,x) : cljs.spec.alpha.deriv.call(null,p1,x)),p2,ret,splice,forms),(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))?(function (){var G__37364 \x3d cljs.spec.alpha.rep_STAR_(p2,p2,cljs.spec.alpha.add_ret(p1,ret,null),splice,forms);\nvar G__37365 \x3d x;\nreturn (cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.deriv.cljs$core$IFn$_invoke$arity$2(G__37364,G__37365) : cljs.spec.alpha.deriv.call(null,G__37364,G__37365));\n})():null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37355)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_describe \x3d (function cljs$spec$alpha$op_describe(p){\nvar map__37369 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37369__$1 \x3d cljs.core.__destructure_map(map__37369);\nvar p__$1 \x3d map__37369__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar rep_PLUS_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22rep+\x22,\x22rep+\x22,-281382396));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar maybe \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22maybe\x22,\x22maybe\x22,-314397560));\nvar amp \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37369__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nif(cljs.core.truth_(p__$1)){\nvar G__37372 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37372)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37372)){\nreturn p__$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37372)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22\x26\x22,\x22cljs.spec.alpha/\x26\x22,1635809823,null),amp,forms);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37372)){\nif(cljs.core.truth_(rep_PLUS_)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null),(new cljs.core.List(null,rep_PLUS_,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22cat\x22,\x22cljs.spec.alpha/cat\x22,-1471398329,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22_\x22,\x22_\x22,1453416199));\n}\n})(),forms], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37372)){\nif(cljs.core.truth_(maybe)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22?\x22,\x22cljs.spec.alpha/?\x22,1605136319,null),(new cljs.core.List(null,maybe,null,(1),null)),(2),null));\n} else {\nreturn cljs.core.cons(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,-2130750332,null),cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.vector,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ks,forms], 0)));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37372)){\nreturn (new cljs.core.List(null,(cljs.core.truth_(splice)?new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22+\x22,\x22cljs.spec.alpha/+\x22,2101263265,null):new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22*\x22,\x22cljs.spec.alpha/*\x22,-1238084288,null)),(new cljs.core.List(null,forms,null,(1),null)),(2),null));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37372)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.op_explain \x3d (function cljs$spec$alpha$op_explain(form,p,path,via,in$,input){\nvar vec__37379 \x3d input;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37379,(0),null);\nvar input__$1 \x3d vec__37379;\nvar map__37382 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37382__$1 \x3d cljs.core.__destructure_map(map__37382);\nvar p__$1 \x3d map__37382__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37382__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar via__$1 \x3d (function (){var temp__5821__auto__ \x3d cljs.spec.alpha.spec_name(p__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar name \x3d temp__5821__auto__;\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(via,name);\n} else {\nreturn via;\n}\n})();\nvar insufficient \x3d (function (path__$1,form__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path__$1,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Insufficient input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),form__$1,new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via__$1,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n});\nif(cljs.core.truth_(p__$1)){\nvar G__37386 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37386)){\nreturn null;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37386)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,form);\n} else {\nreturn cljs.spec.alpha.explain_1(form,p__$1,path,via__$1,in$,x);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37386)){\nif(cljs.core.empty_QMARK_(input__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p1))){\nreturn cljs.spec.alpha.explain_pred_list(forms,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1));\n} else {\nreturn insufficient(path,new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1));\n}\n} else {\nvar temp__5821__auto__ \x3d cljs.spec.alpha.deriv(p1,x);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar p1__$1 \x3d temp__5821__auto__;\nreturn cljs.spec.alpha.explain_pred_list(forms,ps,path,via__$1,in$,cljs.spec.alpha.preturn(p1__$1));\n} else {\nvar G__37391 \x3d new cljs.core.Keyword(null,\x22amp\x22,\x22amp\x22,271690571).cljs$core$IFn$_invoke$arity$1(p__$1);\nvar G__37392 \x3d p1;\nvar G__37393 \x3d path;\nvar G__37394 \x3d via__$1;\nvar G__37395 \x3d in$;\nvar G__37396 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__37391,G__37392,G__37393,G__37394,G__37395,G__37396) : cljs.spec.alpha.op_explain.call(null,G__37391,G__37392,G__37393,G__37394,G__37395,G__37396));\n}\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37386)){\nvar pkfs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,ps,(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\nvar vec__37397 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(pkfs)))?cljs.core.first(pkfs):cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__37400){\nvar vec__37401 \x3d p__37400;\nvar p__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37401,(0),null);\nreturn cljs.spec.alpha.accept_nil_QMARK_(p__$2);\n}),pkfs)));\nvar pred \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37397,(0),null);\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37397,(1),null);\nvar form__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37397,(2),null);\nvar path__$1 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar form__$2 \x3d (function (){var or__5025__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nif(((cljs.core.empty_QMARK_(input__$1)) \x26\x26 (cljs.core.not(pred)))){\nreturn insufficient(path__$1,form__$2);\n} else {\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(form__$2,pred,path__$1,via__$1,in$,input__$1) : cljs.spec.alpha.op_explain.call(null,form__$2,pred,path__$1,via__$1,in$,input__$1));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37386)){\nif(cljs.core.empty_QMARK_(input__$1)){\nreturn insufficient(path,cljs.spec.alpha.op_describe(p__$1));\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.map.cljs$core$IFn$_invoke$arity$4((function (k,form__$1,pred){\nvar G__37404 \x3d (function (){var or__5025__auto__ \x3d form__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.spec.alpha.op_describe(pred);\n}\n})();\nvar G__37405 \x3d pred;\nvar G__37406 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__37407 \x3d via__$1;\nvar G__37408 \x3d in$;\nvar G__37409 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__37404,G__37405,G__37406,G__37407,G__37408,G__37409) : cljs.spec.alpha.op_explain.call(null,G__37404,G__37405,G__37406,G__37407,G__37408,G__37409));\n}),(function (){var or__5025__auto__ \x3d cljs.core.seq(ks);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),ps));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37386)){\nvar G__37410 \x3d (((p1 \x3d\x3d\x3d p2))?forms:cljs.spec.alpha.op_describe(p1));\nvar G__37411 \x3d p1;\nvar G__37412 \x3d path;\nvar G__37413 \x3d via__$1;\nvar G__37414 \x3d in$;\nvar G__37415 \x3d input__$1;\nreturn (cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6 ? cljs.spec.alpha.op_explain.cljs$core$IFn$_invoke$arity$6(G__37410,G__37411,G__37412,G__37413,G__37414,G__37415) : cljs.spec.alpha.op_explain.call(null,G__37410,G__37411,G__37412,G__37413,G__37414,G__37415));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37386)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n});\ncljs.spec.alpha.re_gen \x3d (function cljs$spec$alpha$re_gen(p,overrides,path,rmap,f){\nvar origp \x3d p;\nvar map__37417 \x3d cljs.spec.alpha.reg_resolve_BANG_(p);\nvar map__37417__$1 \x3d cljs.core.__destructure_map(map__37417);\nvar p__$1 \x3d map__37417__$1;\nvar ps \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22ps\x22,\x22ps\x22,292358046));\nvar forms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350));\nvar p2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22p2\x22,\x22p2\x22,905500641));\nvar ret \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814));\nvar gfn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22gfn\x22,\x22cljs.spec.alpha/gfn\x22,-593120375));\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252));\nvar splice \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22splice\x22,\x22splice\x22,449588165));\nvar ks \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22ks\x22,\x22ks\x22,1900203942));\nvar p1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22p1\x22,\x22p1\x22,-936759954));\nvar id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37417__$1,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092));\nvar rmap__$1 \x3d (cljs.core.truth_(id)?cljs.spec.alpha.inck(rmap,id):rmap);\nvar ggens \x3d (function (ps__$1,ks__$1,forms__$1){\nvar gen \x3d (function (p__$2,k,f__$1){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d rmap__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d id;\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d k;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,path,k);\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn null;\n} else {\nif(cljs.core.truth_(id)){\nreturn cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nvar G__37418 \x3d p__$2;\nvar G__37419 \x3d overrides;\nvar G__37420 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__37421 \x3d rmap__$1;\nvar G__37422 \x3d (function (){var or__5025__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__37418,G__37419,G__37420,G__37421,G__37422) : cljs.spec.alpha.re_gen.call(null,G__37418,G__37419,G__37420,G__37421,G__37422));\n}),null)));\n} else {\nvar G__37423 \x3d p__$2;\nvar G__37424 \x3d overrides;\nvar G__37425 \x3d (cljs.core.truth_(k)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,k):path);\nvar G__37426 \x3d rmap__$1;\nvar G__37427 \x3d (function (){var or__5025__auto__ \x3d f__$1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn p__$2;\n}\n})();\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__37423,G__37424,G__37425,G__37426,G__37427) : cljs.spec.alpha.re_gen.call(null,G__37423,G__37424,G__37425,G__37426,G__37427));\n}\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$4(gen,ps__$1,(function (){var or__5025__auto__ \x3d cljs.core.seq(ks__$1);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})(),(function (){var or__5025__auto__ \x3d cljs.core.seq(forms__$1);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null);\n}\n})());\n});\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(origp));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,cljs.spec.alpha.spec_name(p__$1));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(overrides,path);\n}\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar gfn__$1 \x3d temp__5823__auto__;\nvar G__37429 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22accept\x22,\x22accept\x22,1874130431),G__37429)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37429)){\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,(gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null))], 0));\n} else {\nreturn (gfn__$1.cljs$core$IFn$_invoke$arity$0 ? gfn__$1.cljs$core$IFn$_invoke$arity$0() : gfn__$1.call(null));\n\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.core.truth_(gfn)?(gfn.cljs$core$IFn$_invoke$arity$0 ? gfn.cljs$core$IFn$_invoke$arity$0() : gfn.call(null)):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nif(cljs.core.truth_(p__$1)){\nvar G__37432 \x3d op;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22accept\x22,\x22cljs.spec.alpha/accept\x22,370988198),G__37432)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [ret], null)], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__37432)){\nvar temp__5823__auto__ \x3d cljs.spec.alpha.gensub(p__$1,overrides,path,rmap__$1,f);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar g \x3d temp__5823__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vector,g], 0));\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22amp\x22,\x22cljs.spec.alpha/amp\x22,831147508),G__37432)){\nvar G__37436 \x3d p1;\nvar G__37437 \x3d overrides;\nvar G__37438 \x3d path;\nvar G__37439 \x3d rmap__$1;\nvar G__37440 \x3d cljs.spec.alpha.op_describe(p1);\nreturn (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(G__37436,G__37437,G__37438,G__37439,G__37440) : cljs.spec.alpha.re_gen.call(null,G__37436,G__37437,G__37438,G__37439,G__37440));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623),G__37432)){\nvar gens \x3d ggens(ps,ks,forms);\nif(cljs.core.every_QMARK_(cljs.core.identity,gens)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.spec.gen.alpha.cat,gens);\n} else {\nreturn null;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22alt\x22,\x22cljs.spec.alpha/alt\x22,523685437),G__37432)){\nvar gens \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,ggens(ps,ks,forms));\nif(cljs.core.empty_QMARK_(gens)){\nreturn null;\n} else {\nreturn cljs.spec.gen.alpha.one_of.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gens], 0));\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22rep\x22,\x22cljs.spec.alpha/rep\x22,1483217317),G__37432)){\nif(cljs.spec.alpha.recur_limit_QMARK_(rmap__$1,id,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [id], null),id)){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.PersistentVector.EMPTY], 0));\n} else {\nvar temp__5823__auto__ \x3d (cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5 ? cljs.spec.alpha.re_gen.cljs$core$IFn$_invoke$arity$5(p2,overrides,path,rmap__$1,forms) : cljs.spec.alpha.re_gen.call(null,p2,overrides,path,rmap__$1,forms));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar g \x3d temp__5823__auto__;\nreturn cljs.spec.gen.alpha.fmap.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (p1__37416_SHARP_){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,p1__37416_SHARP_);\n}),cljs.spec.gen.alpha.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([g], 0))], 0));\n} else {\nreturn null;\n}\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__37432)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.spec.alpha.re_conform \x3d (function cljs$spec$alpha$re_conform(p,p__37444){\nwhile(true){\nvar vec__37446 \x3d p__37444;\nvar seq__37447 \x3d cljs.core.seq(vec__37446);\nvar first__37448 \x3d cljs.core.first(seq__37447);\nvar seq__37447__$1 \x3d cljs.core.next(seq__37447);\nvar x \x3d first__37448;\nvar xs \x3d seq__37447__$1;\nvar data \x3d vec__37446;\nif(cljs.core.empty_QMARK_(data)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p))){\nvar ret \x3d cljs.spec.alpha.preturn(p);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ret,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950))){\nreturn null;\n} else {\nreturn ret;\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nvar temp__5821__auto__ \x3d cljs.spec.alpha.deriv(p,x);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar dp \x3d temp__5821__auto__;\nvar G__38623 \x3d dp;\nvar G__38624 \x3d xs;\np \x3d G__38623;\np__37444 \x3d G__38624;\ncontinue;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}\nbreak;\n}\n});\ncljs.spec.alpha.re_explain \x3d (function cljs$spec$alpha$re_explain(path,via,in$,re,input){\nvar p \x3d re;\nvar G__37457 \x3d input;\nvar vec__37458 \x3d G__37457;\nvar seq__37459 \x3d cljs.core.seq(vec__37458);\nvar first__37460 \x3d cljs.core.first(seq__37459);\nvar seq__37459__$1 \x3d cljs.core.next(seq__37459);\nvar x \x3d first__37460;\nvar xs \x3d seq__37459__$1;\nvar data \x3d vec__37458;\nvar i \x3d (0);\nvar p__$1 \x3d p;\nvar G__37457__$1 \x3d G__37457;\nvar i__$1 \x3d i;\nwhile(true){\nvar p__$2 \x3d p__$1;\nvar vec__37463 \x3d G__37457__$1;\nvar seq__37464 \x3d cljs.core.seq(vec__37463);\nvar first__37465 \x3d cljs.core.first(seq__37464);\nvar seq__37464__$1 \x3d cljs.core.next(seq__37464);\nvar x__$1 \x3d first__37465;\nvar xs__$1 \x3d seq__37464__$1;\nvar data__$1 \x3d vec__37463;\nvar i__$2 \x3d i__$1;\nif(cljs.core.empty_QMARK_(data__$1)){\nif(cljs.core.truth_(cljs.spec.alpha.accept_nil_QMARK_(p__$2))){\nreturn null;\n} else {\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,in$,null);\n}\n} else {\nvar temp__5821__auto__ \x3d cljs.spec.alpha.deriv(p__$2,x__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar dp \x3d temp__5821__auto__;\nvar G__38640 \x3d dp;\nvar G__38641 \x3d xs__$1;\nvar G__38642 \x3d (i__$2 + (1));\np__$1 \x3d G__38640;\nG__37457__$1 \x3d G__38641;\ni__$1 \x3d G__38642;\ncontinue;\n} else {\nif(cljs.spec.alpha.accept_QMARK_(p__$2)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22op\x22,\x22cljs.spec.alpha/op\x22,-1269055252).cljs$core$IFn$_invoke$arity$1(p__$2),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pcat\x22,\x22cljs.spec.alpha/pcat\x22,26406623))){\nreturn cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(re),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n} else {\nvar or__5025__auto__ \x3d cljs.spec.alpha.op_explain(cljs.spec.alpha.op_describe(p__$2),p__$2,path,via,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2),cljs.core.seq(data__$1));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),\x22Extra input\x22,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.spec.alpha.op_describe(p__$2),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),data__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(in$,i__$2)], null)], null);\n}\n}\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37483 \x3d (function (re,gfn,meta37484){\nthis.re \x3d re;\nthis.gfn \x3d gfn;\nthis.meta37484 \x3d meta37484;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37485,meta37484__$1){\nvar self__ \x3d this;\nvar _37485__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37483(self__.re,self__.gfn,meta37484__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37485){\nvar self__ \x3d this;\nvar _37485__$1 \x3d this;\nreturn self__.meta37484;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_conform(self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_unform(self__.re,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((((x \x3d\x3d null)) || (cljs.core.sequential_QMARK_(x)))){\nreturn cljs.spec.alpha.re_explain(path,via,in$,self__.re,cljs.core.seq(x));\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequential?\x22,\x22cljs.core/sequential?\x22,1777854658,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.alpha.re_gen(self__.re,overrides,path,rmap,cljs.spec.alpha.op_describe(self__.re));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2 ? cljs.spec.alpha.regex_spec_impl.cljs$core$IFn$_invoke$arity$2(self__.re,gfn__$1) : cljs.spec.alpha.regex_spec_impl.call(null,self__.re,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.op_describe(self__.re);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22re\x22,\x22re\x22,1869207729,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22meta37484\x22,\x22meta37484\x22,-1376973104,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37483\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37483.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37483\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37483.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37483 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37483(re,gfn,meta37484){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37483(re,gfn,meta37484));\n});\n\n\n/**\n * Do not call this directly, use \x27spec\x27 with a regex op argument\n */\ncljs.spec.alpha.regex_spec_impl \x3d (function cljs$spec$alpha$regex_spec_impl(re,gfn){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37483(re,gfn,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.call_valid_QMARK_ \x3d (function cljs$spec$alpha$call_valid_QMARK_(f,specs,args){\nvar cargs \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs),args);\nif(cljs.spec.alpha.invalid_QMARK_(cargs)){\nreturn null;\n} else {\nvar ret \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\nvar cret \x3d cljs.spec.alpha.conform(new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814).cljs$core$IFn$_invoke$arity$1(specs),ret);\nvar and__5023__auto__ \x3d (!(cljs.spec.alpha.invalid_QMARK_(cret)));\nif(and__5023__auto__){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs))){\nreturn cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(specs),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn true;\n}\n} else {\nreturn and__5023__auto__;\n}\n}\n});\n/**\n * returns f if valid, else smallest\n */\ncljs.spec.alpha.validate_fn \x3d (function cljs$spec$alpha$validate_fn(f,specs,iters){\nvar g \x3d cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576).cljs$core$IFn$_invoke$arity$1(specs));\nvar prop \x3d cljs.spec.gen.alpha.for_all_STAR_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [g], null),(function (p1__37552_SHARP_){\nreturn cljs.spec.alpha.call_valid_QMARK_(f,specs,p1__37552_SHARP_);\n})], 0));\nvar ret \x3d cljs.spec.gen.alpha.quick_check.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([iters,prop], 0));\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22smallest\x22,\x22smallest\x22,-152623883).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22shrunk\x22,\x22shrunk\x22,-2041664412).cljs$core$IFn$_invoke$arity$1(ret));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__37560 \x3d temp__5821__auto__;\nvar smallest \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37560,(0),null);\nreturn smallest;\n} else {\nreturn f;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.ILookup}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37571 \x3d (function (argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta37572){\nthis.argspec \x3d argspec;\nthis.aform \x3d aform;\nthis.retspec \x3d retspec;\nthis.rform \x3d rform;\nthis.fnspec \x3d fnspec;\nthis.fform \x3d fform;\nthis.gfn \x3d gfn;\nthis.specs \x3d specs;\nthis.meta37572 \x3d meta37572;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393472;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37573,meta37572__$1){\nvar self__ \x3d this;\nvar _37573__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37571(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,self__.gfn,self__.specs,meta37572__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37573){\nvar self__ \x3d this;\nvar _37573__$1 \x3d this;\nreturn self__.meta37572;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this$,k){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(self__.specs,k);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,not_found){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.specs,k,not_found);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nif((f \x3d\x3d\x3d cljs.spec.alpha.validate_fn(f,self__.specs,cljs.spec.alpha._STAR_fspec_iterations_STAR_))){\nreturn f;\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n} else {\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn f;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,f){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.ifn_QMARK_(f)){\nvar args \x3d cljs.spec.alpha.validate_fn(f,self__.specs,(100));\nif((f \x3d\x3d\x3d args)){\nreturn null;\n} else {\nvar ret \x3d (function (){try{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}catch (e37604){if((e37604 instanceof Error)){\nvar t \x3d e37604;\nreturn t;\n} else {\nthrow e37604;\n\n}\n}})();\nif((ret instanceof Error)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),cljs.core.list(new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null)),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),args,new cljs.core.Keyword(null,\x22reason\x22,\x22reason\x22,-2070751759),ret.message,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n} else {\nvar cret \x3d cljs.spec.alpha.dt.cljs$core$IFn$_invoke$arity$3(self__.retspec,ret,self__.rform);\nif(cljs.spec.alpha.invalid_QMARK_(cret)){\nreturn cljs.spec.alpha.explain_1(self__.rform,self__.retspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814)),via,in$,ret);\n} else {\nif(cljs.core.truth_(self__.fnspec)){\nvar cargs \x3d cljs.spec.alpha.conform(self__.argspec,args);\nreturn cljs.spec.alpha.explain_1(self__.fform,self__.fnspec,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)),via,in$,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),cargs,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),cret], null));\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path,new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),f,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null)], null);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,___$1,___$2){\nvar self__ \x3d this;\nvar ___$3 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function() { \nvar G__38704__delegate \x3d function (args){\nif(cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(self__.argspec,args)){\n} else {\nthrow (new Error([\x22Assert failed: \x22,(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__37633_38705 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__37634_38706 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__37635_38707 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__37636_38708 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__37635_38707);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__37636_38708);\n\ntry{cljs.spec.alpha.explain(self__.argspec,args);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__37634_38706);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__37633_38705);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})(),\x22\\n\x22,\x22(pvalid? argspec args)\x22].join(\x27\x27)));\n}\n\nreturn cljs.spec.gen.alpha.generate(cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(self__.retspec,overrides));\n};\nvar G__38704 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__38715__i \x3d 0, G__38715__a \x3d new Array(arguments.length - 0);\nwhile (G__38715__i \x3c G__38715__a.length) {G__38715__a[G__38715__i] \x3d arguments[G__38715__i + 0]; ++G__38715__i;}\n args \x3d new cljs.core.IndexedSeq(G__38715__a,0,null);\n} \nreturn G__38704__delegate.call(this,args);};\nG__38704.cljs$lang$maxFixedArity \x3d 0;\nG__38704.cljs$lang$applyTo \x3d (function (arglist__38716){\nvar args \x3d cljs.core.seq(arglist__38716);\nreturn G__38704__delegate(args);\n});\nG__38704.cljs$core$IFn$_invoke$arity$variadic \x3d G__38704__delegate;\nreturn G__38704;\n})()\n], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7 ? cljs.spec.alpha.fspec_impl.cljs$core$IFn$_invoke$arity$7(self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1) : cljs.spec.alpha.fspec_impl.call(null,self__.argspec,self__.aform,self__.retspec,self__.rform,self__.fnspec,self__.fform,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22fspec\x22,\x22cljs.spec.alpha/fspec\x22,-1289128341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,self__.aform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),null,(1),null)),(new cljs.core.List(null,self__.rform,null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,(1),null)),(new cljs.core.List(null,self__.fform,null,(1),null))], 0))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22argspec\x22,\x22argspec\x22,-1207762746,null),new cljs.core.Symbol(null,\x22aform\x22,\x22aform\x22,531303525,null),new cljs.core.Symbol(null,\x22retspec\x22,\x22retspec\x22,-920025354,null),new cljs.core.Symbol(null,\x22rform\x22,\x22rform\x22,-1420499912,null),new cljs.core.Symbol(null,\x22fnspec\x22,\x22fnspec\x22,-1865712406,null),new cljs.core.Symbol(null,\x22fform\x22,\x22fform\x22,-176049972,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null),new cljs.core.Symbol(null,\x22meta37572\x22,\x22meta37572\x22,-1213743226,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37571\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37571.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37571\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37571.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37571 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37571(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta37572){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37571(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,meta37572));\n});\n\n\n/**\n * Do not call this directly, use \x27fspec\x27\n */\ncljs.spec.alpha.fspec_impl \x3d (function cljs$spec$alpha$fspec_impl(argspec,aform,retspec,rform,fnspec,fform,gfn){\nvar specs \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),argspec,new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),retspec,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),fnspec], null);\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37571(argspec,aform,retspec,rform,fnspec,fform,gfn,specs,cljs.core.PersistentArrayMap.EMPTY));\n});\ncljs.spec.alpha.def_impl(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22kvs-\x3emap\x22,\x22cljs.spec.alpha/kvs-\x3emap\x22,579713455),cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__37650#\x22,\x22p1__37650#\x22,-343343750,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22p1__37650#\x22,\x22p1__37650#\x22,-343343750,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22p1__37650#\x22,\x22p1__37650#\x22,-343343750,null)))),cljs.core.list(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p1__37651#\x22,\x22p1__37651#\x22,2010245495,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22p1__37651#\x22,\x22p1__37651#\x22,2010245495,null)))),cljs.spec.alpha.spec_impl.cljs$core$IFn$_invoke$arity$5(cljs.core.list(new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22conformer\x22,\x22cljs.spec.alpha/conformer\x22,2140085535,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)], null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22map\x22,\x22cljs.core/map\x22,-338988913,null),cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)], null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),new cljs.core.Symbol(null,\x22k\x22,\x22k\x22,-505765866,null),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),new cljs.core.Symbol(null,\x22v\x22,\x22v\x22,1661996586,null)], null)),new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null)))),(function (p1__37650_SHARP_){\nreturn cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),p1__37650_SHARP_),cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),p1__37650_SHARP_));\n}),null,true,(function (p1__37651_SHARP_){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__37721){\nvar vec__37723 \x3d p__37721;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37723,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__37723,(1),null);\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22k\x22,\x22cljs.spec.alpha/k\x22,-1602615178),k,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22v\x22,\x22cljs.spec.alpha/v\x22,552625740),v], null);\n}),p1__37651_SHARP_);\n})));\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37729 \x3d (function (spec,meta37730){\nthis.spec \x3d spec;\nthis.meta37730 \x3d meta37730;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37731,meta37730__$1){\nvar self__ \x3d this;\nvar _37731__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37729(self__.spec,meta37730__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37731){\nvar self__ \x3d this;\nvar _37731__$1 \x3d this;\nreturn self__.meta37730;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar ret \x3d cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\nif(cljs.spec.alpha.invalid_QMARK_(ret)){\nreturn new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22invalid\x22,\x22cljs.spec.alpha/invalid\x22,-1220295119);\n} else {\nreturn x;\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.explain_STAR_(cljs.core.deref(self__.spec),path,via,in$,x);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.spec.alpha.gen_STAR_(cljs.core.deref(self__.spec),overrides,path,rmap);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar G__37746 \x3d cljs.spec.alpha.with_gen_STAR_(cljs.core.deref(self__.spec),gfn);\nreturn (cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1 ? cljs.spec.alpha.nonconforming.cljs$core$IFn$_invoke$arity$1(G__37746) : cljs.spec.alpha.nonconforming.call(null,G__37746));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nonconforming\x22,\x22cljs.spec.alpha/nonconforming\x22,-1009218508,null),null,(1),null)),(new cljs.core.List(null,cljs.spec.alpha.describe_STAR_(cljs.core.deref(self__.spec)),null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta37730\x22,\x22meta37730\x22,-135673564,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37729\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37729.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37729\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37729.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37729 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37729(spec,meta37730){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37729(spec,meta37730));\n});\n\n\n/**\n * takes a spec and returns a spec that has the same properties except\n * \x27conform\x27 returns the original (not the conformed) value. Note, will specize regex ops.\n */\ncljs.spec.alpha.nonconforming \x3d (function cljs$spec$alpha$nonconforming(spec){\nvar spec__$1 \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$1(spec);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37729(spec__$1,cljs.core.PersistentArrayMap.EMPTY));\n});\n\n/**\n* @constructor\n * @implements {cljs.spec.alpha.Spec}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.spec.alpha.Specize}\n * @implements {cljs.core.IWithMeta}\n*/\ncljs.spec.alpha.t_cljs$spec$alpha37771 \x3d (function (form,pred,gfn,spec,meta37772){\nthis.form \x3d form;\nthis.pred \x3d pred;\nthis.gfn \x3d gfn;\nthis.spec \x3d spec;\nthis.meta37772 \x3d meta37772;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 393216;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_37773,meta37772__$1){\nvar self__ \x3d this;\nvar _37773__$1 \x3d this;\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37771(self__.form,self__.pred,self__.gfn,self__.spec,meta37772__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_37773){\nvar self__ \x3d this;\nvar _37773__$1 \x3d this;\nreturn self__.meta37772;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Specize$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$1 \x3d (function (s){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Specize$specize_STAR_$arity$2 \x3d (function (s,_){\nvar self__ \x3d this;\nvar s__$1 \x3d this;\nreturn s__$1;\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$conform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.conform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$unform_STAR_$arity$2 \x3d (function (_,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.spec.alpha.unform_STAR_(cljs.core.deref(self__.spec),x);\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$explain_STAR_$arity$5 \x3d (function (_,path,via,in$,x){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(((cljs.spec.alpha.pvalid_QMARK_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.spec),x)) || ((x \x3d\x3d null)))){\nreturn null;\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.spec.alpha.explain_1(self__.form,self__.pred,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),via,in$,x),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22nil\x22,\x22cljs.spec.alpha/nil\x22,1733813950)),new cljs.core.Keyword(null,\x22pred\x22,\x22pred\x22,1927423397),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),x,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336),via,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865),in$], null));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$gen_STAR_$arity$4 \x3d (function (_,overrides,path,rmap){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nif(cljs.core.truth_(self__.gfn)){\nreturn (self__.gfn.cljs$core$IFn$_invoke$arity$0 ? self__.gfn.cljs$core$IFn$_invoke$arity$0() : self__.gfn.call(null));\n} else {\nreturn cljs.spec.gen.alpha.frequency.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.gen.alpha.return$.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([null], 0));\n}),null)))], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(9),cljs.spec.gen.alpha.delay_impl((new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.gensub(self__.pred,overrides,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(path,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22pred\x22,\x22cljs.spec.alpha/pred\x22,-798342594)),rmap,self__.form);\n}),null)))], null)], null)], 0));\n}\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$with_gen_STAR_$arity$2 \x3d (function (_,gfn__$1){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3 ? cljs.spec.alpha.nilable_impl.cljs$core$IFn$_invoke$arity$3(self__.form,self__.pred,gfn__$1) : cljs.spec.alpha.nilable_impl.call(null,self__.form,self__.pred,gfn__$1));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.prototype.cljs$spec$alpha$Spec$describe_STAR_$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.spec.alpha\x22,\x22nilable\x22,\x22cljs.spec.alpha/nilable\x22,1628308748,null),null,(1),null)),(new cljs.core.List(null,self__.form,null,(1),null)))));\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22gfn\x22,\x22gfn\x22,-1862918295,null),new cljs.core.Symbol(null,\x22spec\x22,\x22spec\x22,1988051928,null),new cljs.core.Symbol(null,\x22meta37772\x22,\x22meta37772\x22,-1972013450,null)], null);\n}));\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.cljs$lang$type \x3d true);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.cljs$lang$ctorStr \x3d \x22cljs.spec.alpha/t_cljs$spec$alpha37771\x22);\n\n(cljs.spec.alpha.t_cljs$spec$alpha37771.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.spec.alpha/t_cljs$spec$alpha37771\x22);\n}));\n\n/**\n * Positional factory function for cljs.spec.alpha/t_cljs$spec$alpha37771.\n */\ncljs.spec.alpha.__GT_t_cljs$spec$alpha37771 \x3d (function cljs$spec$alpha$__GT_t_cljs$spec$alpha37771(form,pred,gfn,spec,meta37772){\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37771(form,pred,gfn,spec,meta37772));\n});\n\n\n/**\n * Do not call this directly, use \x27nilable\x27\n */\ncljs.spec.alpha.nilable_impl \x3d (function cljs$spec$alpha$nilable_impl(form,pred,gfn){\nvar spec \x3d (new cljs.core.Delay((function (){\nreturn cljs.spec.alpha.specize.cljs$core$IFn$_invoke$arity$2(pred,form);\n}),null));\nreturn (new cljs.spec.alpha.t_cljs$spec$alpha37771(form,pred,gfn,spec,cljs.core.PersistentArrayMap.EMPTY));\n});\n/**\n * generates a number (default 10) of values compatible with spec and maps conform over them,\n * returning a sequence of [val conformed-val] tuples. Optionally takes\n * a generator overrides map as per gen\n */\ncljs.spec.alpha.exercise \x3d (function cljs$spec$alpha$exercise(var_args){\nvar G__37824 \x3d arguments.length;\nswitch (G__37824) {\ncase 1:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$1 \x3d (function (spec){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2(spec,(10));\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$2 \x3d (function (spec,n){\nreturn cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3(spec,n,null);\n}));\n\n(cljs.spec.alpha.exercise.cljs$core$IFn$_invoke$arity$3 \x3d (function (spec,n,overrides){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__37815_SHARP_){\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__37815_SHARP_,cljs.spec.alpha.conform(spec,p1__37815_SHARP_)],null));\n}),cljs.spec.gen.alpha.sample.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.spec.alpha.gen.cljs$core$IFn$_invoke$arity$2(spec,overrides),n], 0)));\n}));\n\n(cljs.spec.alpha.exercise.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Return true if inst at or after start and before end\n */\ncljs.spec.alpha.inst_in_range_QMARK_ \x3d (function cljs$spec$alpha$inst_in_range_QMARK_(start,end,inst){\nvar and__5023__auto__ \x3d cljs.core.inst_QMARK_(inst);\nif(and__5023__auto__){\nvar t \x3d cljs.core.inst_ms(inst);\nreturn (((cljs.core.inst_ms(start) \x3c\x3d t)) \x26\x26 ((t \x3c cljs.core.inst_ms(end))));\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Return true if start \x3c\x3d val, val \x3c end and val is a fixed\n * precision integer.\n */\ncljs.spec.alpha.int_in_range_QMARK_ \x3d (function cljs$spec$alpha$int_in_range_QMARK_(start,end,val){\nif(cljs.core.integer_QMARK_(val)){\nreturn (((start \x3c\x3d val)) \x26\x26 ((val \x3c end)));\n} else {\nif((val instanceof cljs.spec.alpha.goog$module$goog$math$Long)){\nvar and__5023__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5023__auto__;\n}\n} else {\nif((val instanceof goog.math.Integer)){\nvar and__5023__auto__ \x3d start.lessThanOrEqual(val);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn val.lessThan(end);\n} else {\nreturn and__5023__auto__;\n}\n} else {\nreturn false;\n\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_compile_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\n/**\n * If true, compiler will enable spec asserts, which are then\n * subject to runtime control via check-asserts? If false, compiler\n * will eliminate all spec assert overhead. See \x27assert\x27.\n * Initially set to the negation of the \x27:elide-asserts\x27 compiler option.\n * Defaults to true.\n */\ncljs.spec.alpha._STAR_compile_asserts_STAR_ \x3d true;\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.spec.alpha._STAR_runtime_asserts_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d false;\n}\n/**\n * Returns the value set by check-asserts.\n */\ncljs.spec.alpha.check_asserts_QMARK_ \x3d (function cljs$spec$alpha$check_asserts_QMARK_(){\nreturn cljs.spec.alpha._STAR_runtime_asserts_STAR_;\n});\n/**\n * Enable or disable spec asserts that have been compiled\n * with \x27*compile-asserts*\x27 true. See \x27assert\x27.\n * Initially set to boolean value of cljs.spec.alpha/*runtime-asserts*.\n * Defaults to false.\n */\ncljs.spec.alpha.check_asserts \x3d (function cljs$spec$alpha$check_asserts(flag){\nreturn (cljs.spec.alpha._STAR_runtime_asserts_STAR_ \x3d flag);\n});\n/**\n * Do not call this directly, use \x27assert\x27.\n */\ncljs.spec.alpha.assert_STAR_ \x3d (function cljs$spec$alpha$assert_STAR_(spec,x){\nif(cljs.spec.alpha.valid_QMARK_.cljs$core$IFn$_invoke$arity$2(spec,x)){\nreturn x;\n} else {\nvar ed \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.spec.alpha.explain_data_STAR_(spec,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY,x),new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22failure\x22,\x22cljs.spec.alpha/failure\x22,188258592),new cljs.core.Keyword(null,\x22assertion-failed\x22,\x22assertion-failed\x22,-970534477))], 0));\nthrow (new Error([\x22Spec assertion failed\\n\x22,(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__37866_38805 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__37867_38806 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__37868_38807 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__37869_38808 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__37868_38807);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__37869_38808);\n\ntry{cljs.spec.alpha.explain_out(ed);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__37867_38806);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__37866_38805);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})()].join(\x27\x27)));\n}\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.writer.js", true, "goog.provide(\x27shadow.remote.runtime.writer\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IWriter}\n*/\nshadow.remote.runtime.writer.LimitWriter \x3d (function (sb,limit){\nthis.sb \x3d sb;\nthis.limit \x3d limit;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1073741824;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(shadow.remote.runtime.writer.LimitWriter.prototype.getString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn self__.sb.toString();\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_write$arity$2 \x3d (function (_,s){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nself__.sb.append(s);\n\nif((self__.sb.getLength() \x3e\x3d self__.limit)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22The limit of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.limit),\x22 bytes was reached while printing.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),self__.limit], null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.prototype.cljs$core$IWriter$_flush$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn null;\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22StringBuffer\x22,\x22StringBuffer\x22,864531538,null)], null)),new cljs.core.Symbol(null,\x22limit\x22,\x22limit\x22,284709164,null)], null);\n}));\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorStr \x3d \x22shadow.remote.runtime.writer/LimitWriter\x22);\n\n(shadow.remote.runtime.writer.LimitWriter.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22shadow.remote.runtime.writer/LimitWriter\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.writer/LimitWriter.\n */\nshadow.remote.runtime.writer.__GT_LimitWriter \x3d (function shadow$remote$runtime$writer$__GT_LimitWriter(sb,limit){\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\n\nshadow.remote.runtime.writer.pr_str_limit \x3d (function shadow$remote$runtime$writer$pr_str_limit(obj,limit){\nvar sb \x3d (new goog.string.StringBuffer());\nvar writer \x3d (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\ntry{cljs.core.pr_writer(obj,writer,cljs.core.pr_opts());\n\nreturn [\x220,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb.toString())].join(\x27\x27);\n}catch (e35249){var e \x3d e35249;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22shadow.remote.runtime.writer\x22,\x22limit-reached\x22,\x22shadow.remote.runtime.writer/limit-reached\x22,1304350996),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.ex_data(e)))))){\nthrow e;\n} else {\nreturn [\x221,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var s \x3d sb.toString();\nif((s.length \x3e limit)){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),limit);\n} else {\nreturn s;\n}\n})())].join(\x27\x27);\n}\n}});\nshadow.remote.runtime.writer.limit_writer \x3d (function shadow$remote$runtime$writer$limit_writer(limit){\nvar sb \x3d (new goog.string.StringBuffer());\nreturn (new shadow.remote.runtime.writer.LimitWriter(sb,limit));\n});\nshadow.remote.runtime.writer.get_string \x3d (function shadow$remote$runtime$writer$get_string(lw){\nreturn lw.getString();\n});\n");
SHADOW_ENV.evalLoad("goog.string.stringformat.js", true, "goog.provide(\x22goog.string.format\x22);\ngoog.require(\x22goog.string\x22);\ngoog.string.format \x3d function(formatString, var_args) {\n function replacerDemuxer(match, flags, width, dotp, precision, type, offset, wholeString) {\n if (type \x3d\x3d \x22%\x22) {\n return \x22%\x22;\n }\n const value \x3d args.shift();\n if (typeof value \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22[goog.string.format] Not enough arguments\x22);\n }\n arguments[0] \x3d value;\n return goog.string.format.demuxes_[type].apply(null, arguments);\n }\n const args \x3d Array.prototype.slice.call(arguments);\n const template \x3d args.shift();\n if (typeof template \x3d\x3d \x22undefined\x22) {\n throw new Error(\x22[goog.string.format] Template required\x22);\n }\n const formatRe \x3d /%([0\\- \\+]*)(\\d+)?(\\.(\\d+))?([%sfdiu])/g;\n return template.replace(formatRe, replacerDemuxer);\n};\ngoog.string.format.demuxes_ \x3d {};\ngoog.string.format.demuxes_[\x22s\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n let replacement \x3d value;\n if (isNaN(width) || width \x3d\x3d \x22\x22 || replacement.length \x3e\x3d Number(width)) {\n return replacement;\n }\n if (flags.indexOf(\x22-\x22, 0) \x3e -1) {\n replacement \x3d replacement + goog.string.repeat(\x22 \x22, Number(width) - replacement.length);\n } else {\n replacement \x3d goog.string.repeat(\x22 \x22, Number(width) - replacement.length) + replacement;\n }\n return replacement;\n};\ngoog.string.format.demuxes_[\x22f\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n let replacement \x3d value.toString();\n if (!(isNaN(precision) || precision \x3d\x3d \x22\x22)) {\n replacement \x3d parseFloat(value).toFixed(precision);\n }\n let sign;\n if (Number(value) \x3c 0) {\n sign \x3d \x22-\x22;\n } else if (flags.indexOf(\x22+\x22) \x3e\x3d 0) {\n sign \x3d \x22+\x22;\n } else if (flags.indexOf(\x22 \x22) \x3e\x3d 0) {\n sign \x3d \x22 \x22;\n } else {\n sign \x3d \x22\x22;\n }\n if (Number(value) \x3e\x3d 0) {\n replacement \x3d sign + replacement;\n }\n if (isNaN(width) || replacement.length \x3e\x3d Number(width)) {\n return replacement;\n }\n replacement \x3d isNaN(precision) ? Math.abs(Number(value)).toString() : Math.abs(Number(value)).toFixed(precision);\n const padCount \x3d Number(width) - replacement.length - sign.length;\n if (flags.indexOf(\x22-\x22, 0) \x3e\x3d 0) {\n replacement \x3d sign + replacement + goog.string.repeat(\x22 \x22, padCount);\n } else {\n const paddingChar \x3d flags.indexOf(\x220\x22, 0) \x3e\x3d 0 ? \x220\x22 : \x22 \x22;\n replacement \x3d sign + goog.string.repeat(paddingChar, padCount) + replacement;\n }\n return replacement;\n};\ngoog.string.format.demuxes_[\x22d\x22] \x3d function(value, flags, width, dotp, precision, type, offset, wholeString) {\n return goog.string.format.demuxes_[\x22f\x22](parseInt(value, 10), flags, width, dotp, 0, type, offset, wholeString);\n};\ngoog.string.format.demuxes_[\x22i\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\ngoog.string.format.demuxes_[\x22u\x22] \x3d goog.string.format.demuxes_[\x22d\x22];\n");
SHADOW_ENV.evalLoad("cljs.repl.js", true, "goog.provide(\x27cljs.repl\x27);\ncljs.repl.print_doc \x3d (function cljs$repl$print_doc(p__37926){\nvar map__37930 \x3d p__37926;\nvar map__37930__$1 \x3d cljs.core.__destructure_map(map__37930);\nvar m \x3d map__37930__$1;\nvar n \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37930__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar nm \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__37930__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ns \x3d temp__5823__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27);\n}\n})()], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Protocol\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__37938_38310 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22forms\x22,\x22forms\x22,2045992350).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__37939_38311 \x3d null;\nvar count__37940_38312 \x3d (0);\nvar i__37941_38313 \x3d (0);\nwhile(true){\nif((i__37941_38313 \x3c count__37940_38312)){\nvar f_38314 \x3d chunk__37939_38311.cljs$core$IIndexed$_nth$arity$2(null,i__37941_38313);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_38314], 0));\n\n\nvar G__38315 \x3d seq__37938_38310;\nvar G__38316 \x3d chunk__37939_38311;\nvar G__38317 \x3d count__37940_38312;\nvar G__38318 \x3d (i__37941_38313 + (1));\nseq__37938_38310 \x3d G__38315;\nchunk__37939_38311 \x3d G__38316;\ncount__37940_38312 \x3d G__38317;\ni__37941_38313 \x3d G__38318;\ncontinue;\n} else {\nvar temp__5823__auto___38319 \x3d cljs.core.seq(seq__37938_38310);\nif(temp__5823__auto___38319){\nvar seq__37938_38320__$1 \x3d temp__5823__auto___38319;\nif(cljs.core.chunked_seq_QMARK_(seq__37938_38320__$1)){\nvar c__5548__auto___38321 \x3d cljs.core.chunk_first(seq__37938_38320__$1);\nvar G__38322 \x3d cljs.core.chunk_rest(seq__37938_38320__$1);\nvar G__38323 \x3d c__5548__auto___38321;\nvar G__38324 \x3d cljs.core.count(c__5548__auto___38321);\nvar G__38325 \x3d (0);\nseq__37938_38310 \x3d G__38322;\nchunk__37939_38311 \x3d G__38323;\ncount__37940_38312 \x3d G__38324;\ni__37941_38313 \x3d G__38325;\ncontinue;\n} else {\nvar f_38326 \x3d cljs.core.first(seq__37938_38320__$1);\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,f_38326], 0));\n\n\nvar G__38327 \x3d cljs.core.next(seq__37938_38320__$1);\nvar G__38328 \x3d null;\nvar G__38329 \x3d (0);\nvar G__38330 \x3d (0);\nseq__37938_38310 \x3d G__38327;\nchunk__37939_38311 \x3d G__38328;\ncount__37940_38312 \x3d G__38329;\ni__37941_38313 \x3d G__38330;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m))){\nvar arglists_38335 \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m);\n}\n})())){\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists_38335], 0));\n} else {\ncljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(arglists_38335)))?cljs.core.second(arglists_38335):arglists_38335)], 0));\n}\n} else {\n}\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22special-form\x22,\x22special-form\x22,-1326536374).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Special Form\x22], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.contains_QMARK_(m,new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046))){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22url\x22,\x22url\x22,276297046).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n Please see http://clojure.org/special_forms#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n}\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22spec\x22,\x22spec\x22,347520401).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22repl-special-function\x22,\x22repl-special-function\x22,1262603725).cljs$core$IFn$_invoke$arity$1(m))){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22REPL Special Function\x22], 0));\n} else {\n}\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m)], 0));\n\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(m))){\nvar seq__37969_38337 \x3d cljs.core.seq(new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(m));\nvar chunk__37970_38338 \x3d null;\nvar count__37971_38339 \x3d (0);\nvar i__37972_38340 \x3d (0);\nwhile(true){\nif((i__37972_38340 \x3c count__37971_38339)){\nvar vec__38045_38341 \x3d chunk__37970_38338.cljs$core$IIndexed$_nth$arity$2(null,i__37972_38340);\nvar name_38342 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38045_38341,(0),null);\nvar map__38048_38343 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38045_38341,(1),null);\nvar map__38048_38344__$1 \x3d cljs.core.__destructure_map(map__38048_38343);\nvar doc_38345 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38048_38344__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_38346 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38048_38344__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_38342], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_38346], 0));\n\nif(cljs.core.truth_(doc_38345)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_38345], 0));\n} else {\n}\n\n\nvar G__38348 \x3d seq__37969_38337;\nvar G__38349 \x3d chunk__37970_38338;\nvar G__38350 \x3d count__37971_38339;\nvar G__38351 \x3d (i__37972_38340 + (1));\nseq__37969_38337 \x3d G__38348;\nchunk__37970_38338 \x3d G__38349;\ncount__37971_38339 \x3d G__38350;\ni__37972_38340 \x3d G__38351;\ncontinue;\n} else {\nvar temp__5823__auto___38352 \x3d cljs.core.seq(seq__37969_38337);\nif(temp__5823__auto___38352){\nvar seq__37969_38353__$1 \x3d temp__5823__auto___38352;\nif(cljs.core.chunked_seq_QMARK_(seq__37969_38353__$1)){\nvar c__5548__auto___38354 \x3d cljs.core.chunk_first(seq__37969_38353__$1);\nvar G__38355 \x3d cljs.core.chunk_rest(seq__37969_38353__$1);\nvar G__38356 \x3d c__5548__auto___38354;\nvar G__38357 \x3d cljs.core.count(c__5548__auto___38354);\nvar G__38358 \x3d (0);\nseq__37969_38337 \x3d G__38355;\nchunk__37970_38338 \x3d G__38356;\ncount__37971_38339 \x3d G__38357;\ni__37972_38340 \x3d G__38358;\ncontinue;\n} else {\nvar vec__38088_38359 \x3d cljs.core.first(seq__37969_38353__$1);\nvar name_38360 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38088_38359,(0),null);\nvar map__38093_38361 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38088_38359,(1),null);\nvar map__38093_38362__$1 \x3d cljs.core.__destructure_map(map__38093_38361);\nvar doc_38363 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38093_38362__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891));\nvar arglists_38364 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38093_38362__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754));\ncljs.core.println();\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,name_38360], 0));\n\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,arglists_38364], 0));\n\nif(cljs.core.truth_(doc_38363)){\ncljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc_38363], 0));\n} else {\n}\n\n\nvar G__38365 \x3d cljs.core.next(seq__37969_38353__$1);\nvar G__38366 \x3d null;\nvar G__38367 \x3d (0);\nvar G__38368 \x3d (0);\nseq__37969_38337 \x3d G__38365;\nchunk__37970_38338 \x3d G__38366;\ncount__37971_38339 \x3d G__38367;\ni__37972_38340 \x3d G__38368;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif(cljs.core.truth_(n)){\nvar temp__5823__auto__ \x3d cljs.spec.alpha.get_spec(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(n)),cljs.core.name(nm)));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar fnspec \x3d temp__5823__auto__;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spec\x22], 0));\n\nvar seq__38119 \x3d cljs.core.seq(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),new cljs.core.Keyword(null,\x22ret\x22,\x22ret\x22,-468222814),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204)], null));\nvar chunk__38120 \x3d null;\nvar count__38121 \x3d (0);\nvar i__38122 \x3d (0);\nwhile(true){\nif((i__38122 \x3c count__38121)){\nvar role \x3d chunk__38120.cljs$core$IIndexed$_nth$arity$2(null,i__38122);\nvar temp__5823__auto___38369__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5823__auto___38369__$1)){\nvar spec_38370 \x3d temp__5823__auto___38369__$1;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_38370)], 0));\n} else {\n}\n\n\nvar G__38371 \x3d seq__38119;\nvar G__38372 \x3d chunk__38120;\nvar G__38373 \x3d count__38121;\nvar G__38374 \x3d (i__38122 + (1));\nseq__38119 \x3d G__38371;\nchunk__38120 \x3d G__38372;\ncount__38121 \x3d G__38373;\ni__38122 \x3d G__38374;\ncontinue;\n} else {\nvar temp__5823__auto____$1 \x3d cljs.core.seq(seq__38119);\nif(temp__5823__auto____$1){\nvar seq__38119__$1 \x3d temp__5823__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(seq__38119__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__38119__$1);\nvar G__38378 \x3d cljs.core.chunk_rest(seq__38119__$1);\nvar G__38379 \x3d c__5548__auto__;\nvar G__38380 \x3d cljs.core.count(c__5548__auto__);\nvar G__38381 \x3d (0);\nseq__38119 \x3d G__38378;\nchunk__38120 \x3d G__38379;\ncount__38121 \x3d G__38380;\ni__38122 \x3d G__38381;\ncontinue;\n} else {\nvar role \x3d cljs.core.first(seq__38119__$1);\nvar temp__5823__auto___38382__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(fnspec,role);\nif(cljs.core.truth_(temp__5823__auto___38382__$2)){\nvar spec_38386 \x3d temp__5823__auto___38382__$2;\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22\\n \x22,cljs.core.name(role),\x22:\x22].join(\x27\x27),cljs.spec.alpha.describe(spec_38386)], 0));\n} else {\n}\n\n\nvar G__38387 \x3d cljs.core.next(seq__38119__$1);\nvar G__38388 \x3d null;\nvar G__38389 \x3d (0);\nvar G__38390 \x3d (0);\nseq__38119 \x3d G__38387;\nchunk__38120 \x3d G__38388;\ncount__38121 \x3d G__38389;\ni__38122 \x3d G__38390;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n});\n/**\n * Constructs a data representation for a Error with keys:\n * :cause - root cause message\n * :phase - error phase\n * :via - cause chain, with cause keys:\n * :type - exception class symbol\n * :message - exception message\n * :data - ex-data\n * :at - top stack element\n * :trace - root cause stack elements\n */\ncljs.repl.Error__GT_map \x3d (function cljs$repl$Error__GT_map(o){\nreturn cljs.core.Throwable__GT_map(o);\n});\n/**\n * Returns an analysis of the phase, error, cause, and location of an error that occurred\n * based on Throwable data, as returned by Throwable-\x3emap. All attributes other than phase\n * are optional:\n * :clojure.error/phase - keyword phase indicator, one of:\n * :read-source :compile-syntax-check :compilation :macro-syntax-check :macroexpansion\n * :execution :read-eval-result :print-eval-result\n * :clojure.error/source - file name (no path)\n * :clojure.error/line - integer line number\n * :clojure.error/column - integer column number\n * :clojure.error/symbol - symbol being expanded/compiled/invoked\n * :clojure.error/class - cause exception class symbol\n * :clojure.error/cause - cause exception message\n * :clojure.error/spec - explain-data for spec error\n */\ncljs.repl.ex_triage \x3d (function cljs$repl$ex_triage(datafied_throwable){\nvar map__38182 \x3d datafied_throwable;\nvar map__38182__$1 \x3d cljs.core.__destructure_map(map__38182);\nvar via \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38182__$1,new cljs.core.Keyword(null,\x22via\x22,\x22via\x22,-1904457336));\nvar trace \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38182__$1,new cljs.core.Keyword(null,\x22trace\x22,\x22trace\x22,-1082747415));\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38182__$1,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),new cljs.core.Keyword(null,\x22execution\x22,\x22execution\x22,253283524));\nvar map__38185 \x3d cljs.core.last(via);\nvar map__38185__$1 \x3d cljs.core.__destructure_map(map__38185);\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38185__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar message \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38185__$1,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38185__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__38186 \x3d data;\nvar map__38186__$1 \x3d cljs.core.__destructure_map(map__38186);\nvar problems \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38186__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814));\nvar fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38186__$1,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22fn\x22,\x22cljs.spec.alpha/fn\x22,408600443));\nvar caller \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38186__$1,new cljs.core.Keyword(\x22cljs.spec.test.alpha\x22,\x22caller\x22,\x22cljs.spec.test.alpha/caller\x22,-398302390));\nvar map__38187 \x3d new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.first(via));\nvar map__38187__$1 \x3d cljs.core.__destructure_map(map__38187);\nvar top_data \x3d map__38187__$1;\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38187__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((function (){var G__38196 \x3d phase;\nvar G__38196__$1 \x3d (((G__38196 instanceof cljs.core.Keyword))?G__38196.fqn:null);\nswitch (G__38196__$1) {\ncase \x22read-source\x22:\nvar map__38201 \x3d data;\nvar map__38201__$1 \x3d cljs.core.__destructure_map(map__38201);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38201__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38201__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar G__38203 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.second(via)),top_data], 0));\nvar G__38203__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38203,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__38203);\nvar G__38203__$2 \x3d (cljs.core.truth_((function (){var fexpr__38204 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__38204.cljs$core$IFn$_invoke$arity$1 ? fexpr__38204.cljs$core$IFn$_invoke$arity$1(source) : fexpr__38204.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__38203__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__38203__$1);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38203__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__38203__$2;\n}\n\nbreak;\ncase \x22compile-syntax-check\x22:\ncase \x22compilation\x22:\ncase \x22macro-syntax-check\x22:\ncase \x22macroexpansion\x22:\nvar G__38205 \x3d top_data;\nvar G__38205__$1 \x3d (cljs.core.truth_(source)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38205,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),source):G__38205);\nvar G__38205__$2 \x3d (cljs.core.truth_((function (){var fexpr__38206 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__38206.cljs$core$IFn$_invoke$arity$1 ? fexpr__38206.cljs$core$IFn$_invoke$arity$1(source) : fexpr__38206.call(null,source));\n})())?cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__38205__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397)):G__38205__$1);\nvar G__38205__$3 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38205__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__38205__$2);\nvar G__38205__$4 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38205__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__38205__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38205__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__38205__$4;\n}\n\nbreak;\ncase \x22read-eval-result\x22:\ncase \x22print-eval-result\x22:\nvar vec__38211 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38211,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38211,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38211,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38211,(3),null);\nvar G__38214 \x3d top_data;\nvar G__38214__$1 \x3d (cljs.core.truth_(line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38214,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),line):G__38214);\nvar G__38214__$2 \x3d (cljs.core.truth_(file)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38214__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file):G__38214__$1);\nvar G__38214__$3 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn method;\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38214__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null))):G__38214__$2);\nvar G__38214__$4 \x3d (cljs.core.truth_(type)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38214__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type):G__38214__$3);\nif(cljs.core.truth_(message)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38214__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message);\n} else {\nreturn G__38214__$4;\n}\n\nbreak;\ncase \x22execution\x22:\nvar vec__38215 \x3d cljs.core.first(trace);\nvar source__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38215,(0),null);\nvar method \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38215,(1),null);\nvar file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38215,(2),null);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38215,(3),null);\nvar file__$1 \x3d cljs.core.first(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__38172_SHARP_){\nvar or__5025__auto__ \x3d (p1__38172_SHARP_ \x3d\x3d null);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar fexpr__38218 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22NO_SOURCE_PATH\x22,null,\x22NO_SOURCE_FILE\x22,null], null), null);\nreturn (fexpr__38218.cljs$core$IFn$_invoke$arity$1 ? fexpr__38218.cljs$core$IFn$_invoke$arity$1(p1__38172_SHARP_) : fexpr__38218.call(null,p1__38172_SHARP_));\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(caller),file], null)));\nvar err_line \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(caller);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn line;\n}\n})();\nvar G__38220 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890),type], null);\nvar G__38220__$1 \x3d (cljs.core.truth_(err_line)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38220,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471),err_line):G__38220);\nvar G__38220__$2 \x3d (cljs.core.truth_(message)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38220__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742),message):G__38220__$1);\nvar G__38220__$3 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d fn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar and__5023__auto__ \x3d source__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn method;\n} else {\nreturn and__5023__auto__;\n}\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38220__$2,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994),(function (){var or__5025__auto__ \x3d fn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[source__$1,method],null));\n}\n})()):G__38220__$2);\nvar G__38220__$4 \x3d (cljs.core.truth_(file__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38220__$3,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397),file__$1):G__38220__$3);\nif(cljs.core.truth_(problems)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38220__$4,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595),data);\n} else {\nreturn G__38220__$4;\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__38196__$1)].join(\x27\x27)));\n\n}\n})(),new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358),phase);\n});\n/**\n * Returns a string from exception data, as produced by ex-triage.\n * The first line summarizes the exception phase and location.\n * The subsequent lines describe the cause.\n */\ncljs.repl.ex_str \x3d (function cljs$repl$ex_str(p__38244){\nvar map__38245 \x3d p__38244;\nvar map__38245__$1 \x3d cljs.core.__destructure_map(map__38245);\nvar triage_data \x3d map__38245__$1;\nvar phase \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22phase\x22,\x22clojure.error/phase\x22,275140358));\nvar source \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22source\x22,\x22clojure.error/source\x22,-2011936397));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22line\x22,\x22clojure.error/line\x22,-1816287471));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22column\x22,\x22clojure.error/column\x22,304721553));\nvar symbol \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22symbol\x22,\x22clojure.error/symbol\x22,1544821994));\nvar class$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22class\x22,\x22clojure.error/class\x22,278435890));\nvar cause \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22cause\x22,\x22clojure.error/cause\x22,-1879175742));\nvar spec \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38245__$1,new cljs.core.Keyword(\x22clojure.error\x22,\x22spec\x22,\x22clojure.error/spec\x22,2055032595));\nvar loc \x3d [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d source;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22\x3ccljs repl\x3e\x22;\n}\n})()),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d line;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})()),(cljs.core.truth_(column)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):\x22\x22)].join(\x27\x27);\nvar class_name \x3d cljs.core.name((function (){var or__5025__auto__ \x3d class$;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22\x22;\n}\n})());\nvar simple_class \x3d class_name;\nvar cause_type \x3d ((cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [\x22RuntimeException\x22,null,\x22Exception\x22,null], null), null),simple_class))?\x22\x22:[\x22 (\x22,simple_class,\x22)\x22].join(\x27\x27));\nvar format \x3d goog.string.format;\nvar G__38250 \x3d phase;\nvar G__38250__$1 \x3d (((G__38250 instanceof cljs.core.Keyword))?G__38250.fqn:null);\nswitch (G__38250__$1) {\ncase \x22read-source\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$3 ? format.cljs$core$IFn$_invoke$arity$3(\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause) : format.call(null,\x22Syntax error reading source at (%s).\\n%s\\n\x22,loc,cause));\n\nbreak;\ncase \x22macro-syntax-check\x22:\nvar G__38252 \x3d \x22Syntax error macroexpanding %sat (%s).\\n%s\x22;\nvar G__38253 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38254 \x3d loc;\nvar G__38255 \x3d (cljs.core.truth_(spec)?(function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__38256_38443 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__38257_38444 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__38258_38445 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__38259_38446 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__38258_38445);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__38259_38446);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__38239_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__38239_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__38257_38444);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__38256_38443);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})():(format.cljs$core$IFn$_invoke$arity$2 ? format.cljs$core$IFn$_invoke$arity$2(\x22%s\\n\x22,cause) : format.call(null,\x22%s\\n\x22,cause)));\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__38252,G__38253,G__38254,G__38255) : format.call(null,G__38252,G__38253,G__38254,G__38255));\n\nbreak;\ncase \x22macroexpansion\x22:\nvar G__38260 \x3d \x22Unexpected error%s macroexpanding %sat (%s).\\n%s\\n\x22;\nvar G__38261 \x3d cause_type;\nvar G__38262 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38263 \x3d loc;\nvar G__38264 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38260,G__38261,G__38262,G__38263,G__38264) : format.call(null,G__38260,G__38261,G__38262,G__38263,G__38264));\n\nbreak;\ncase \x22compile-syntax-check\x22:\nvar G__38266 \x3d \x22Syntax error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__38267 \x3d cause_type;\nvar G__38268 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38269 \x3d loc;\nvar G__38270 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38266,G__38267,G__38268,G__38269,G__38270) : format.call(null,G__38266,G__38267,G__38268,G__38269,G__38270));\n\nbreak;\ncase \x22compilation\x22:\nvar G__38271 \x3d \x22Unexpected error%s compiling %sat (%s).\\n%s\\n\x22;\nvar G__38272 \x3d cause_type;\nvar G__38273 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38274 \x3d loc;\nvar G__38275 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38271,G__38272,G__38273,G__38274,G__38275) : format.call(null,G__38271,G__38272,G__38273,G__38274,G__38275));\n\nbreak;\ncase \x22read-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error reading eval result%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22print-eval-result\x22:\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause) : format.call(null,\x22Error printing return value%s at %s (%s).\\n%s\\n\x22,cause_type,symbol,loc,cause));\n\nbreak;\ncase \x22execution\x22:\nif(cljs.core.truth_(spec)){\nvar G__38281 \x3d \x22Execution error - invalid arguments to %s at (%s).\\n%s\x22;\nvar G__38282 \x3d symbol;\nvar G__38283 \x3d loc;\nvar G__38284 \x3d (function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__38285_38457 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__38286_38458 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__38287_38459 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__38288_38460 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__38287_38459);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__38288_38460);\n\ntry{cljs.spec.alpha.explain_out(cljs.core.update.cljs$core$IFn$_invoke$arity$3(spec,new cljs.core.Keyword(\x22cljs.spec.alpha\x22,\x22problems\x22,\x22cljs.spec.alpha/problems\x22,447400814),(function (probs){\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__38243_SHARP_){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__38243_SHARP_,new cljs.core.Keyword(null,\x22in\x22,\x22in\x22,-1531184865));\n}),probs);\n}))\n);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__38286_38458);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__38285_38457);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})();\nreturn (format.cljs$core$IFn$_invoke$arity$4 ? format.cljs$core$IFn$_invoke$arity$4(G__38281,G__38282,G__38283,G__38284) : format.call(null,G__38281,G__38282,G__38283,G__38284));\n} else {\nvar G__38295 \x3d \x22Execution error%s at %s(%s).\\n%s\\n\x22;\nvar G__38296 \x3d cause_type;\nvar G__38297 \x3d (cljs.core.truth_(symbol)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(symbol),\x22 \x22].join(\x27\x27):\x22\x22);\nvar G__38298 \x3d loc;\nvar G__38299 \x3d cause;\nreturn (format.cljs$core$IFn$_invoke$arity$5 ? format.cljs$core$IFn$_invoke$arity$5(G__38295,G__38296,G__38297,G__38298,G__38299) : format.call(null,G__38295,G__38296,G__38297,G__38298,G__38299));\n}\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__38250__$1)].join(\x27\x27)));\n\n}\n});\ncljs.repl.error__GT_str \x3d (function cljs$repl$error__GT_str(error){\nreturn cljs.repl.ex_str(cljs.repl.ex_triage(cljs.repl.Error__GT_map(error)));\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.obj_support.js", true, "goog.provide(\x27shadow.remote.runtime.obj_support\x27);\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nshadow.remote.runtime.obj_support.Reference \x3d (function (obj,extra,__meta,__extmap,__hash){\nthis.obj \x3d obj;\nthis.extra \x3d extra;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k38393,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__38407 \x3d k38393;\nvar G__38407__$1 \x3d (((G__38407 instanceof cljs.core.Keyword))?G__38407.fqn:null);\nswitch (G__38407__$1) {\ncase \x22obj\x22:\nreturn self__.obj;\n\nbreak;\ncase \x22extra\x22:\nreturn self__.extra;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k38393,else__5326__auto__);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38408){\nvar vec__38409 \x3d p__38408;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38409,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38409,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.remote.runtime.obj-support.Reference{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),self__.extra],null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__38392){\nvar self__ \x3d this;\nvar G__38392__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__38392__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1775716890 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this38394,other38395){\nvar self__ \x3d this;\nvar this38394__$1 \x3d this;\nreturn (((!((other38395 \x3d\x3d null)))) \x26\x26 ((((this38394__$1.constructor \x3d\x3d\x3d other38395.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38394__$1.obj,other38395.obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38394__$1.extra,other38395.extra)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38394__$1.__extmap,other38395.__extmap)))))))));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k38393){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38461 \x3d k38393;\nvar G__38461__$1 \x3d (((G__38461 instanceof cljs.core.Keyword))?G__38461.fqn:null);\nswitch (G__38461__$1) {\ncase \x22obj\x22:\ncase \x22extra\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k38393);\n\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__38392){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38462 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38463 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38462.cljs$core$IFn$_invoke$arity$2 ? pred__38462.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__38463) : pred__38462.call(null,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),expr__38463)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(G__38392,self__.extra,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38462.cljs$core$IFn$_invoke$arity$2 ? pred__38462.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),expr__38463) : pred__38462.call(null,new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),expr__38463)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,G__38392,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__38392),null));\n}\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),self__.obj,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067),self__.extra,null))], null),self__.__extmap));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__38392){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.remote.runtime.obj_support.Reference(self__.obj,self__.extra,G__38392,self__.__extmap,self__.__hash));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.remote.runtime.obj_support.Reference.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22obj\x22,\x22obj\x22,-1672671807,null),new cljs.core.Symbol(null,\x22extra\x22,\x22extra\x22,-1041866702,null)], null);\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$type \x3d true);\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.remote.runtime.obj-support/Reference\x22,null,(1),null));\n}));\n\n(shadow.remote.runtime.obj_support.Reference.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.remote.runtime.obj-support/Reference\x22);\n}));\n\n/**\n * Positional factory function for shadow.remote.runtime.obj-support/Reference.\n */\nshadow.remote.runtime.obj_support.__GT_Reference \x3d (function shadow$remote$runtime$obj_support$__GT_Reference(obj,extra){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,extra,null,null,null));\n});\n\n/**\n * Factory function for shadow.remote.runtime.obj-support/Reference, taking a map of keywords to field values.\n */\nshadow.remote.runtime.obj_support.map__GT_Reference \x3d (function shadow$remote$runtime$obj_support$map__GT_Reference(G__38402){\nvar extmap__5365__auto__ \x3d (function (){var G__38473 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__38402,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067)], 0));\nif(cljs.core.record_QMARK_(G__38402)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38473);\n} else {\nreturn G__38473;\n}\n})();\nreturn (new shadow.remote.runtime.obj_support.Reference(new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__38402),new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067).cljs$core$IFn$_invoke$arity$1(G__38402),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nshadow.remote.runtime.obj_support.obj_ref \x3d (function shadow$remote$runtime$obj_support$obj_ref(var_args){\nvar G__38476 \x3d arguments.length;\nswitch (G__38476) {\ncase 1:\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$1 \x3d (function (obj){\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(obj,null);\n}));\n\n(shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2 \x3d (function (obj,extra){\nif((!((obj \x3d\x3d null)))){\nreturn (new shadow.remote.runtime.obj_support.Reference(obj,extra,null,null,null));\n} else {\nreturn null;\n}\n}));\n\n(shadow.remote.runtime.obj_support.obj_ref.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.remote.runtime.obj_support.obj_ref_QMARK_ \x3d (function shadow$remote$runtime$obj_support$obj_ref_QMARK_(result){\nreturn (result instanceof shadow.remote.runtime.obj_support.Reference);\n});\nshadow.remote.runtime.obj_support.now \x3d (function shadow$remote$runtime$obj_support$now(){\nreturn Date.now();\n});\nshadow.remote.runtime.obj_support.next_oid \x3d (function shadow$remote$runtime$obj_support$next_oid(){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid());\n});\nshadow.remote.runtime.obj_support.register_STAR_ \x3d (function shadow$remote$runtime$obj_support$register_STAR_(state,oid,obj,obj_info){\nvar ts \x3d shadow.remote.runtime.obj_support.now();\nvar entry \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),obj,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377),clojure.datafy.datafy(obj),new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),obj_info,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),ts,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),ts,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null);\nreturn cljs.core.assoc_in(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null),entry);\n});\nshadow.remote.runtime.obj_support.obj_type_string \x3d (function shadow$remote$runtime$obj_support$obj_type_string(obj){\nif((obj \x3d\x3d null)){\nreturn \x22nil\x22;\n} else {\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(obj)], 0));\n}\n});\nshadow.remote.runtime.obj_support.get_data_type \x3d (function shadow$remote$runtime$obj_support$get_data_type(summary,p__38513){\nvar map__38520 \x3d p__38513;\nvar map__38520__$1 \x3d cljs.core.__destructure_map(map__38520);\nvar entry \x3d map__38520__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38520__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\ntry{if((data \x3d\x3d null)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501));\n} else {\nif(typeof data \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),((data).length)], 0));\n} else {\nif(cljs.core.boolean_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22boolean\x22,\x22boolean\x22,-1919418404));\n} else {\nif(typeof data \x3d\x3d\x3d \x27number\x27){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22number\x22,\x22number\x22,1570378438));\n} else {\nif((data instanceof cljs.core.Keyword)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747));\n} else {\nif((data instanceof cljs.core.Symbol)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696));\n} else {\nif(cljs.core.map_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.vector_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22vec\x22,\x22vec\x22,-657847931),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.set_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.list_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-count\x22,\x22data-count\x22,1898198662),cljs.core.count(data)], 0));\n} else {\nif(cljs.core.seq_QMARK_(data)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22seq\x22,\x22seq\x22,-1817803783));\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}catch (e38527){var e \x3d e38527;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(summary,new cljs.core.Keyword(null,\x22data-type\x22,\x22data-type\x22,-326421468),new cljs.core.Keyword(null,\x22unsupported\x22,\x22unsupported\x22,-1045607016),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22data-type-fail\x22,\x22data-type-fail\x22,1917235450),true], 0));\n}});\nshadow.remote.runtime.obj_support.merge_source_info \x3d (function shadow$remote$runtime$obj_support$merge_source_info(summary,p__38536){\nvar map__38538 \x3d p__38536;\nvar map__38538__$1 \x3d cljs.core.__destructure_map(map__38538);\nvar obj_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38538__$1,new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651));\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([summary,cljs.core.select_keys(obj_info,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22label\x22,\x22label\x22,1718410804)], null))], 0));\n});\nshadow.remote.runtime.obj_support.inspect_entry_BANG_ \x3d (function shadow$remote$runtime$obj_support$inspect_entry_BANG_(p__38542,p__38543){\nvar map__38544 \x3d p__38542;\nvar map__38544__$1 \x3d cljs.core.__destructure_map(map__38544);\nvar this$ \x3d map__38544__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38544__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38546 \x3d p__38543;\nvar map__38546__$1 \x3d cljs.core.__destructure_map(map__38546);\nvar entry \x3d map__38546__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38546__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38546__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar added_at \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38546__$1,new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434));\nvar $ \x3d shadow.remote.runtime.obj_support.merge_source_info(shadow.remote.runtime.obj_support.get_data_type(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),added_at,new cljs.core.Keyword(null,\x22datafied\x22,\x22datafied\x22,2076148104),(!((data \x3d\x3d\x3d obj))),new cljs.core.Keyword(null,\x22obj-type\x22,\x22obj-type\x22,-1658555496),shadow.remote.runtime.obj_support.obj_type_string(obj),new cljs.core.Keyword(null,\x22preview\x22,\x22preview\x22,451279890),shadow.remote.runtime.writer.pr_str_limit(obj,(250)),new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.PersistentHashSet.EMPTY], null),entry),entry);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (summary,inspect_fn){\nreturn (inspect_fn.cljs$core$IFn$_invoke$arity$2 ? inspect_fn.cljs$core$IFn$_invoke$arity$2(summary,entry) : inspect_fn.call(null,summary,entry));\n}),$,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)));\n});\nshadow.remote.runtime.obj_support.obj_describe_STAR_ \x3d (function shadow$remote$runtime$obj_support$obj_describe_STAR_(p__38548,oid){\nvar map__38549 \x3d p__38548;\nvar map__38549__$1 \x3d cljs.core.__destructure_map(map__38549);\nvar this$ \x3d map__38549__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38549__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar temp__5827__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar entry \x3d temp__5827__auto__;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nreturn shadow.remote.runtime.obj_support.inspect_entry_BANG_(this$,entry);\n}\n});\nshadow.remote.runtime.obj_support.handler_with_object \x3d (function shadow$remote$runtime$obj_support$handler_with_object(handler_fn){\nreturn (function (p__38566,p__38567){\nvar map__38568 \x3d p__38566;\nvar map__38568__$1 \x3d cljs.core.__destructure_map(map__38568);\nvar this$ \x3d map__38568__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38568__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38568__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38569 \x3d p__38567;\nvar map__38569__$1 \x3d cljs.core.__destructure_map(map__38569);\nvar msg \x3d map__38569__$1;\nvar op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38569__$1,new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955));\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38569__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar entry \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid], null));\nif(cljs.core.not(entry)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n} else {\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729)], null),shadow.remote.runtime.obj_support.now());\n\nvar result \x3d (handler_fn.cljs$core$IFn$_invoke$arity$3 ? handler_fn.cljs$core$IFn$_invoke$arity$3(this$,entry,msg) : handler_fn.call(null,this$,entry,msg));\nif((!(shadow.remote.runtime.obj_support.obj_ref_QMARK_(result)))){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result\x22,\x22obj-result\x22,-486300152),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),result], null));\n} else {\nvar new_oid \x3d (function (){var G__38579 \x3d this$;\nvar G__38580 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(result);\nvar G__38581 \x3d cljs.core.PersistentArrayMap.EMPTY;\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__38579,G__38580,G__38581) : shadow.remote.runtime.obj_support.register.call(null,G__38579,G__38580,G__38581));\n})();\nvar reply_msg \x3d (function (){var G__38582 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-result-ref\x22,\x22obj-result-ref\x22,1537374891),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),new_oid], null);\nvar G__38582__$1 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952).cljs$core$IFn$_invoke$arity$1(msg))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__38582,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,new_oid)):G__38582);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067).cljs$core$IFn$_invoke$arity$1(result))){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__38582__$1,new cljs.core.Keyword(null,\x22extra\x22,\x22extra\x22,1612569067).cljs$core$IFn$_invoke$arity$1(result)], 0));\n} else {\nreturn G__38582__$1;\n}\n})();\nreturn shadow.remote.runtime.shared.reply(runtime,msg,reply_msg);\n}\n}catch (e38574){var e \x3d e38574;\nconsole.warn(\x22action-request-action failed\x22,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry),e);\n\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-request-failed\x22,\x22obj-request-failed\x22,-1782005406),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),(function (){var G__38576 \x3d this$;\nvar G__38577 \x3d e;\nvar G__38578 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null);\nreturn (shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3 ? shadow.remote.runtime.obj_support.register.cljs$core$IFn$_invoke$arity$3(G__38576,G__38577,G__38578) : shadow.remote.runtime.obj_support.register.call(null,G__38576,G__38577,G__38578));\n})()], null));\n}}\n});\n});\nshadow.remote.runtime.obj_support.obj_get_value \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__38588,msg){\nvar map__38589 \x3d p__38588;\nvar map__38589__$1 \x3d cljs.core.__destructure_map(map__38589);\nvar entry \x3d map__38589__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38589__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn obj;\n}));\nshadow.remote.runtime.obj_support.default_max_print_size \x3d (((1) * (1024)) * (1024));\nshadow.remote.runtime.obj_support.pick_target \x3d (function shadow$remote$runtime$obj_support$pick_target(entry,msg){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22original\x22,\x22original\x22,-445386197).cljs$core$IFn$_invoke$arity$1(msg))){\nreturn new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(entry);\n} else {\nreturn new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377).cljs$core$IFn$_invoke$arity$1(entry);\n}\n});\nshadow.remote.runtime.obj_support.obj_edn \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,entry,p__38591){\nvar map__38592 \x3d p__38591;\nvar map__38592__$1 \x3d cljs.core.__destructure_map(map__38592);\nvar msg \x3d map__38592__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38592__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar target \x3d shadow.remote.runtime.obj_support.pick_target(entry,msg);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.core.pr_writer(target,lw,cljs.core.pr_opts());\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_pprint \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,entry,p__38593){\nvar map__38595 \x3d p__38593;\nvar map__38595__$1 \x3d cljs.core.__destructure_map(map__38595);\nvar msg \x3d map__38595__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38595__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363),shadow.remote.runtime.obj_support.default_max_print_size);\nvar target \x3d shadow.remote.runtime.obj_support.pick_target(entry,msg);\nvar lw \x3d shadow.remote.runtime.writer.limit_writer(limit);\ncljs.pprint.pprint.cljs$core$IFn$_invoke$arity$2(target,lw);\n\nreturn shadow.remote.runtime.writer.get_string(lw);\n}));\nshadow.remote.runtime.obj_support.obj_edn_limit \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,entry,p__38596){\nvar map__38597 \x3d p__38596;\nvar map__38597__$1 \x3d cljs.core.__destructure_map(map__38597);\nvar msg \x3d map__38597__$1;\nvar limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38597__$1,new cljs.core.Keyword(null,\x22limit\x22,\x22limit\x22,-1355822363));\nreturn shadow.remote.runtime.writer.pr_str_limit(shadow.remote.runtime.obj_support.pick_target(entry,msg),limit);\n}));\nshadow.remote.runtime.obj_support.obj_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__38598,msg){\nvar map__38599 \x3d p__38598;\nvar map__38599__$1 \x3d cljs.core.__destructure_map(map__38599);\nvar entry \x3d map__38599__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38599__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj);\n}));\nshadow.remote.runtime.obj_support.obj_ex_str \x3d shadow.remote.runtime.obj_support.handler_with_object((function (this$,p__38600,msg){\nvar map__38601 \x3d p__38600;\nvar map__38601__$1 \x3d cljs.core.__destructure_map(map__38601);\nvar entry \x3d map__38601__$1;\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38601__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((ex instanceof Error)){\nreturn cljs.repl.error__GT_str(ex);\n} else {\nreturn [\x22Execution error:\\n\x22,\x22 \x22,cljs.core.subs.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.writer.pr_str_limit(ex,(200)),(2)),\x22\\n\x22,\x22\\n\x22].join(\x27\x27);\n}\n}));\nshadow.remote.runtime.obj_support.exception_QMARK_ \x3d (function shadow$remote$runtime$obj_support$exception_QMARK_(x){\nreturn true;\n});\nshadow.remote.runtime.obj_support.simple_value_QMARK_ \x3d (function shadow$remote$runtime$obj_support$simple_value_QMARK_(val){\nreturn (((val \x3d\x3d null)) || (((cljs.core.boolean_QMARK_(val)) || (((typeof val \x3d\x3d\x3d \x27number\x27) || ((((val instanceof cljs.core.Keyword)) || ((((((val instanceof cljs.core.Symbol)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))) || (((((typeof val \x3d\x3d\x3d \x27string\x27) \x26\x26 (((64) \x3e cljs.core.count(val))))) || (((cljs.core.coll_QMARK_(val)) \x26\x26 (((cljs.core.empty_QMARK_(val)) \x26\x26 ((cljs.core.meta(val) \x3d\x3d null)))))))))))))))));\n});\nshadow.remote.runtime.obj_support.rank_predicates \x3d new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.nil_QMARK_,cljs.core.boolean_QMARK_,cljs.core.number_QMARK_,cljs.core.string_QMARK_,cljs.core.keyword_QMARK_,cljs.core.symbol_QMARK_,cljs.core.vector_QMARK_,cljs.core.map_QMARK_,cljs.core.list_QMARK_], null);\nshadow.remote.runtime.obj_support.rank_val \x3d (function shadow$remote$runtime$obj_support$rank_val(val){\nreturn cljs.core.reduce_kv((function (res,idx,pred){\nif(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(val) : pred.call(null,val)))){\nreturn cljs.core.reduced(idx);\n} else {\nreturn res;\n}\n}),(-1),shadow.remote.runtime.obj_support.rank_predicates);\n});\nshadow.remote.runtime.obj_support.smart_comp \x3d (function shadow$remote$runtime$obj_support$smart_comp(a,b){\ntry{return cljs.core.compare(a,b);\n}catch (e38648){if((e38648 instanceof Error)){\nvar e \x3d e38648;\nvar ar \x3d shadow.remote.runtime.obj_support.rank_val(a);\nvar br \x3d shadow.remote.runtime.obj_support.rank_val(b);\nreturn cljs.core.compare(ar,br);\n} else {\nthrow e38648;\n\n}\n}});\nshadow.remote.runtime.obj_support.attempt_to_sort \x3d (function shadow$remote$runtime$obj_support$attempt_to_sort(coll){\nreturn cljs.core.vec((function (){try{return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(shadow.remote.runtime.obj_support.smart_comp,coll);\n}catch (e38652){var e \x3d e38652;\nreturn coll;\n}})());\n});\nshadow.remote.runtime.obj_support.cache_view_order \x3d (function shadow$remote$runtime$obj_support$cache_view_order(state_ref,p__38657,coll){\nvar map__38659 \x3d p__38657;\nvar map__38659__$1 \x3d cljs.core.__destructure_map(map__38659);\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38659__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar view_order \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38659__$1,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574));\nvar or__5025__auto__ \x3d view_order;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar view_order__$1 \x3d shadow.remote.runtime.obj_support.attempt_to_sort(coll);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),oid,new cljs.core.Keyword(null,\x22view-order\x22,\x22view-order\x22,566761574)], null),view_order__$1);\n\nreturn view_order__$1;\n}\n});\nshadow.remote.runtime.obj_support.obj_nav \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__38680,p__38681,p__38682){\nvar map__38686 \x3d p__38680;\nvar map__38686__$1 \x3d cljs.core.__destructure_map(map__38686);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38686__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38691 \x3d p__38681;\nvar map__38691__$1 \x3d cljs.core.__destructure_map(map__38691);\nvar entry \x3d map__38691__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38691__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__38692 \x3d p__38682;\nvar map__38692__$1 \x3d cljs.core.__destructure_map(map__38692);\nvar msg \x3d map__38692__$1;\nvar idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38692__$1,new cljs.core.Keyword(null,\x22idx\x22,\x22idx\x22,1053688473));\nif(((cljs.core.vector_QMARK_(data)) || (cljs.core.list_QMARK_(data)))){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(nav,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22nav?\x22,\x22nav?\x22,1269039770),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(val,nav)], null));\n} else {\nif(cljs.core.map_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nvar nav \x3d clojure.datafy.nav(data,key,val);\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(nav,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22nav?\x22,\x22nav?\x22,1269039770),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(val,nav)], null));\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar nav \x3d clojure.datafy.nav(data,idx,val);\nreturn shadow.remote.runtime.obj_support.obj_ref.cljs$core$IFn$_invoke$arity$2(nav,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22nav?\x22,\x22nav?\x22,1269039770),cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(val,nav)], null));\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22nav not supported?\x22,entry);\n\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_fragment \x3d shadow.remote.runtime.obj_support.handler_with_object((function (p__38709,p__38710,p__38711){\nvar map__38712 \x3d p__38709;\nvar map__38712__$1 \x3d cljs.core.__destructure_map(map__38712);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38712__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38713 \x3d p__38710;\nvar map__38713__$1 \x3d cljs.core.__destructure_map(map__38713);\nvar entry \x3d map__38713__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38713__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nvar map__38714 \x3d p__38711;\nvar map__38714__$1 \x3d cljs.core.__destructure_map(map__38714);\nvar msg \x3d map__38714__$1;\nvar start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38714__$1,new cljs.core.Keyword(null,\x22start\x22,\x22start\x22,-355208981));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38714__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673));\nvar val_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38714__$1,new cljs.core.Keyword(null,\x22val-limit\x22,\x22val-limit\x22,1428666181),(100));\nif(cljs.core.map_QMARK_(data)){\nvar map__38717 \x3d msg;\nvar map__38717__$1 \x3d cljs.core.__destructure_map(map__38717);\nvar key_limit \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38717__$1,new cljs.core.Keyword(null,\x22key-limit\x22,\x22key-limit\x22,259239169),(100));\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,cljs.core.keys(data));\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(view_order);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar key \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nvar val \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(data,key);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22key\x22,\x22key\x22,-1516042587),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(key,key_limit);\n}catch (e38730){var e \x3d e38730;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})(),new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),(function (){try{return shadow.remote.runtime.writer.pr_str_limit(val,val_limit);\n}catch (e38736){var e \x3d e38736;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,\x22... print failed ...\x22], null);\n}})()], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.vector_QMARK_(data)){\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(data);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.list_QMARK_(data)){\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(data);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(data,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nif(cljs.core.set_QMARK_(data)){\nvar view_order \x3d shadow.remote.runtime.obj_support.cache_view_order(state_ref,entry,data);\nvar end \x3d (function (){var x__5113__auto__ \x3d cljs.core.count(view_order);\nvar y__5114__auto__ \x3d (start + num);\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})();\nvar idxs \x3d cljs.core.range.cljs$core$IFn$_invoke$arity$2(start,end);\nvar fragment \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (m,idx){\nvar val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(view_order,idx);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,idx,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),shadow.remote.runtime.writer.pr_str_limit(val,val_limit)], null));\n}),cljs.core.PersistentArrayMap.EMPTY,idxs);\nreturn fragment;\n} else {\nreturn null;\n}\n}\n}\n}\n}));\nshadow.remote.runtime.obj_support.obj_request \x3d (function shadow$remote$runtime$obj_support$obj_request(this$,p__38754){\nvar map__38758 \x3d p__38754;\nvar map__38758__$1 \x3d cljs.core.__destructure_map(map__38758);\nvar msg \x3d map__38758__$1;\nvar request_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38758__$1,new cljs.core.Keyword(null,\x22request-op\x22,\x22request-op\x22,1472997246));\nvar real_handler \x3d (function (){var G__38766 \x3d request_op;\nvar G__38766__$1 \x3d (((G__38766 instanceof cljs.core.Keyword))?G__38766.fqn:null);\nswitch (G__38766__$1) {\ncase \x22str\x22:\nreturn shadow.remote.runtime.obj_support.obj_str;\n\nbreak;\ncase \x22ex-str\x22:\nreturn shadow.remote.runtime.obj_support.obj_ex_str;\n\nbreak;\ncase \x22edn\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22edn-limit\x22:\nreturn shadow.remote.runtime.obj_support.obj_edn;\n\nbreak;\ncase \x22pprint\x22:\nreturn this$;\n\nbreak;\ncase \x22nav\x22:\nreturn this$;\n\nbreak;\ncase \x22fragment\x22:\nreturn shadow.remote.runtime.obj_support.obj_fragment;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__38766__$1)].join(\x27\x27)));\n\n}\n})();\nreturn (real_handler.cljs$core$IFn$_invoke$arity$2 ? real_handler.cljs$core$IFn$_invoke$arity$2(this$,msg) : real_handler.call(null,this$,msg));\n});\nshadow.remote.runtime.obj_support.obj_describe \x3d (function shadow$remote$runtime$obj_support$obj_describe(p__38788,p__38789){\nvar map__38790 \x3d p__38788;\nvar map__38790__$1 \x3d cljs.core.__destructure_map(map__38790);\nvar this$ \x3d map__38790__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38790__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38791 \x3d p__38789;\nvar map__38791__$1 \x3d cljs.core.__destructure_map(map__38791);\nvar msg \x3d map__38791__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38791__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nvar temp__5821__auto__ \x3d shadow.remote.runtime.obj_support.obj_describe_STAR_(this$,oid);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar summary \x3d temp__5821__auto__;\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-summary\x22,\x22obj-summary\x22,-1372191064),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),summary], null));\n} else {\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22obj-not-found\x22,\x22obj-not-found\x22,1577257696),new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n});\nshadow.remote.runtime.obj_support.obj_forget \x3d (function shadow$remote$runtime$obj_support$obj_forget(p__38813,p__38814){\nvar map__38815 \x3d p__38813;\nvar map__38815__$1 \x3d cljs.core.__destructure_map(map__38815);\nvar svc \x3d map__38815__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38815__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__38816 \x3d p__38814;\nvar map__38816__$1 \x3d cljs.core.__destructure_map(map__38816);\nvar msg \x3d map__38816__$1;\nvar oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38816__$1,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([oid], 0));\n});\nshadow.remote.runtime.obj_support.obj_forget_all \x3d (function shadow$remote$runtime$obj_support$obj_forget_all(p__38817,msg){\nvar map__38818 \x3d p__38817;\nvar map__38818__$1 \x3d cljs.core.__destructure_map(map__38818);\nvar svc \x3d map__38818__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38818__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY);\n});\nshadow.remote.runtime.obj_support.basic_gc_BANG_ \x3d (function shadow$remote$runtime$obj_support$basic_gc_BANG_(state){\nvar objs_to_drop \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((100),cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-at\x22,\x22access-at\x22,-1487162729),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(state))))));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (state__$1,oid){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(state__$1,new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.dissoc,oid);\n}),state,objs_to_drop);\n});\nshadow.remote.runtime.obj_support.add_inspector \x3d (function shadow$remote$runtime$obj_support$add_inspector(p__38853,inspect_fn){\nvar map__38854 \x3d p__38853;\nvar map__38854__$1 \x3d cljs.core.__destructure_map(map__38854);\nvar this$ \x3d map__38854__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38854__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.fn_QMARK_(inspect_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? inspect-fn)\x22));\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([inspect_fn], 0));\n\nreturn this$;\n});\nshadow.remote.runtime.obj_support.start \x3d (function shadow$remote$runtime$obj_support$start(runtime){\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22inspectors\x22,\x22inspectors\x22,-426448246),cljs.core.PersistentHashSet.EMPTY,new cljs.core.Keyword(null,\x22id-seq-ref\x22,\x22id-seq-ref\x22,-98357047),(0)], null));\nvar svc \x3d shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(shadow.remote.runtime.obj_support.add_inspector(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),state_ref], null),(function (summary,p__38869){\nvar map__38870 \x3d p__38869;\nvar map__38870__$1 \x3d cljs.core.__destructure_map(map__38870);\nvar entry \x3d map__38870__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38870__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif((!(shadow.remote.runtime.obj_support.simple_value_QMARK_(obj)))){\nreturn summary;\n} else {\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170));\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325));\n})),(function (summary,p__38871){\nvar map__38872 \x3d p__38871;\nvar map__38872__$1 \x3d cljs.core.__destructure_map(map__38872);\nvar entry \x3d map__38872__$1;\nvar obj \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38872__$1,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962));\nif(shadow.remote.runtime.obj_support.exception_QMARK_(obj)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467));\n} else {\nreturn summary;\n}\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133));\n})),(function (summary,entry){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004));\n})),(function (summary,p__38874){\nvar map__38875 \x3d p__38874;\nvar map__38875__$1 \x3d cljs.core.__destructure_map(map__38875);\nvar entry \x3d map__38875__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38875__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((cljs.core.coll_QMARK_(data)) || (cljs.core.seq_QMARK_(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802));\n} else {\nreturn summary;\n}\n})),(function (summary,p__38876){\nvar map__38877 \x3d p__38876;\nvar map__38877__$1 \x3d cljs.core.__destructure_map(map__38877);\nvar entry \x3d map__38877__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38877__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622));\n} else {\nreturn summary;\n}\n})),(function (summary,p__38878){\nvar map__38879 \x3d p__38878;\nvar map__38879__$1 \x3d cljs.core.__destructure_map(map__38879);\nvar entry \x3d map__38879__$1;\nvar data \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38879__$1,new cljs.core.Keyword(null,\x22data\x22,\x22data\x22,-232669377));\nif(((((cljs.core.map_QMARK_(data)) || (((cljs.core.vector_QMARK_(data)) || (((cljs.core.set_QMARK_(data)) || (cljs.core.list_QMARK_(data)))))))) \x26\x26 (cljs.core.seq(data)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(summary,new cljs.core.Keyword(null,\x22supports\x22,\x22supports\x22,1501242067),cljs.core.conj,new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161));\n} else {\nreturn summary;\n}\n}));\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22obj-forget\x22,\x22obj-forget\x22,2003566115),new cljs.core.Keyword(null,\x22obj-describe\x22,\x22obj-describe\x22,-34922904),new cljs.core.Keyword(null,\x22obj-ex-str\x22,\x22obj-ex-str\x22,-639656467),new cljs.core.Keyword(null,\x22obj-request\x22,\x22obj-request\x22,-1709325811),new cljs.core.Keyword(null,\x22obj-edn\x22,\x22obj-edn\x22,809365133),new cljs.core.Keyword(null,\x22obj-pprint\x22,\x22obj-pprint\x22,-1831226802),new cljs.core.Keyword(null,\x22obj-get-value\x22,\x22obj-get-value\x22,281897170),new cljs.core.Keyword(null,\x22obj-forget-all\x22,\x22obj-forget-all\x22,1418682131),new cljs.core.Keyword(null,\x22obj-fragment\x22,\x22obj-fragment\x22,1857463161),new cljs.core.Keyword(null,\x22obj-edn-limit\x22,\x22obj-edn-limit\x22,-1550136004),new cljs.core.Keyword(null,\x22obj-str\x22,\x22obj-str\x22,1815115325),new cljs.core.Keyword(null,\x22obj-nav\x22,\x22obj-nav\x22,1248750622)],[(function (p1__38866_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget(svc,p1__38866_SHARP_);\n}),(function (p1__38856_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_describe(svc,p1__38856_SHARP_);\n}),(function (p1__38862_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_ex_str(svc,p1__38862_SHARP_);\n}),(function (p1__38857_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_request(svc,p1__38857_SHARP_);\n}),(function (p1__38858_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn(svc,p1__38858_SHARP_);\n}),(function (p1__38863_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_pprint(svc,p1__38863_SHARP_);\n}),(function (p1__38859_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_get_value(svc,p1__38859_SHARP_);\n}),(function (p1__38867_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_forget_all(svc,p1__38867_SHARP_);\n}),(function (p1__38865_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_fragment(svc,p1__38865_SHARP_);\n}),(function (p1__38860_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_edn_limit(svc,p1__38860_SHARP_);\n}),(function (p1__38861_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_str(svc,p1__38861_SHARP_);\n}),(function (p1__38864_SHARP_){\nreturn shadow.remote.runtime.obj_support.obj_nav(svc,p1__38864_SHARP_);\n})]),new cljs.core.Keyword(null,\x22on-idle\x22,\x22on-idle\x22,2044706602),(function (){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(state_ref,shadow.remote.runtime.obj_support.basic_gc_BANG_);\n})], null));\n\nreturn svc;\n});\nshadow.remote.runtime.obj_support.get_tap_history \x3d (function shadow$remote$runtime$obj_support$get_tap_history(p__38894,num){\nvar map__38898 \x3d p__38894;\nvar map__38898__$1 \x3d cljs.core.__destructure_map(map__38898);\nvar svc \x3d map__38898__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38898__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),cljs.core.take.cljs$core$IFn$_invoke$arity$2(num,cljs.core.reverse(cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22added-at\x22,\x22added-at\x22,-352499434),cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__38892_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(p1__38892_SHARP_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22obj-info\x22,\x22obj-info\x22,-373842651),new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044)], null)));\n}),cljs.core.vals(new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)))))))));\n});\nshadow.remote.runtime.obj_support.register \x3d (function shadow$remote$runtime$obj_support$register(p__38903,obj,obj_info){\nvar map__38904 \x3d p__38903;\nvar map__38904__$1 \x3d cljs.core.__destructure_map(map__38904);\nvar svc \x3d map__38904__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38904__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar oid \x3d shadow.remote.runtime.obj_support.next_oid();\nif((!(((cljs.core.vector_QMARK_(obj)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22shadow.remote\x22,\x22wrap\x22,\x22shadow.remote/wrap\x22,996267199),cljs.core.first(obj))) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(obj),(3))))))))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,obj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info], 0));\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,shadow.remote.runtime.obj_support.register_STAR_,oid,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(1)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([obj_info,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(obj,(2))], 0))], 0));\n}\n\nreturn oid;\n});\nshadow.remote.runtime.obj_support.get_ref \x3d (function shadow$remote$runtime$obj_support$get_ref(p__38909,obj_id){\nvar map__38910 \x3d p__38909;\nvar map__38910__$1 \x3d cljs.core.__destructure_map(map__38910);\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38910__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(state_ref),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22objects\x22,\x22objects\x22,2099713734),obj_id], null));\n});\nshadow.remote.runtime.obj_support.stop \x3d (function shadow$remote$runtime$obj_support$stop(p__38911){\nvar map__38912 \x3d p__38911;\nvar map__38912__$1 \x3d cljs.core.__destructure_map(map__38912);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38912__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.obj-support\x22,\x22ext\x22,\x22shadow.remote.runtime.obj-support/ext\x22,-1896569346));\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.tap_support.js", true, "goog.provide(\x27shadow.remote.runtime.tap_support\x27);\nshadow.remote.runtime.tap_support.tap_subscribe \x3d (function shadow$remote$runtime$tap_support$tap_subscribe(p__38932,p__38933){\nvar map__38934 \x3d p__38932;\nvar map__38934__$1 \x3d cljs.core.__destructure_map(map__38934);\nvar svc \x3d map__38934__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38934__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38934__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38934__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38935 \x3d p__38933;\nvar map__38935__$1 \x3d cljs.core.__destructure_map(map__38935);\nvar msg \x3d map__38935__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38935__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nvar summary \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38935__$1,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952));\nvar history__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38935__$1,new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220));\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38935__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(subs_ref,cljs.core.assoc,from,msg);\n\nif(cljs.core.truth_(history__$1)){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-subscribed\x22,\x22tap-subscribed\x22,-1882247432),new cljs.core.Keyword(null,\x22history\x22,\x22history\x22,-247395220),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (oid){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid,new cljs.core.Keyword(null,\x22summary\x22,\x22summary\x22,380847952),shadow.remote.runtime.obj_support.obj_describe_STAR_(obj_support,oid)], null);\n}),shadow.remote.runtime.obj_support.get_tap_history(obj_support,num)))], null));\n} else {\nreturn null;\n}\n});\nshadow.remote.runtime.tap_support.tap_unsubscribe \x3d (function shadow$remote$runtime$tap_support$tap_unsubscribe(p__38936,p__38937){\nvar map__38938 \x3d p__38936;\nvar map__38938__$1 \x3d cljs.core.__destructure_map(map__38938);\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38938__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nvar map__38939 \x3d p__38937;\nvar map__38939__$1 \x3d cljs.core.__destructure_map(map__38939);\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38939__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,from);\n});\nshadow.remote.runtime.tap_support.request_tap_history \x3d (function shadow$remote$runtime$tap_support$request_tap_history(p__38941,p__38942){\nvar map__38966 \x3d p__38941;\nvar map__38966__$1 \x3d cljs.core.__destructure_map(map__38966);\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38966__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38966__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__38967 \x3d p__38942;\nvar map__38967__$1 \x3d cljs.core.__destructure_map(map__38967);\nvar msg \x3d map__38967__$1;\nvar num \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__38967__$1,new cljs.core.Keyword(null,\x22num\x22,\x22num\x22,1985240673),(10));\nvar tap_ids \x3d shadow.remote.runtime.obj_support.get_tap_history(obj_support,num);\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap-history\x22,\x22tap-history\x22,-282803347),new cljs.core.Keyword(null,\x22oids\x22,\x22oids\x22,-1580877688),tap_ids], null));\n});\nshadow.remote.runtime.tap_support.tool_disconnect \x3d (function shadow$remote$runtime$tap_support$tool_disconnect(p__38977,tid){\nvar map__38978 \x3d p__38977;\nvar map__38978__$1 \x3d cljs.core.__destructure_map(map__38978);\nvar svc \x3d map__38978__$1;\nvar subs_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38978__$1,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(subs_ref,cljs.core.dissoc,tid);\n});\nshadow.remote.runtime.tap_support.start \x3d (function shadow$remote$runtime$tap_support$start(runtime,obj_support){\nvar subs_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar tap_fn \x3d (function shadow$remote$runtime$tap_support$start_$_runtime_tap(obj){\nif((!((obj \x3d\x3d null)))){\nvar oid \x3d shadow.remote.runtime.obj_support.register(obj_support,obj,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463)], null));\nvar seq__38987 \x3d cljs.core.seq(cljs.core.deref(subs_ref));\nvar chunk__38988 \x3d null;\nvar count__38989 \x3d (0);\nvar i__38990 \x3d (0);\nwhile(true){\nif((i__38990 \x3c count__38989)){\nvar vec__38999 \x3d chunk__38988.cljs$core$IIndexed$_nth$arity$2(null,i__38990);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38999,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38999,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__39023 \x3d seq__38987;\nvar G__39024 \x3d chunk__38988;\nvar G__39025 \x3d count__38989;\nvar G__39026 \x3d (i__38990 + (1));\nseq__38987 \x3d G__39023;\nchunk__38988 \x3d G__39024;\ncount__38989 \x3d G__39025;\ni__38990 \x3d G__39026;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__38987);\nif(temp__5823__auto__){\nvar seq__38987__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__38987__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__38987__$1);\nvar G__39027 \x3d cljs.core.chunk_rest(seq__38987__$1);\nvar G__39028 \x3d c__5548__auto__;\nvar G__39029 \x3d cljs.core.count(c__5548__auto__);\nvar G__39030 \x3d (0);\nseq__38987 \x3d G__39027;\nchunk__38988 \x3d G__39028;\ncount__38989 \x3d G__39029;\ni__38990 \x3d G__39030;\ncontinue;\n} else {\nvar vec__39004 \x3d cljs.core.first(seq__38987__$1);\nvar tid \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39004,(0),null);\nvar tap_config \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39004,(1),null);\nshadow.remote.runtime.api.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22tap\x22,\x22tap\x22,-1086702463),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),tid,new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n\n\nvar G__39031 \x3d cljs.core.next(seq__38987__$1);\nvar G__39032 \x3d null;\nvar G__39033 \x3d (0);\nvar G__39034 \x3d (0);\nseq__38987 \x3d G__39031;\nchunk__38988 \x3d G__39032;\ncount__38989 \x3d G__39033;\ni__38990 \x3d G__39034;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n} else {\nreturn null;\n}\n});\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461),tap_fn,new cljs.core.Keyword(null,\x22subs-ref\x22,\x22subs-ref\x22,-1355989911),subs_ref], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22tap-subscribe\x22,\x22tap-subscribe\x22,411179050),(function (p1__38980_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_subscribe(svc,p1__38980_SHARP_);\n}),new cljs.core.Keyword(null,\x22tap-unsubscribe\x22,\x22tap-unsubscribe\x22,1183890755),(function (p1__38981_SHARP_){\nreturn shadow.remote.runtime.tap_support.tap_unsubscribe(svc,p1__38981_SHARP_);\n}),new cljs.core.Keyword(null,\x22request-tap-history\x22,\x22request-tap-history\x22,-670837812),(function (p1__38982_SHARP_){\nreturn shadow.remote.runtime.tap_support.request_tap_history(svc,p1__38982_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22on-tool-disconnect\x22,\x22on-tool-disconnect\x22,693464366),(function (p1__38983_SHARP_){\nreturn shadow.remote.runtime.tap_support.tool_disconnect(svc,p1__38983_SHARP_);\n})], null));\n\ncljs.core.add_tap(tap_fn);\n\nreturn svc;\n});\nshadow.remote.runtime.tap_support.stop \x3d (function shadow$remote$runtime$tap_support$stop(p__39008){\nvar map__39012 \x3d p__39008;\nvar map__39012__$1 \x3d cljs.core.__destructure_map(map__39012);\nvar svc \x3d map__39012__$1;\nvar tap_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39012__$1,new cljs.core.Keyword(null,\x22tap-fn\x22,\x22tap-fn\x22,1573556461));\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39012__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\ncljs.core.remove_tap(tap_fn);\n\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.tap-support\x22,\x22ext\x22,\x22shadow.remote.runtime.tap-support/ext\x22,1019069674));\n});\n");
SHADOW_ENV.evalLoad("shadow.remote.runtime.eval_support.js", true, "goog.provide(\x27shadow.remote.runtime.eval_support\x27);\nshadow.remote.runtime.eval_support.obj_support_inst \x3d null;\nshadow.remote.runtime.eval_support.get_ref \x3d (function shadow$remote$runtime$eval_support$get_ref(oid){\nif(cljs.core.truth_(shadow.remote.runtime.eval_support.obj_support_inst)){\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22obj-support not bound, can only call this from eval\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22oid\x22,\x22oid\x22,-768692334),oid], null));\n}\n\nreturn shadow.remote.runtime.obj_support.get_ref(shadow.remote.runtime.eval_support.obj_support_inst,oid);\n});\nshadow.remote.runtime.eval_support.cljs_eval \x3d (function shadow$remote$runtime$eval_support$cljs_eval(p__38917,p__38918){\nvar map__38919 \x3d p__38917;\nvar map__38919__$1 \x3d cljs.core.__destructure_map(map__38919);\nvar svc \x3d map__38919__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38919__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38919__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__38920 \x3d p__38918;\nvar map__38920__$1 \x3d cljs.core.__destructure_map(map__38920);\nvar msg \x3d map__38920__$1;\nvar input \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38920__$1,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d obj_support);\n\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input,(function (p__38921){\nvar map__38922 \x3d p__38921;\nvar map__38922__$1 \x3d cljs.core.__destructure_map(map__38922);\nvar info \x3d map__38922__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38922__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\n(shadow.remote.runtime.eval_support.obj_support_inst \x3d null);\n\nvar G__38923 \x3d result;\nvar G__38923__$1 \x3d (((G__38923 instanceof cljs.core.Keyword))?G__38923.fqn:null);\nswitch (G__38923__$1) {\ncase \x22compile-error\x22:\nvar map__38925 \x3d info;\nvar map__38925__$1 \x3d cljs.core.__destructure_map(map__38925);\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38925__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38925__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38925__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-error\x22,\x22eval-compile-error\x22,-1765075397),new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null));\n\nbreak;\ncase \x22runtime-error\x22:\nvar map__38926 \x3d info;\nvar map__38926__$1 \x3d cljs.core.__destructure_map(map__38926);\nvar ex \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38926__$1,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341));\nvar ex_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,ex,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-runtime-error\x22,\x22eval-runtime-error\x22,275935402),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid], null));\n\nbreak;\ncase \x22warnings\x22:\nvar map__38943 \x3d info;\nvar map__38943__$1 \x3d cljs.core.__destructure_map(map__38943);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38943__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-compile-warnings\x22,\x22eval-compile-warnings\x22,1994859386),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ncase \x22ok\x22:\nvar map__38944 \x3d info;\nvar map__38944__$1 \x3d cljs.core.__destructure_map(map__38944);\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38944__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38944__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar time_start \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38944__$1,new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745));\nvar time_finish \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38944__$1,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653));\nvar val \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(results)))?cljs.core.first(results):results);\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,val,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),input], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid,new cljs.core.Keyword(null,\x22eval-ms\x22,\x22eval-ms\x22,788821074),(time_finish - time_start),new cljs.core.Keyword(null,\x22eval-ns\x22,\x22eval-ns\x22,-915623795),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(info),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings], null));\n\nbreak;\ndefault:\nreturn console.error(\x22Unhandled cljs-eval result\x22,info);\n\n}\n}));\n});\nshadow.remote.runtime.eval_support.js_eval \x3d (function shadow$remote$runtime$eval_support$js_eval(p__38949,p__38950){\nvar map__38951 \x3d p__38949;\nvar map__38951__$1 \x3d cljs.core.__destructure_map(map__38951);\nvar svc \x3d map__38951__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38951__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38951__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nvar map__38952 \x3d p__38950;\nvar map__38952__$1 \x3d cljs.core.__destructure_map(map__38952);\nvar msg \x3d map__38952__$1;\nvar code \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38952__$1,new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142));\nreturn shadow.remote.runtime.api.js_eval(runtime,code,(function shadow$remote$runtime$eval_support$js_eval_$_eval_success(res){\nvar ref_oid \x3d shadow.remote.runtime.obj_support.register(obj_support,res,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22js-code\x22,\x22js-code\x22,1816578331),code], null));\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-result-ref\x22,\x22eval-result-ref\x22,263827420),new cljs.core.Keyword(null,\x22ref-oid\x22,\x22ref-oid\x22,-526648644),ref_oid], null));\n}),(function shadow$remote$runtime$eval_support$js_eval_$_eval_fail(e){\nreturn shadow.remote.runtime.shared.reply(runtime,msg,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22eval-error\x22,\x22eval-error\x22,466139568),new cljs.core.Keyword(null,\x22e\x22,\x22e\x22,1381269198),e.message], null));\n}));\n});\nshadow.remote.runtime.eval_support.start \x3d (function shadow$remote$runtime$eval_support$start(runtime,obj_support){\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),obj_support], null);\nshadow.remote.runtime.shared.add_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22js-eval\x22,\x22js-eval\x22,-137738892),(function (p1__38957_SHARP_){\nreturn shadow.remote.runtime.eval_support.js_eval(svc,p1__38957_SHARP_);\n}),new cljs.core.Keyword(null,\x22cljs-eval\x22,\x22cljs-eval\x22,1860675817),(function (p1__38958_SHARP_){\nreturn shadow.remote.runtime.eval_support.cljs_eval(svc,p1__38958_SHARP_);\n})], null)], null));\n\nreturn svc;\n});\nshadow.remote.runtime.eval_support.stop \x3d (function shadow$remote$runtime$eval_support$stop(p__38959){\nvar map__38960 \x3d p__38959;\nvar map__38960__$1 \x3d cljs.core.__destructure_map(map__38960);\nvar svc \x3d map__38960__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__38960__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.remote.runtime.eval-support\x22,\x22ext\x22,\x22shadow.remote.runtime.eval-support/ext\x22,1781604625));\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.shared.js", true, "goog.provide(\x27shadow.cljs.devtools.client.shared\x27);\ngoog.scope(function(){\n shadow.cljs.devtools.client.shared.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IRemote \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_39318 \x3d (function (this$,e){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5374__auto__.call(null,this$,e));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_open[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5372__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-open\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_open \x3d (function shadow$cljs$devtools$client$shared$remote_open(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_open$dyn_39318(this$,e);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_39321 \x3d (function (this$,msg){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5374__auto__.call(null,this$,msg));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_msg[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,msg) : m__5372__auto__.call(null,this$,msg));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-msg\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_msg \x3d (function shadow$cljs$devtools$client$shared$remote_msg(this$,msg){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2(this$,msg);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_msg$dyn_39321(this$,msg);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_39322 \x3d (function (this$,e,info){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5374__auto__.call(null,this$,e,info));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_close[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(this$,e,info) : m__5372__auto__.call(null,this$,e,info));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-close\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_close \x3d (function shadow$cljs$devtools$client$shared$remote_close(this$,e,info){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3(this$,e,info);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_close$dyn_39322(this$,e,info);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_39323 \x3d (function (this$,e){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5374__auto__.call(null,this$,e));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.remote_error[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,e) : m__5372__auto__.call(null,this$,e));\n} else {\nthrow cljs.core.missing_protocol(\x22IRemote.remote-error\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.remote_error \x3d (function shadow$cljs$devtools$client$shared$remote_error(this$,e){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2(this$,e);\n} else {\nreturn shadow$cljs$devtools$client$shared$IRemote$remote_error$dyn_39323(this$,e);\n}\n});\n\n\n/**\n * @interface\n */\nshadow.cljs.devtools.client.shared.IHostSpecific \x3d function(){};\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_39324 \x3d (function (this$,action,done,error){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5374__auto__.call(null,this$,action,done,error));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_init[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(this$,action,done,error) : m__5372__auto__.call(null,this$,action,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-init\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_init \x3d (function shadow$cljs$devtools$client$shared$do_repl_init(this$,action,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4(this$,action,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$dyn_39324(this$,action,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_39327 \x3d (function (this$,require_msg,done,error){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5374__auto__.call(null,this$,require_msg,done,error));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.do_repl_require[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$4 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$4(this$,require_msg,done,error) : m__5372__auto__.call(null,this$,require_msg,done,error));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-repl-require\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_repl_require \x3d (function shadow$cljs$devtools$client$shared$do_repl_require(this$,require_msg,done,error){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4(this$,require_msg,done,error);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$dyn_39327(this$,require_msg,done,error);\n}\n});\n\nvar shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_39332 \x3d (function (this$,ns,invoke_msg,success,fail){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$5(this$,ns,invoke_msg,success,fail) : m__5374__auto__.call(null,this$,ns,invoke_msg,success,fail));\n} else {\nvar m__5372__auto__ \x3d (shadow.cljs.devtools.client.shared.do_invoke[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$5 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$5(this$,ns,invoke_msg,success,fail) : m__5372__auto__.call(null,this$,ns,invoke_msg,success,fail));\n} else {\nthrow cljs.core.missing_protocol(\x22IHostSpecific.do-invoke\x22,this$);\n}\n}\n});\nshadow.cljs.devtools.client.shared.do_invoke \x3d (function shadow$cljs$devtools$client$shared$do_invoke(this$,ns,invoke_msg,success,fail){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$5 \x3d\x3d null)))))){\nreturn this$.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$5(this$,ns,invoke_msg,success,fail);\n} else {\nreturn shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$dyn_39332(this$,ns,invoke_msg,success,fail);\n}\n});\n\nshadow.cljs.devtools.client.shared.load_sources \x3d (function shadow$cljs$devtools$client$shared$load_sources(runtime,sources,callback){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__39050){\nvar map__39051 \x3d p__39050;\nvar map__39051__$1 \x3d cljs.core.__destructure_map(map__39051);\nvar msg \x3d map__39051__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39051__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(sources__$1) : callback.call(null,sources__$1));\n})], null));\n});\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.runtime_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.runtime_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\n}\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.plugins_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.plugins_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_ \x3d (function shadow$cljs$devtools$client$shared$start_all_plugins_BANG_(p__39052){\nvar map__39053 \x3d p__39052;\nvar map__39053__$1 \x3d cljs.core.__destructure_map(map__39053);\nvar runtime \x3d map__39053__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39053__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar started_set \x3d cljs.core.set(cljs.core.keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref))));\nvar plugins \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref);\nvar plugins_set \x3d cljs.core.set(cljs.core.keys(plugins));\nvar pending_set \x3d clojure.set.difference.cljs$core$IFn$_invoke$arity$2(plugins_set,started_set);\nvar pending_set__$1 \x3d pending_set;\nwhile(true){\nif(cljs.core.empty_QMARK_(pending_set__$1)){\nreturn new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22done!\x22,\x22shadow.cljs.devtools.client.shared/done!\x22,-748632664);\n} else {\nvar G__39335 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (pending_set__$1,started_set,plugins,plugins_set,pending_set,map__39053,map__39053__$1,runtime,state_ref){\nreturn (function (pending_set__$2,plugin_id){\nvar map__39058 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(plugins,plugin_id);\nvar map__39058__$1 \x3d cljs.core.__destructure_map(map__39058);\nvar plugin \x3d map__39058__$1;\nvar depends_on \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39058__$1,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022));\nvar init_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39058__$1,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971));\nif(cljs.core.truth_(cljs.core.some(pending_set__$2,depends_on))){\nreturn pending_set__$2;\n} else {\nvar start_arg \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.select_keys(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(state_ref)),depends_on),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime);\nvar started \x3d (init_fn.cljs$core$IFn$_invoke$arity$1 ? init_fn.cljs$core$IFn$_invoke$arity$1(start_arg) : init_fn.call(null,start_arg));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null),started);\n\nreturn cljs.core.disj.cljs$core$IFn$_invoke$arity$2(pending_set__$2,plugin_id);\n}\n});})(pending_set__$1,started_set,plugins,plugins_set,pending_set,map__39053,map__39053__$1,runtime,state_ref))\n,pending_set__$1,pending_set__$1);\npending_set__$1 \x3d G__39335;\ncontinue;\n\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.shared.add_plugin_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_plugin_BANG_(plugin_id,depends_on,init_fn,stop_fn){\nif((plugin_id instanceof cljs.core.Keyword)){\n} else {\nthrow (new Error(\x22Assert failed: (keyword? plugin-id)\x22));\n}\n\nif(cljs.core.set_QMARK_(depends_on)){\n} else {\nthrow (new Error(\x22Assert failed: (set? depends-on)\x22));\n}\n\nif(cljs.core.fn_QMARK_(init_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? init-fn)\x22));\n}\n\nif(cljs.core.fn_QMARK_(stop_fn)){\n} else {\nthrow (new Error(\x22Assert failed: (fn? stop-fn)\x22));\n}\n\nvar temp__5827__auto___39336 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5827__auto___39336 \x3d\x3d null)){\n} else {\nvar runtime_39338 \x3d temp__5827__auto___39336;\nvar temp__5827__auto___39339__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(runtime_39338,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),plugin_id], null));\nif((temp__5827__auto___39339__$1 \x3d\x3d null)){\n} else {\nvar started_39340 \x3d temp__5827__auto___39339__$1;\nvar map__39060_39341 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__39060_39342__$1 \x3d cljs.core.__destructure_map(map__39060_39341);\nvar old_39343 \x3d map__39060_39342__$1;\nvar stop_fn_39344__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39060_39342__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\n(stop_fn_39344__$1.cljs$core$IFn$_invoke$arity$1 ? stop_fn_39344__$1.cljs$core$IFn$_invoke$arity$1(started_39340) : stop_fn_39344__$1.call(null,started_39340));\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(shadow.cljs.devtools.client.shared.runtime_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([plugin_id], 0));\n}\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(shadow.cljs.devtools.client.shared.plugins_ref,cljs.core.assoc,plugin_id,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ext-id\x22,\x22ext-id\x22,-653860474),plugin_id,new cljs.core.Keyword(null,\x22depends-on\x22,\x22depends-on\x22,-1448442022),depends_on,new cljs.core.Keyword(null,\x22init-fn\x22,\x22init-fn\x22,777257971),init_fn,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246),stop_fn], null));\n\nvar temp__5827__auto__ \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar runtime \x3d temp__5827__auto__;\nreturn shadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n}\n});\nshadow.cljs.devtools.client.shared.transit_read \x3d (function shadow$cljs$devtools$client$shared$transit_read(p__39066,data){\nvar map__39067 \x3d p__39066;\nvar map__39067__$1 \x3d cljs.core.__destructure_map(map__39067);\nvar state \x3d map__39067__$1;\nvar transit_readers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39067__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-readers\x22,\x22shadow.cljs.devtools.client.shared/transit-readers\x22,-1866893537));\nvar t \x3d cognitect.transit.reader.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),transit_readers], null));\nreturn cognitect.transit.read(t,data);\n});\nshadow.cljs.devtools.client.shared.transit_str \x3d (function shadow$cljs$devtools$client$shared$transit_str(p__39071,obj){\nvar map__39072 \x3d p__39071;\nvar map__39072__$1 \x3d cljs.core.__destructure_map(map__39072);\nvar state \x3d map__39072__$1;\nvar transit_writers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39072__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-writers\x22,\x22shadow.cljs.devtools.client.shared/transit-writers\x22,-776127897));\nvar w \x3d cognitect.transit.writer.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22json\x22,\x22json\x22,1279968570),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22handlers\x22,\x22handlers\x22,79528781),transit_writers], null));\nreturn cognitect.transit.write(w,obj);\n});\nshadow.cljs.devtools.client.shared.add_transit_writers_BANG_ \x3d (function shadow$cljs$devtools$client$shared$add_transit_writers_BANG_(p__39076,writers){\nvar map__39078 \x3d p__39076;\nvar map__39078__$1 \x3d cljs.core.__destructure_map(map__39078);\nvar runtime \x3d map__39078__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39078__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-writers\x22,\x22shadow.cljs.devtools.client.shared/transit-writers\x22,-776127897),cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([writers], 0));\n\nreturn runtime;\n});\nshadow.cljs.devtools.client.shared.continue_BANG_ \x3d (function shadow$cljs$devtools$client$shared$continue_BANG_(state){\nreturn (shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1 ? shadow.cljs.devtools.client.shared.interpret_actions.cljs$core$IFn$_invoke$arity$1(state) : shadow.cljs.devtools.client.shared.interpret_actions.call(null,state));\n});\nshadow.cljs.devtools.client.shared.abort_BANG_ \x3d (function shadow$cljs$devtools$client$shared$abort_BANG_(p__39082,action,ex){\nvar map__39086 \x3d p__39082;\nvar map__39086__$1 \x3d cljs.core.__destructure_map(map__39086);\nvar state \x3d map__39086__$1;\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39086__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__39090 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime-error\x22,\x22runtime-error\x22,-2116843646),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex,new cljs.core.Keyword(null,\x22ex-action\x22,\x22ex-action\x22,672251553),action], 0)),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228)], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39090) : callback.call(null,G__39090));\n});\nshadow.cljs.devtools.client.shared.handle_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_invoke(state,runtime,action){\nreturn shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action,(function shadow$cljs$devtools$client$shared$handle_invoke_$_invoke_success(res){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39091 \x3d state;\nif(cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39091,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,res);\n} else {\nreturn G__39091;\n}\n})());\n}),(function shadow$cljs$devtools$client$shared$handle_invoke_$_invoke_fail(ex){\nconsole.error(\x22REPL Invoke Exception\x22,ex);\n\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n});\nshadow.cljs.devtools.client.shared.handle_repl_invoke \x3d (function shadow$cljs$devtools$client$shared$handle_repl_invoke(state,runtime,action){\nreturn shadow.cljs.devtools.client.shared.do_invoke(runtime,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(state),action,(function shadow$cljs$devtools$client$shared$handle_repl_invoke_$_repl_invoke_success(ret){\n(cljs.core._STAR_3 \x3d cljs.core._STAR_2);\n\n(cljs.core._STAR_2 \x3d cljs.core._STAR_1);\n\n(cljs.core._STAR_1 \x3d ret);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39098 \x3d state;\nif(cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39098,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,ret);\n} else {\nreturn G__39098;\n}\n})());\n}),(function shadow$cljs$devtools$client$shared$handle_repl_invoke_$_repl_invoke_fail(ex){\n(cljs.core._STAR_e \x3d ex);\n\nconsole.error(\x22REPL Invoke Exception\x22,ex);\n\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n});\nshadow.cljs.devtools.client.shared.interpret_action \x3d (function shadow$cljs$devtools$client$shared$interpret_action(p__39106,p__39107){\nvar map__39109 \x3d p__39106;\nvar map__39109__$1 \x3d cljs.core.__destructure_map(map__39109);\nvar state \x3d map__39109__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39109__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar map__39112 \x3d p__39107;\nvar map__39112__$1 \x3d cljs.core.__destructure_map(map__39112);\nvar action \x3d map__39112__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39112__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar G__39114 \x3d type;\nvar G__39114__$1 \x3d (((G__39114 instanceof cljs.core.Keyword))?G__39114.fqn:null);\nswitch (G__39114__$1) {\ncase \x22repl/init\x22:\nreturn shadow.cljs.devtools.client.shared.do_repl_init(runtime,action,(function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime),cljs.core.assoc,new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484),true);\n\nreturn shadow.cljs.devtools.client.shared.continue_BANG_(state);\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/set-ns\x22:\nvar map__39121 \x3d action;\nvar map__39121__$1 \x3d cljs.core.__destructure_map(map__39121);\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39121__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39121__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39122 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39122,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__39122;\n}\n})());\n\nbreak;\ncase \x22repl/require\x22:\nvar map__39129 \x3d action;\nvar map__39129__$1 \x3d cljs.core.__destructure_map(map__39129);\nvar internal \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39129__$1,new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097));\nreturn shadow.cljs.devtools.client.shared.do_repl_require(runtime,action,(function (sources){\nreturn shadow.cljs.devtools.client.shared.continue_BANG_((function (){var G__39130 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(state,new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),cljs.core.into,sources);\nif(cljs.core.not(internal)){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__39130,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113),cljs.core.conj,null);\n} else {\nreturn G__39130;\n}\n})());\n}),(function (ex){\nreturn shadow.cljs.devtools.client.shared.abort_BANG_(state,action,ex);\n}));\n\nbreak;\ncase \x22repl/invoke\x22:\nvar repl \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22repl\x22,\x22repl\x22,-35398667)], null));\nvar temp__5827__auto___39350 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(state,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22obj-refs\x22,\x22obj-refs\x22,-2086642078)], null));\nif((temp__5827__auto___39350 \x3d\x3d null)){\n} else {\nvar obj_refs_39351 \x3d temp__5827__auto___39350;\nvar obj_support_39352 \x3d new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime))));\nvar vec__39133_39353 \x3d obj_refs_39351;\nvar a_39354 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39133_39353,(0),null);\nvar b_39355 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39133_39353,(1),null);\nvar c_39356 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39133_39353,(2),null);\nif(cljs.core.truth_(a_39354)){\n(cljs.core._STAR_1 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(shadow.remote.runtime.obj_support.get_ref(obj_support_39352,a_39354)));\n} else {\n}\n\nif(cljs.core.truth_(b_39355)){\n(cljs.core._STAR_2 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(shadow.remote.runtime.obj_support.get_ref(obj_support_39352,b_39355)));\n} else {\n}\n\nif(cljs.core.truth_(c_39356)){\n(cljs.core._STAR_3 \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(shadow.remote.runtime.obj_support.get_ref(obj_support_39352,c_39356)));\n} else {\n}\n}\n\nvar invoke_fn \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d repl;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(new cljs.core.Keyword(null,\x22internal\x22,\x22internal\x22,-854870097).cljs$core$IFn$_invoke$arity$1(action));\n} else {\nreturn and__5023__auto__;\n}\n})())?shadow.cljs.devtools.client.shared.handle_repl_invoke:shadow.cljs.devtools.client.shared.handle_invoke);\nreturn (invoke_fn.cljs$core$IFn$_invoke$arity$3 ? invoke_fn.cljs$core$IFn$_invoke$arity$3(state,runtime,action) : invoke_fn.call(null,state,runtime,action));\n\nbreak;\ndefault:\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unhandled repl action\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22state\x22,\x22state\x22,-1988618099),state,new cljs.core.Keyword(null,\x22action\x22,\x22action\x22,-811238024),action], null));\n\n}\n});\nshadow.cljs.devtools.client.shared.interpret_actions \x3d (function shadow$cljs$devtools$client$shared$interpret_actions(p__39139){\nvar map__39140 \x3d p__39139;\nvar map__39140__$1 \x3d cljs.core.__destructure_map(map__39140);\nvar state \x3d map__39140__$1;\nvar queue \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39140__$1,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39140__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.empty_QMARK_(queue)){\nvar map__39142 \x3d state;\nvar map__39142__$1 \x3d cljs.core.__destructure_map(map__39142);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39142__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__39144 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now());\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39144) : callback.call(null,G__39144));\n} else {\nif(((cljs.core.seq(warnings)) \x26\x26 (shadow.cljs.devtools.client.env.ignore_warnings \x3d\x3d\x3d false))){\nvar map__39145 \x3d state;\nvar map__39145__$1 \x3d cljs.core.__destructure_map(map__39145);\nvar callback \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39145__$1,new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228));\nvar G__39146 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(state,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879)], 0)),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),warnings,new cljs.core.Keyword(null,\x22time-finish\x22,\x22time-finish\x22,-1456032653),Date.now()], 0));\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39146) : callback.call(null,G__39146));\n} else {\nvar action \x3d cljs.core.first(queue);\nvar state__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(state,new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),cljs.core.rest);\nreturn shadow.cljs.devtools.client.shared.interpret_action(state__$1,action);\n\n}\n}\n});\nshadow.cljs.devtools.client.shared.setup_actions \x3d (function shadow$cljs$devtools$client$shared$setup_actions(runtime,input,p__39147,callback){\nvar map__39148 \x3d p__39147;\nvar map__39148__$1 \x3d cljs.core.__destructure_map(map__39148);\nvar msg \x3d map__39148__$1;\nvar actions \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39148__$1,new cljs.core.Keyword(null,\x22actions\x22,\x22actions\x22,-812656882));\nreturn cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22queue\x22,\x22queue\x22,1455835879),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),new cljs.core.Keyword(null,\x22loaded-sources\x22,\x22loaded-sources\x22,-300252436),new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),new cljs.core.Keyword(null,\x22callback\x22,\x22callback\x22,-705136228),new cljs.core.Keyword(null,\x22time-start\x22,\x22time-start\x22,-590811745),new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113)],[actions,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(input),msg,cljs.core.PersistentVector.EMPTY,cljs.core.vec(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([actions], 0))),new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),runtime,input,callback,Date.now(),cljs.core.PersistentVector.EMPTY]);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {shadow.cljs.devtools.client.shared.IRemote}\n * @implements {shadow.remote.runtime.api.IRuntime}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n * @implements {shadow.remote.runtime.api.IEvalCLJS}\n*/\nshadow.cljs.devtools.client.shared.Runtime \x3d (function (state_ref,__meta,__extmap,__hash){\nthis.state_ref \x3d state_ref;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(shadow.cljs.devtools.client.shared.Runtime.prototype.attempt_connect_BANG_ \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__39159 \x3d cljs.core.deref(self__.state_ref);\nvar map__39159__$1 \x3d cljs.core.__destructure_map(map__39159);\nvar state \x3d map__39159__$1;\nvar ws_connecting \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar ws_start_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39159__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682));\nif(((cljs.core.not(shutdown)) \x26\x26 (((cljs.core.not(stale)) \x26\x26 (cljs.core.not(ws_connecting)))))){\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\nvar ws_state__$1 \x3d (ws_start_fn.cljs$core$IFn$_invoke$arity$1 ? ws_start_fn.cljs$core$IFn$_invoke$arity$1(this$) : ws_start_fn.call(null,this$));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656),ws_state__$1], 0));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.schedule_connect_BANG_ \x3d (function (after){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar map__39165 \x3d cljs.core.deref(self__.state_ref);\nvar map__39165__$1 \x3d cljs.core.__destructure_map(map__39165);\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39165__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nvar stale \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39165__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082));\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39165__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nif(cljs.core.truth_(ws_connect_timeout)){\nclearTimeout(ws_connect_timeout);\n} else {\n}\n\nif(((cljs.core.not(stale)) \x26\x26 (cljs.core.not(shutdown)))){\nshadow.remote.runtime.shared.trigger_BANG_(this$,new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702));\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043),setTimeout((function (){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\n\nreturn this$.attempt_connect_BANG_();\n}),after));\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k39151,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__39169 \x3d k39151;\nvar G__39169__$1 \x3d (((G__39169 instanceof cljs.core.Keyword))?G__39169.fqn:null);\nswitch (G__39169__$1) {\ncase \x22state-ref\x22:\nreturn self__.state_ref;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k39151,else__5326__auto__);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__39180){\nvar vec__39182 \x3d p__39180;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39182,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39182,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#shadow.cljs.devtools.client.shared.Runtime{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref],null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__39150){\nvar self__ \x3d this;\nvar G__39150__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__39150__$1,1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (1 + cljs.core.count(self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (229736719 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this39152,other39153){\nvar self__ \x3d this;\nvar this39152__$1 \x3d this;\nreturn (((!((other39153 \x3d\x3d null)))) \x26\x26 ((((this39152__$1.constructor \x3d\x3d\x3d other39153.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39152__$1.state_ref,other39153.state_ref)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39152__$1.__extmap,other39153.__extmap)))))));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalCLJS$_cljs_eval$arity$3 \x3d (function (this$,input,callback){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(this$__$1,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-compile\x22,\x22cljs-compile\x22,-1735075279),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22include-init\x22,\x22include-init\x22,1061115199),cljs.core.not(new cljs.core.Keyword(null,\x22init-complete\x22,\x22init-complete\x22,-157163484).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))], null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22cljs-compile-result\x22,\x22cljs-compile-result\x22,-1137644713),(function (msg){\nreturn shadow.cljs.devtools.client.shared.interpret_actions(shadow.cljs.devtools.client.shared.setup_actions(this$__$1,input,msg,callback));\n}),new cljs.core.Keyword(null,\x22cljs-compile-error\x22,\x22cljs-compile-error\x22,-371665768),(function (p__39193){\nvar map__39194 \x3d p__39193;\nvar map__39194__$1 \x3d cljs.core.__destructure_map(map__39194);\nvar ex_oid \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39194__$1,new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737));\nvar ex_client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39194__$1,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984));\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39194__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nvar G__39197 \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22compile-error\x22,\x22compile-error\x22,-1313154526),new cljs.core.Keyword(null,\x22ex-oid\x22,\x22ex-oid\x22,-650256737),ex_oid,new cljs.core.Keyword(null,\x22ex-client-id\x22,\x22ex-client-id\x22,-446123984),ex_client_id,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010),report], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39197) : callback.call(null,G__39197));\n}),new cljs.core.Keyword(null,\x22client-not-found\x22,\x22client-not-found\x22,-1754042614),(function (msg){\nvar G__39198 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211),new cljs.core.Keyword(null,\x22worker-not-found\x22,\x22worker-not-found\x22,-1848657608)], null);\nreturn (callback.cljs$core$IFn$_invoke$arity$1 ? callback.cljs$core$IFn$_invoke$arity$1(G__39198) : callback.call(null,G__39198));\n})], null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_open$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),true,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now()], 0));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_msg$arity$2 \x3d (function (this$,text){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar msg \x3d shadow.cljs.devtools.client.shared.transit_read(cljs.core.deref(self__.state_ref),text);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955).cljs$core$IFn$_invoke$arity$1(msg))){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),true);\n} else {\n}\n\nreturn shadow.remote.runtime.shared.process(this$__$1,msg);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_close$arity$3 \x3d (function (this$,e,info){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connecting\x22,\x22shadow.cljs.devtools.client.shared/ws-connecting\x22,-847036450));\n\nif(((3) \x3e\x3d new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(self__.state_ref)))){\nreturn this$__$1.schedule_connect_BANG_((5000));\n} else {\nreturn console.warn(\x22shadow-cljs: giving up trying to connect to \x22,info);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IRemote$remote_error$arity$2 \x3d (function (this$,e){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.update,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),cljs.core.inc);\n\nshadow.remote.runtime.shared.trigger_BANG_(this$__$1,new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814));\n\nreturn console.error(\x22shadow-cljs - remote-error\x22,e);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$relay_msg$arity$2 \x3d (function (this$,msg){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar map__39206 \x3d cljs.core.deref(self__.state_ref);\nvar map__39206__$1 \x3d cljs.core.__destructure_map(map__39206);\nvar state \x3d map__39206__$1;\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39206__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39206__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_send_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39206__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782),shadow.remote.runtime.shared.now());\n\nif(cljs.core.not(ws_connected)){\nreturn console.warn(\x22shadow-cljs - dropped ws message, not connected\x22,msg,state);\n} else {\nvar s \x3d (function (){try{return shadow.cljs.devtools.client.shared.transit_str(state,msg);\n}catch (e39208){var e \x3d e39208;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22failed to encode relay msg\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444),msg], null));\n}})();\nreturn (ws_send_fn.cljs$core$IFn$_invoke$arity$2 ? ws_send_fn.cljs$core$IFn$_invoke$arity$2(ws_state,s) : ws_send_fn.call(null,ws_state,s));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$add_extension$arity$3 \x3d (function (runtime,key,spec){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.add_extension(runtime__$1,key,spec);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IRuntime$del_extension$arity$2 \x3d (function (runtime,key){\nvar self__ \x3d this;\nvar runtime__$1 \x3d this;\nreturn shadow.remote.runtime.shared.del_extension(runtime__$1,key);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k39151){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__39211 \x3d k39151;\nvar G__39211__$1 \x3d (((G__39211 instanceof cljs.core.Keyword))?G__39211.fqn:null);\nswitch (G__39211__$1) {\ncase \x22state-ref\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k39151);\n\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__39150){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__39214 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__39215 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__39214.cljs$core$IFn$_invoke$arity$2 ? pred__39214.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__39215) : pred__39214.call(null,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),expr__39215)))){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(G__39150,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__39150),null));\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952),self__.state_ref,null))], null),self__.__extmap));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__39150){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new shadow.cljs.devtools.client.shared.Runtime(self__.state_ref,G__39150,self__.__extmap,self__.__hash));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22state-ref\x22,\x22state-ref\x22,-526560817,null)], null);\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$type \x3d true);\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22shadow.cljs.devtools.client.shared/Runtime\x22,null,(1),null));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22shadow.cljs.devtools.client.shared/Runtime\x22);\n}));\n\n/**\n * Positional factory function for shadow.cljs.devtools.client.shared/Runtime.\n */\nshadow.cljs.devtools.client.shared.__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$__GT_Runtime(state_ref){\nreturn (new shadow.cljs.devtools.client.shared.Runtime(state_ref,null,null,null));\n});\n\n/**\n * Factory function for shadow.cljs.devtools.client.shared/Runtime, taking a map of keywords to field values.\n */\nshadow.cljs.devtools.client.shared.map__GT_Runtime \x3d (function shadow$cljs$devtools$client$shared$map__GT_Runtime(G__39155){\nvar extmap__5365__auto__ \x3d (function (){var G__39229 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(G__39155,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nif(cljs.core.record_QMARK_(G__39155)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__39229);\n} else {\nreturn G__39229;\n}\n})();\nreturn (new shadow.cljs.devtools.client.shared.Runtime(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(G__39155),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.shared.print_subs !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.shared.print_subs \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentHashSet.EMPTY);\n}\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$stop_runtime_BANG_(p__39238){\nvar map__39239 \x3d p__39238;\nvar map__39239__$1 \x3d cljs.core.__destructure_map(map__39239);\nvar runtime \x3d map__39239__$1;\nvar state_ref \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39239__$1,new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952));\nvar map__39243 \x3d cljs.core.deref(state_ref);\nvar map__39243__$1 \x3d cljs.core.__destructure_map(map__39243);\nvar ws_state \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39243__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-state\x22,\x22shadow.cljs.devtools.client.shared/ws-state\x22,1653373656));\nvar ws_stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39243__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255));\nvar interval \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39243__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585));\nvar plugins \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39243__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855));\nclearInterval(interval);\n\nif((!((ws_state \x3d\x3d null)))){\n(ws_stop_fn.cljs$core$IFn$_invoke$arity$1 ? ws_stop_fn.cljs$core$IFn$_invoke$arity$1(ws_state) : ws_stop_fn.call(null,ws_state));\n} else {\n}\n\ncljs.core.reduce_kv((function (_,plugin_id,started){\nvar map__39244 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(shadow.cljs.devtools.client.shared.plugins_ref),plugin_id);\nvar map__39244__$1 \x3d cljs.core.__destructure_map(map__39244);\nvar stop_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39244__$1,new cljs.core.Keyword(null,\x22stop-fn\x22,\x22stop-fn\x22,-348472246));\nreturn (stop_fn.cljs$core$IFn$_invoke$arity$1 ? stop_fn.cljs$core$IFn$_invoke$arity$1(started) : stop_fn.call(null,started));\n}),null,plugins);\n\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),true);\n});\nshadow.cljs.devtools.client.shared.init_runtime_BANG_ \x3d (function shadow$cljs$devtools$client$shared$init_runtime_BANG_(client_info,ws_start_fn,ws_send_fn,ws_stop_fn){\nvar temp__5827__auto___39414 \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.runtime_ref);\nif((temp__5827__auto___39414 \x3d\x3d null)){\n} else {\nvar runtime_39415 \x3d temp__5827__auto___39414;\nshadow.cljs.devtools.client.shared.stop_runtime_BANG_(runtime_39415);\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,null);\n}\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),cljs.core.PersistentHashSet.EMPTY,(function (p1__39250_SHARP_){\nreturn shadow.remote.runtime.obj_support.start(new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996).cljs$core$IFn$_invoke$arity$1(p1__39250_SHARP_));\n}),shadow.remote.runtime.obj_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22tap-support\x22,\x22tap-support\x22,80346439),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__39257){\nvar map__39258 \x3d p__39257;\nvar map__39258__$1 \x3d cljs.core.__destructure_map(map__39258);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39258__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39258__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.tap_support.start(runtime,obj_support);\n}),shadow.remote.runtime.tap_support.stop);\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(null,\x22eval-support\x22,\x22eval-support\x22,-1581799533),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229),null], null), null),(function (p__39259){\nvar map__39260 \x3d p__39259;\nvar map__39260__$1 \x3d cljs.core.__destructure_map(map__39260);\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39260__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar obj_support \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39260__$1,new cljs.core.Keyword(null,\x22obj-support\x22,\x22obj-support\x22,1522559229));\nreturn shadow.remote.runtime.eval_support.start(runtime,obj_support);\n}),shadow.remote.runtime.eval_support.stop);\n\nvar state_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(shadow.remote.runtime.shared.init_state(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(client_info,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22lang\x22,\x22lang\x22,-1819677104),new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),new cljs.core.Keyword(null,\x22build-id\x22,\x22build-id\x22,1642831089),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id),new cljs.core.Keyword(null,\x22worker-id\x22,\x22worker-id\x22,644510040),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22proc-id\x22,\x22proc-id\x22,-1856109278),shadow.cljs.devtools.client.env.proc_id], 0))),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22stale\x22,\x22shadow.cljs.devtools.client.shared/stale\x22,-1017562082),false,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22plugins\x22,\x22shadow.cljs.devtools.client.shared/plugins\x22,1565262855),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-errors\x22,\x22shadow.cljs.devtools.client.shared/ws-errors\x22,105464879),(0),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-writers\x22,\x22shadow.cljs.devtools.client.shared/transit-writers\x22,-776127897),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22transit-readers\x22,\x22shadow.cljs.devtools.client.shared/transit-readers\x22,-1866893537),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.tagged_literal], null),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-start-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-start-fn\x22,-49893682),ws_start_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-send-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-send-fn\x22,-1986889866),ws_send_fn,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-stop-fn\x22,\x22shadow.cljs.devtools.client.shared/ws-stop-fn\x22,88454255),ws_stop_fn], 0)));\nvar runtime \x3d (function (){var G__39262 \x3d shadow.cljs.devtools.client.shared.__GT_Runtime(state_ref);\nshadow.remote.runtime.shared.add_defaults(G__39262);\n\nreturn G__39262;\n})();\nvar idle_fn \x3d (function (){\nvar map__39263 \x3d cljs.core.deref(state_ref);\nvar map__39263__$1 \x3d cljs.core.__destructure_map(map__39263);\nvar state \x3d map__39263__$1;\nvar shutdown \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39263__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shutdown\x22,\x22shadow.cljs.devtools.client.shared/shutdown\x22,1947481008));\nvar ws_connected \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39263__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\nvar ws_last_msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39263__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-last-msg\x22,\x22shadow.cljs.devtools.client.shared/ws-last-msg\x22,-1438906782));\nvar ws_connect_timeout \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39263__$1,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connect-timeout\x22,\x22shadow.cljs.devtools.client.shared/ws-connect-timeout\x22,1477702043));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(ws_connect_timeout);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core.not(shutdown);\nif(and__5023__auto____$1){\nvar and__5023__auto____$2 \x3d ws_connected;\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn (shadow.remote.runtime.shared.now() \x3e (ws_last_msg + (20000)));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(state_ref,cljs.core.dissoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22ws-connected\x22,\x22shadow.cljs.devtools.client.shared/ws-connected\x22,-1476385853));\n\nruntime.schedule_connect_BANG_((2000));\n} else {\n}\n\nreturn shadow.remote.runtime.shared.run_on_idle(state_ref);\n});\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(state_ref,cljs.core.assoc,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22interval\x22,\x22shadow.cljs.devtools.client.shared/interval\x22,-2112273585),setInterval(idle_fn,(1000)));\n\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.shared.runtime_ref,runtime);\n\n(goog.global.cljs_eval \x3d (function (input,opts){\nvar input__$1 \x3d ((cljs.core.map_QMARK_(input))?input:((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.not(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Symbol(null,\x22cljs.user\x22,\x22cljs.user\x22,877795071,null)], null):((((typeof input \x3d\x3d\x3d \x27string\x27) \x26\x26 (cljs.core.object_QMARK_(opts))))?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22code\x22,\x22code\x22,1586293142),input,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.shared.goog$module$goog$object.get(opts,\x22ns\x22))], null):(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22invalid arguments, call cljs_eval(string, opts-obj) or cljs_eval(map)\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22input\x22,\x22input\x22,556931961),input,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null))})()\n)));\nreturn (new Promise((function (resolve,reject){\nreturn shadow.remote.runtime.api.cljs_eval(runtime,input__$1,(function (p__39264){\nvar map__39265 \x3d p__39264;\nvar map__39265__$1 \x3d cljs.core.__destructure_map(map__39265);\nvar info \x3d map__39265__$1;\nvar result \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39265__$1,new cljs.core.Keyword(null,\x22result\x22,\x22result\x22,1415092211));\nvar results \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39265__$1,new cljs.core.Keyword(null,\x22results\x22,\x22results\x22,-1134170113));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ok\x22,\x22ok\x22,967785236),result)){\nvar G__39266 \x3d cljs.core.last(results);\nreturn (resolve.cljs$core$IFn$_invoke$arity$1 ? resolve.cljs$core$IFn$_invoke$arity$1(G__39266) : resolve.call(null,G__39266));\n} else {\nreturn (reject.cljs$core$IFn$_invoke$arity$1 ? reject.cljs$core$IFn$_invoke$arity$1(info) : reject.call(null,info));\n}\n}));\n})));\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22print-support\x22,\x22shadow.cljs.devtools.client.shared/print-support\x22,-1090548637),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22runtime-print-sub\x22,\x22runtime-print-sub\x22,1832904759),(function (p__39267){\nvar map__39268 \x3d p__39267;\nvar map__39268__$1 \x3d cljs.core.__destructure_map(map__39268);\nvar msg \x3d map__39268__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39268__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.conj,from);\n\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-notify\x22,\x22request-notify\x22,351029173),new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140),from], null)], null));\n}),new cljs.core.Keyword(null,\x22runtime-print-unsub\x22,\x22runtime-print-unsub\x22,2055442536),(function (p__39275){\nvar map__39276 \x3d p__39275;\nvar map__39276__$1 \x3d cljs.core.__destructure_map(map__39276);\nvar msg \x3d map__39276__$1;\nvar from \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39276__$1,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,from);\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22runtime-print-disconnect\x22,\x22shadow.cljs.devtools.client.shared/runtime-print-disconnect\x22,2030167412),(function (p__39283){\nvar map__39284 \x3d p__39283;\nvar map__39284__$1 \x3d cljs.core.__destructure_map(map__39284);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39284__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39284__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n} else {\nreturn null;\n}\n})], null),new cljs.core.Keyword(null,\x22on-client-not-found\x22,\x22on-client-not-found\x22,-642452849),(function (p__39286){\nvar map__39289 \x3d p__39286;\nvar map__39289__$1 \x3d cljs.core.__destructure_map(map__39289);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39289__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.shared.print_subs,cljs.core.disj,client_id);\n})], null));\n\nshadow.cljs.devtools.client.env.reset_print_fns_BANG_();\n\nshadow.cljs.devtools.client.env.set_print_fns_BANG_((function (stream,text){\nvar subs \x3d cljs.core.deref(shadow.cljs.devtools.client.shared.print_subs);\nif(cljs.core.seq(subs)){\nreturn shadow.remote.runtime.shared.relay_msg(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22runtime-print\x22,\x22runtime-print\x22,-1950604603),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),subs,new cljs.core.Keyword(null,\x22stream\x22,\x22stream\x22,1534941648),stream,new cljs.core.Keyword(null,\x22text\x22,\x22text\x22,-1790561697),text], null));\n} else {\nreturn null;\n}\n}));\n\nruntime.shadow$remote$runtime$api$IRuntime$add_extension$arity$3(null,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.shared\x22,\x22shared\x22,\x22shadow.cljs.devtools.client.shared/shared\x22,85374117),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22request-clients\x22,\x22request-clients\x22,13229886),new cljs.core.Keyword(null,\x22notify\x22,\x22notify\x22,-1256867814),true,new cljs.core.Keyword(null,\x22notify-op\x22,\x22notify-op\x22,1568109361),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),new cljs.core.Keyword(null,\x22query\x22,\x22query\x22,-1288509510),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22eq\x22,\x22eq\x22,-618539067),new cljs.core.Keyword(\x22shadow.cljs\x22,\x22worker-for\x22,\x22shadow.cljs/worker-for\x22,-574470432),cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.env.build_id)], null)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22clients\x22,\x22clients\x22,1436018090),(function (p__39302){\nvar map__39303 \x3d p__39302;\nvar map__39303__$1 \x3d cljs.core.__destructure_map(map__39303);\nvar msg \x3d map__39303__$1;\nvar clients \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39303__$1,new cljs.core.Keyword(null,\x22clients\x22,\x22clients\x22,1436018090));\nif(cljs.core.not(cljs.core.seq(clients))){\nreturn console.error([\x22shadow-cljs watch for build :\x22,shadow.cljs.devtools.client.env.build_id,\x22 not running!\x22].join(\x27\x27));\n} else {\nvar worker \x3d cljs.core.first(clients);\nvar map__39304 \x3d worker;\nvar map__39304__$1 \x3d cljs.core.__destructure_map(map__39304);\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39304__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)){\nconsole.warn(\x22shadow-cljs worker id outdated! This can mean that the JS loaded is outdated! Ensure that the shadow-cljs output is not cached. If other tools process this output make sure they update correctly. The code may continue to run fine, but if unexplained things happen make sure to fix this first.\x22);\n\nreturn (shadow.cljs.devtools.client.env.worker_client_id \x3d client_id);\n} else {\nreturn null;\n}\n}\n})], null));\n})], null));\n\nshadow.cljs.devtools.client.shared.start_all_plugins_BANG_(runtime);\n\nreturn runtime.attempt_connect_BANG_();\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.hud.js", true, "goog.provide(\x27shadow.cljs.devtools.client.hud\x27);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_progress \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_progress\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_warnings \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_warnings\x22,true);\n/**\n * @define {boolean}\n */\nshadow.cljs.devtools.client.hud.show_errors \x3d goog.define(\x22shadow.cljs.devtools.client.hud.show_errors\x22,true);\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.hud.dom_available_QMARK_ !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.hud.dom_available_QMARK_ \x3d (!((goog.global.document \x3d\x3d null)));\n}\nshadow.cljs.devtools.client.hud.open_file \x3d (function shadow$cljs$devtools$client$hud$open_file(file,line,column){\nconsole.log(\x22opening file\x22,file,line,column);\n\nreturn fetch([shadow.cljs.devtools.client.env.get_url_base(),\x22/api/open-file\x22].join(\x27\x27),({\x22method\x22: \x22POST\x22, \x22cache\x22: \x22no-cache\x22, \x22mode\x22: \x22cors\x22, \x22body\x22: shadow.cljs.devtools.client.shared.transit_str(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], null))})).then((function (p1__39333_SHARP_){\nreturn p1__39333_SHARP_.text();\n})).then((function (result_text){\nvar data \x3d shadow.cljs.devtools.client.shared.transit_read(cljs.core.PersistentArrayMap.EMPTY,result_text);\nreturn console.log(\x22open file result\x22,data);\n}));\n});\nshadow.cljs.devtools.client.hud.dom_insert \x3d (function shadow$cljs$devtools$client$hud$dom_insert(var_args){\nvar G__39345 \x3d arguments.length;\nswitch (G__39345) {\ncase 1:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1 \x3d (function (node){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2(document.body,node);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$2 \x3d (function (where,node){\nvar el \x3d shadow.dom.dom_node(node);\nvar id \x3d el.id;\nif(cljs.core.seq(id)){\n} else {\nthrow (new Error(\x22Assert failed: (seq id)\x22));\n}\n\nvar temp__5827__auto___39471 \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(id);\nif((temp__5827__auto___39471 \x3d\x3d null)){\n} else {\nvar x_39473 \x3d temp__5827__auto___39471;\nshadow.dom.remove(x_39473);\n}\n\nreturn shadow.dom.append.cljs$core$IFn$_invoke$arity$2(where,el);\n}));\n\n(shadow.cljs.devtools.client.hud.dom_insert.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.hud_id \x3d \x22shadow-hud-container\x22;\nshadow.cljs.devtools.client.hud.load_id \x3d \x22shadow-hud-loading-container\x22;\nshadow.cljs.devtools.client.hud.logo_svg \x3d (new cljs.core.Delay((function (){\nvar s_path \x3d \x22M247.183941,141.416413 C247.183941,74.7839971 148.383423,78.9723529 148.383423,141.416413 C148.383423,203.860473 265.090698,171.864644 265.090698,248.900057 C265.090698,325.93547 135,325.851749 135,251.708304\x22;\nreturn shadow.dom.svg.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),\x22shadow-cljs-logo\x22,new cljs.core.Keyword(null,\x22version\x22,\x22version\x22,425292698),\x221.1\x22,new cljs.core.Keyword(null,\x22viewBox\x22,\x22viewBox\x22,-469489477),\x220 0 400 400\x22,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),\x22block\x22], null),new cljs.core.Keyword(null,\x22height\x22,\x22height\x22,1025178622),\x2260px\x22,new cljs.core.Keyword(null,\x22width\x22,\x22width\x22,-384071477),\x2260px\x22], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22title\x22,\x22title\x22,636505583),\x22shadow-cljs\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22defs\x22,\x22defs\x22,1398449717),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22mask#shadow-cljs-logo-mask\x22,\x22mask#shadow-cljs-logo-mask\x22,1690487509),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#fff\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle\x22,\x22circle\x22,1903212362),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22], null)], null)], null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22fill-rule\x22,\x22fill-rule\x22,-1824841598),\x22evenodd\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22none\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x220\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22none\x22,new cljs.core.Keyword(null,\x22mask\x22,\x22mask\x22,-585748447),\x22url(#shadow-cljs-logo-mask)\x22], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g.circles\x22,\x22g.circles\x22,374463200),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.blue\x22,\x22circle.blue\x22,1902916291),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22200\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22200\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#4F80DF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-blue\x22,\x22circle.light-blue\x22,438137342),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x2271.5\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22200\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22370\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#89B4FF\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.dark-green\x22,\x22circle.dark-green\x22,608465767),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22180\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22360\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x2260\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#40B400\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22circle.light-green\x22,\x22circle.light-green\x22,-1663041285),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22r\x22,\x22r\x22,-471384190),\x22129\x22,new cljs.core.Keyword(null,\x22cy\x22,\x22cy\x22,755331060),\x22320\x22,new cljs.core.Keyword(null,\x22cx\x22,\x22cx\x22,1272694324),\x22280\x22,new cljs.core.Keyword(null,\x22fill\x22,\x22fill\x22,883462889),\x22#76E013\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22animateTransform\x22,\x22animateTransform\x22,759329815),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22attributeType\x22,\x22attributeType\x22,1055561918),\x22xml\x22,new cljs.core.Keyword(null,\x22attributeName\x22,\x22attributeName\x22,-400177890),\x22transform\x22,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),\x22rotate\x22,new cljs.core.Keyword(null,\x22from\x22,\x22from\x22,1815293044),\x220 200 200\x22,new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),\x22360 200 200\x22,new cljs.core.Keyword(null,\x22dur\x22,\x22dur\x22,1464522452),\x223s\x22,new cljs.core.Keyword(null,\x22repeatCount\x22,\x22repeatCount\x22,1447663848),\x22indefinite\x22], null)], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22g\x22,\x22g\x22,1738089905),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22transform\x22,\x22transform\x22,1381301764),\x22translate(10,10)\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#aaa\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22stroke-linecap\x22,\x22stroke-linecap\x22,-1201103248),\x22square\x22,new cljs.core.Keyword(null,\x22stroke-width\x22,\x22stroke-width\x22,716836435),\x2216\x22,new cljs.core.Keyword(null,\x22stroke\x22,\x22stroke\x22,1741823555),\x22#FFFFFF\x22,new cljs.core.Keyword(null,\x22d\x22,\x22d\x22,1972142424),s_path], null)], null)], null)], 0));\n}),null));\nshadow.cljs.devtools.client.hud.load_start \x3d (function shadow$cljs$devtools$client$hud$load_start(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.load_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),\x2240px\x22,new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),\x2240px\x22,new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),\x222px 2px 10px #aaa\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22], null)], null),cljs.core.deref(shadow.cljs.devtools.client.hud.logo_svg)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end_success \x3d (function shadow$cljs$devtools$client$hud$load_end_success(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_progress){\nvar temp__5827__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar container_el \x3d temp__5827__auto__;\nvar el \x3d container_el.firstChild;\nshadow.animate.start((500),cljs.core.PersistentArrayMap.createAsIfByAssoc([el,shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#eee\x22,\x22#40B400\x22,\x22ease-out\x22)]));\n\nvar c__34994__auto__ \x3d cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((1));\ncljs.core.async.impl.dispatch.run((function (){\nvar f__34995__auto__ \x3d (function (){var switch__34868__auto__ \x3d (function (state_39371){\nvar state_val_39372 \x3d (state_39371[(1)]);\nif((state_val_39372 \x3d\x3d\x3d (1))){\nvar inst_39359 \x3d cljs.core.async.timeout((250));\nvar state_39371__$1 \x3d state_39371;\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_39371__$1,(2),inst_39359);\n} else {\nif((state_val_39372 \x3d\x3d\x3d (2))){\nvar inst_39361 \x3d (state_39371[(2)]);\nvar inst_39362 \x3d [el];\nvar inst_39363 \x3d shadow.animate.transition.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22opacity\x22,\x22opacity\x22,397153780),\x221\x22,\x220\x22,\x22ease-in\x22);\nvar inst_39364 \x3d [inst_39363];\nvar inst_39365 \x3d cljs.core.PersistentHashMap.fromArrays(inst_39362,inst_39364);\nvar inst_39366 \x3d shadow.animate.start((250),inst_39365);\nvar state_39371__$1 \x3d (function (){var statearr_39373 \x3d state_39371;\n(statearr_39373[(7)] \x3d inst_39361);\n\nreturn statearr_39373;\n})();\nreturn cljs.core.async.impl.ioc_helpers.take_BANG_(state_39371__$1,(3),inst_39366);\n} else {\nif((state_val_39372 \x3d\x3d\x3d (3))){\nvar inst_39368 \x3d (state_39371[(2)]);\nvar inst_39369 \x3d shadow.dom.remove(container_el);\nvar state_39371__$1 \x3d (function (){var statearr_39374 \x3d state_39371;\n(statearr_39374[(8)] \x3d inst_39368);\n\nreturn statearr_39374;\n})();\nreturn cljs.core.async.impl.ioc_helpers.return_chan(state_39371__$1,inst_39369);\n} else {\nreturn null;\n}\n}\n}\n});\nreturn (function() {\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto__ \x3d null;\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto____0 \x3d (function (){\nvar statearr_39375 \x3d [null,null,null,null,null,null,null,null,null];\n(statearr_39375[(0)] \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto__);\n\n(statearr_39375[(1)] \x3d (1));\n\nreturn statearr_39375;\n});\nvar shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto____1 \x3d (function (state_39371){\nwhile(true){\nvar ret_value__34870__auto__ \x3d (function (){try{while(true){\nvar result__34871__auto__ \x3d switch__34868__auto__(state_39371);\nif(cljs.core.keyword_identical_QMARK_(result__34871__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\ncontinue;\n} else {\nreturn result__34871__auto__;\n}\nbreak;\n}\n}catch (e39376){var ex__34872__auto__ \x3d e39376;\nvar statearr_39377_39483 \x3d state_39371;\n(statearr_39377_39483[(2)] \x3d ex__34872__auto__);\n\n\nif(cljs.core.seq((state_39371[(4)]))){\nvar statearr_39379_39484 \x3d state_39371;\n(statearr_39379_39484[(1)] \x3d cljs.core.first((state_39371[(4)])));\n\n} else {\nthrow ex__34872__auto__;\n}\n\nreturn new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268);\n}})();\nif(cljs.core.keyword_identical_QMARK_(ret_value__34870__auto__,new cljs.core.Keyword(null,\x22recur\x22,\x22recur\x22,-437573268))){\nvar G__39487 \x3d state_39371;\nstate_39371 \x3d G__39487;\ncontinue;\n} else {\nreturn ret_value__34870__auto__;\n}\nbreak;\n}\n});\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto__ \x3d function(state_39371){\nswitch(arguments.length){\ncase 0:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto____0.call(this);\ncase 1:\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto____1.call(this,state_39371);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$0 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto____0;\nshadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto__.cljs$core$IFn$_invoke$arity$1 \x3d shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto____1;\nreturn shadow$cljs$devtools$client$hud$load_end_success_$_state_machine__34869__auto__;\n})()\n})();\nvar state__34996__auto__ \x3d (function (){var statearr_39381 \x3d f__34995__auto__();\n(statearr_39381[(6)] \x3d c__34994__auto__);\n\nreturn statearr_39381;\n})();\nreturn cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped(state__34996__auto__);\n}));\n\nreturn c__34994__auto__;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_end \x3d (function shadow$cljs$devtools$client$hud$load_end(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5827__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.load_id);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar el \x3d temp__5827__auto__;\nreturn shadow.dom.remove(el);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_hide \x3d (function shadow$cljs$devtools$client$hud$hud_hide(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5827__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.hud_id);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar d \x3d temp__5827__auto__;\nreturn shadow.dom.remove(d);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.source_line_styles \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x220\x22,new cljs.core.Keyword(null,\x22margin\x22,\x22margin\x22,-995903681),\x220\x22], null);\nshadow.cljs.devtools.client.hud.source_highlight_styles \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(shadow.cljs.devtools.client.hud.source_line_styles,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22);\nshadow.cljs.devtools.client.hud.source_line_html \x3d (function shadow$cljs$devtools$client$hud$source_line_html(start_idx,lines,styles){\nvar iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$hud$source_line_html_$_iter__39388(s__39389){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39389__$1 \x3d s__39389;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__39389__$1);\nif(temp__5823__auto__){\nvar s__39389__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__39389__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39389__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39391 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39390 \x3d (0);\nwhile(true){\nif((i__39390 \x3c size__5502__auto__)){\nvar vec__39394 \x3d cljs.core._nth(c__5501__auto__,i__39390);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39394,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39394,(1),null);\ncljs.core.chunk_append(b__39391,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null));\n\nvar G__39490 \x3d (i__39390 + (1));\ni__39390 \x3d G__39490;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39391),shadow$cljs$devtools$client$hud$source_line_html_$_iter__39388(cljs.core.chunk_rest(s__39389__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39391),null);\n}\n} else {\nvar vec__39398 \x3d cljs.core.first(s__39389__$2);\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39398,(0),null);\nvar text \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39398,(1),null);\nreturn cljs.core.cons(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),styles], null),goog.string.format(\x22%4d | %s\x22,(((1) + idx) + start_idx),text)], null),shadow$cljs$devtools$client$hud$source_line_html_$_iter__39388(cljs.core.rest(s__39389__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.vector,lines));\n});\nshadow.cljs.devtools.client.hud.sep_length \x3d (80);\nshadow.cljs.devtools.client.hud.sep_line \x3d (function shadow$cljs$devtools$client$hud$sep_line(var_args){\nvar G__39408 \x3d arguments.length;\nswitch (G__39408) {\ncase 0:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22\x22,(0));\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2 \x3d (function (label,offset){\nvar sep_len \x3d Math.max(shadow.cljs.devtools.client.hud.sep_length,offset);\nvar len \x3d cljs.core.count(label);\nvar sep \x3d (function (c){\nreturn clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(c,\x22-\x22));\n});\nreturn [sep(offset),cljs.core.str.cljs$core$IFn$_invoke$arity$1(label),sep((sep_len - (offset + len)))].join(\x27\x27);\n}));\n\n(shadow.cljs.devtools.client.hud.sep_line.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.hud.file_link \x3d (function shadow$cljs$devtools$client$hud$file_link(p__39417){\nvar map__39418 \x3d p__39417;\nvar map__39418__$1 \x3d cljs.core.__destructure_map(map__39418);\nvar warning \x3d map__39418__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39418__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39418__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39418__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39418__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.not(file)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),resource_name], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22text-decoration\x22,\x22text-decoration\x22,1836813207),\x22underline\x22,new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),\x22blue\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),(function (e){\nshadow.dom.ev_stop.cljs$core$IFn$_invoke$arity$1(e);\n\nreturn shadow.cljs.devtools.client.hud.open_file(file,line,column);\n})], null)], null),resource_name], null);\n}\n});\nshadow.cljs.devtools.client.hud.html_for_warning \x3d (function shadow$cljs$devtools$client$hud$html_for_warning(p__39424){\nvar map__39425 \x3d p__39424;\nvar map__39425__$1 \x3d cljs.core.__destructure_map(map__39425);\nvar warning \x3d map__39425__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39425__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar msg \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39425__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39425__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39425__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39425__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar source_excerpt \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39425__$1,new cljs.core.Keyword(null,\x22source-excerpt\x22,\x22source-excerpt\x22,5665576));\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x2210px\x22], null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22line-height\x22,\x22line-height\x22,1870784992),\x2216px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fadb64\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22], null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22span\x22,\x22span\x22,1394872991),\x22WARNING in \x22], null),shadow.cljs.devtools.client.hud.file_link(warning)], null),(cljs.core.truth_(source_excerpt)?(function (){var map__39427 \x3d source_excerpt;\nvar map__39427__$1 \x3d cljs.core.__destructure_map(map__39427);\nvar start_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39427__$1,new cljs.core.Keyword(null,\x22start-idx\x22,\x22start-idx\x22,-1600773745));\nvar before \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39427__$1,new cljs.core.Keyword(null,\x22before\x22,\x22before\x22,-1633692388));\nvar line__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39427__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar after \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39427__$1,new cljs.core.Keyword(null,\x22after\x22,\x22after\x22,594996914));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px\x22,new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22], null)], null),shadow.cljs.devtools.client.hud.source_line_html(start_idx,before,shadow.cljs.devtools.client.hud.source_line_styles),shadow.cljs.devtools.client.hud.source_line_html((start_idx + cljs.core.count(before)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [line__$1], null),shadow.cljs.devtools.client.hud.source_highlight_styles),(function (){var arrow_idx \x3d ((6) + (function (){var or__5025__auto__ \x3d column;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})());\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$2(\x22^\x22,arrow_idx)], null);\n})(),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),\x22bold\x22,new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),\x221.2em\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 0\x22], null)], null),msg], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),shadow.cljs.devtools.client.hud.source_highlight_styles], null),shadow.cljs.devtools.client.hud.sep_line.cljs$core$IFn$_invoke$arity$0()], null),shadow.cljs.devtools.client.hud.source_line_html(((start_idx + cljs.core.count(before)) + (1)),after,shadow.cljs.devtools.client.hud.source_line_styles)], null);\n})():null)], null);\n});\nshadow.cljs.devtools.client.hud.hud_warnings \x3d (function shadow$cljs$devtools$client$hud$hud_warnings(p__39432){\nvar map__39433 \x3d p__39432;\nvar map__39433__$1 \x3d cljs.core.__destructure_map(map__39433);\nvar msg \x3d map__39433__$1;\nvar type \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39433__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39433__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar map__39436 \x3d info;\nvar map__39436__$1 \x3d cljs.core.__destructure_map(map__39436);\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39436__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar sources_with_warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__39429_SHARP_){\nreturn cljs.core.seq(new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651).cljs$core$IFn$_invoke$arity$1(p1__39429_SHARP_));\n}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827),sources)));\nif(cljs.core.seq(sources_with_warnings)){\nshadow.cljs.devtools.client.hud.load_end();\n\nif(shadow.cljs.devtools.client.hud.show_warnings){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22display\x22,\x22display\x22,242065432),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22flex-direction\x22,\x22flex-direction\x22,364609438),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x2210000\x22,\x220px\x22,\x22flex\x22,\x22fixed\x22,\x22monospace\x22,\x22column\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22align-self\x22,\x22align-self\x22,1475936794),\x22flex-end\x22,new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22border-bottom\x22,\x22border-bottom\x22,2110948415),\x220px\x22,new cljs.core.Keyword(null,\x22cursor\x22,\x22cursor\x22,1011937484),\x22pointer\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x226px\x22,new cljs.core.Keyword(null,\x22margin-bottom\x22,\x22margin-bottom\x22,388334941),\x22-2px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null),new cljs.core.Keyword(null,\x22on\x22,\x22on\x22,173873944),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22click\x22,\x22click\x22,1912301393),shadow.cljs.devtools.client.hud.hud_hide], null)], null),\x22Close\x22], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),\x22#fff\x22,new cljs.core.Keyword(null,\x22border-top\x22,\x22border-top\x22,-158897573),\x222px solid #ccc\x22,new cljs.core.Keyword(null,\x22flex\x22,\x22flex\x22,-1425124628),\x221\x22,new cljs.core.Keyword(null,\x22max-height\x22,\x22max-height\x22,-612563804),\x22300px\x22,new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),\x2210px 10px 0\x22,new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),\x22auto\x22], null)], null),(function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39437(s__39438){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39438__$1 \x3d s__39438;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__39438__$1);\nif(temp__5823__auto__){\nvar xs__6383__auto__ \x3d temp__5823__auto__;\nvar map__39443 \x3d cljs.core.first(xs__6383__auto__);\nvar map__39443__$1 \x3d cljs.core.__destructure_map(map__39443);\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39443__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nvar iterys__5499__auto__ \x3d ((function (s__39438__$1,map__39443,map__39443__$1,warnings,xs__6383__auto__,temp__5823__auto__,map__39436,map__39436__$1,sources,sources_with_warnings,map__39433,map__39433__$1,msg,type,info){\nreturn (function shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39437_$_iter__39439(s__39440){\nreturn (new cljs.core.LazySeq(null,((function (s__39438__$1,map__39443,map__39443__$1,warnings,xs__6383__auto__,temp__5823__auto__,map__39436,map__39436__$1,sources,sources_with_warnings,map__39433,map__39433__$1,msg,type,info){\nreturn (function (){\nvar s__39440__$1 \x3d s__39440;\nwhile(true){\nvar temp__5823__auto____$1 \x3d cljs.core.seq(s__39440__$1);\nif(temp__5823__auto____$1){\nvar s__39440__$2 \x3d temp__5823__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__39440__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39440__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39442 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39441 \x3d (0);\nwhile(true){\nif((i__39441 \x3c size__5502__auto__)){\nvar warning \x3d cljs.core._nth(c__5501__auto__,i__39441);\ncljs.core.chunk_append(b__39442,shadow.cljs.devtools.client.hud.html_for_warning(warning));\n\nvar G__39515 \x3d (i__39441 + (1));\ni__39441 \x3d G__39515;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39442),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39437_$_iter__39439(cljs.core.chunk_rest(s__39440__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39442),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__39440__$2);\nreturn cljs.core.cons(shadow.cljs.devtools.client.hud.html_for_warning(warning),shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39437_$_iter__39439(cljs.core.rest(s__39440__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__39438__$1,map__39443,map__39443__$1,warnings,xs__6383__auto__,temp__5823__auto__,map__39436,map__39436__$1,sources,sources_with_warnings,map__39433,map__39433__$1,msg,type,info))\n,null,null));\n});})(s__39438__$1,map__39443,map__39443__$1,warnings,xs__6383__auto__,temp__5823__auto__,map__39436,map__39436__$1,sources,sources_with_warnings,map__39433,map__39433__$1,msg,type,info))\n;\nvar fs__5500__auto__ \x3d cljs.core.seq(iterys__5499__auto__(warnings));\nif(fs__5500__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5500__auto__,shadow$cljs$devtools$client$hud$hud_warnings_$_iter__39437(cljs.core.rest(s__39438__$1)));\n} else {\nvar G__39517 \x3d cljs.core.rest(s__39438__$1);\ns__39438__$1 \x3d G__39517;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(sources_with_warnings);\n})()], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.hud_error \x3d (function shadow$cljs$devtools$client$hud$hud_error(p__39451){\nvar map__39452 \x3d p__39451;\nvar map__39452__$1 \x3d cljs.core.__destructure_map(map__39452);\nvar msg \x3d map__39452__$1;\nvar report \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39452__$1,new cljs.core.Keyword(null,\x22report\x22,\x22report\x22,1394055010));\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.hud_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22top\x22,\x22top\x22,-1856271961),new cljs.core.Keyword(null,\x22overflow\x22,\x22overflow\x22,2058931880),new cljs.core.Keyword(null,\x22background-color\x22,\x22background-color\x22,570434026),new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22right\x22,\x22right\x22,-452581833),new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),new cljs.core.Keyword(null,\x22border\x22,\x22border\x22,1444987323),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874),new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937)],[\x22#000\x22,\x220px\x22,\x2212px\x22,\x220px\x22,\x22auto\x22,\x22#fff\x22,\x2210000\x22,\x2220px\x22,\x220px\x22,\x22fixed\x22,\x225px solid red\x22,\x22monospace\x22,\x220px\x22])], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),\x22color: red; margin-bottom: 10px; font-size: 2em;\x22], null),\x22Compilation failed!\x22], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869),report], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error_id \x3d \x22shadow-connection-error\x22;\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_ \x3d (function shadow$cljs$devtools$client$hud$connection_error_clear_BANG_(){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nvar temp__5827__auto__ \x3d shadow.dom.by_id.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.hud.connection_error_id);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar x \x3d temp__5827__auto__;\nreturn shadow.dom.remove(x);\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.connection_error \x3d (function shadow$cljs$devtools$client$hud$connection_error(msg){\nif(shadow.cljs.devtools.client.hud.dom_available_QMARK_){\nif(shadow.cljs.devtools.client.hud.show_errors){\nreturn shadow.cljs.devtools.client.hud.dom_insert.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),shadow.cljs.devtools.client.hud.connection_error_id,new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22position\x22,\x22position\x22,-2011731912),\x22fixed\x22,new cljs.core.Keyword(null,\x22pointer-events\x22,\x22pointer-events\x22,-1053858853),\x22none\x22,new cljs.core.Keyword(null,\x22left\x22,\x22left\x22,-399115937),\x220px\x22,new cljs.core.Keyword(null,\x22bottom\x22,\x22bottom\x22,-1550509018),\x2220px\x22,new cljs.core.Keyword(null,\x22z-index\x22,\x22z-index\x22,1892827090),\x2210000\x22], null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22div\x22,\x22div\x22,1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22style\x22,\x22style\x22,-496642736),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22box-shadow\x22,\x22box-shadow\x22,1600206755),new cljs.core.Keyword(null,\x22color\x22,\x22color\x22,1011675173),new cljs.core.Keyword(null,\x22font-size\x22,\x22font-size\x22,-1847940346),new cljs.core.Keyword(null,\x22font-weight\x22,\x22font-weight\x22,2085804583),new cljs.core.Keyword(null,\x22border-top-right-radius\x22,\x22border-top-right-radius\x22,1678770792),new cljs.core.Keyword(null,\x22background\x22,\x22background\x22,-863952629),new cljs.core.Keyword(null,\x22padding\x22,\x22padding\x22,1660304693),new cljs.core.Keyword(null,\x22border-bottom-right-radius\x22,\x22border-bottom-right-radius\x22,414899772),new cljs.core.Keyword(null,\x22font-family\x22,\x22font-family\x22,-667419874)],[\x222px 2px 10px #aaa\x22,\x22#fff\x22,\x2214px\x22,\x22bold\x22,\x2240px\x22,\x22#c00\x22,\x2210px\x22,\x2240px\x22,\x22monospace\x22])], null),[\x22shadow-cljs - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null)], null));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nshadow.cljs.devtools.client.hud.load_failure \x3d (function shadow$cljs$devtools$client$hud$load_failure(error,task,remaining){\nshadow.cljs.devtools.client.hud.load_end();\n\nconsole.error(\x22reload-failed\x22,error);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22[reload failed] \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(error.message)].join(\x27\x27));\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.websocket.js", true, "goog.provide(\x27shadow.cljs.devtools.client.websocket\x27);\nshadow.cljs.devtools.client.websocket.start \x3d (function shadow$cljs$devtools$client$websocket$start(var_args){\nvar G__39328 \x3d arguments.length;\nswitch (G__39328) {\ncase 1:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$1 \x3d (function (runtime){\nreturn shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2(WebSocket,runtime);\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$core$IFn$_invoke$arity$2 \x3d (function (ws_impl,runtime){\nvar ws_url \x3d shadow.cljs.devtools.client.env.get_ws_relay_url();\nvar socket \x3d (new ws_impl(ws_url));\n(socket.onmessage \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_msg(runtime,e.data);\n}));\n\n(socket.onopen \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_open(runtime,e);\n}));\n\n(socket.onclose \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_close(runtime,e,ws_url);\n}));\n\n(socket.onerror \x3d (function (e){\nreturn shadow.cljs.devtools.client.shared.remote_error(runtime,e);\n}));\n\nreturn socket;\n}));\n\n(shadow.cljs.devtools.client.websocket.start.cljs$lang$maxFixedArity \x3d 2);\n\nshadow.cljs.devtools.client.websocket.send \x3d (function shadow$cljs$devtools$client$websocket$send(socket,msg){\nreturn socket.send(msg);\n});\nshadow.cljs.devtools.client.websocket.stop \x3d (function shadow$cljs$devtools$client$websocket$stop(socket){\n(socket.onopen \x3d null);\n\n(socket.onclose \x3d null);\n\n(socket.onmessage \x3d null);\n\n(socket.onerror \x3d null);\n\nreturn socket.close();\n});\n");
SHADOW_ENV.evalLoad("shadow.cljs.devtools.client.browser.js", true, "goog.provide(\x27shadow.cljs.devtools.client.browser\x27);\nshadow.cljs.devtools.client.browser.devtools_msg \x3d (function shadow$cljs$devtools$client$browser$devtools_msg(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___40483 \x3d arguments.length;\nvar i__5750__auto___40484 \x3d (0);\nwhile(true){\nif((i__5750__auto___40484 \x3c len__5749__auto___40483)){\nargs__5755__auto__.push((arguments[i__5750__auto___40484]));\n\nvar G__40485 \x3d (i__5750__auto___40484 + (1));\ni__5750__auto___40484 \x3d G__40485;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic \x3d (function (msg,args){\nif(shadow.cljs.devtools.client.env.log){\nif(cljs.core.seq(shadow.cljs.devtools.client.env.log_style)){\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22%cshadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27),shadow.cljs.devtools.client.env.log_style], null),args)));\n} else {\nreturn console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [[\x22shadow-cljs: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg)].join(\x27\x27)], null),args)));\n}\n} else {\nreturn null;\n}\n}));\n\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(shadow.cljs.devtools.client.browser.devtools_msg.cljs$lang$applyTo \x3d (function (seq39799){\nvar G__39800 \x3d cljs.core.first(seq39799);\nvar seq39799__$1 \x3d cljs.core.next(seq39799);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39800,seq39799__$1);\n}));\n\nshadow.cljs.devtools.client.browser.script_eval \x3d (function shadow$cljs$devtools$client$browser$script_eval(code){\nreturn goog.globalEval(code);\n});\nshadow.cljs.devtools.client.browser.do_js_load \x3d (function shadow$cljs$devtools$client$browser$do_js_load(sources){\nvar seq__39811 \x3d cljs.core.seq(sources);\nvar chunk__39812 \x3d null;\nvar count__39813 \x3d (0);\nvar i__39814 \x3d (0);\nwhile(true){\nif((i__39814 \x3c count__39813)){\nvar map__39825 \x3d chunk__39812.cljs$core$IIndexed$_nth$arity$2(null,i__39814);\nvar map__39825__$1 \x3d cljs.core.__destructure_map(map__39825);\nvar src \x3d map__39825__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39825__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39825__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39825__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39825__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e39826){var e_40487 \x3d e39826;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_40487);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_40487.message)].join(\x27\x27)));\n}\n\nvar G__40488 \x3d seq__39811;\nvar G__40489 \x3d chunk__39812;\nvar G__40490 \x3d count__39813;\nvar G__40491 \x3d (i__39814 + (1));\nseq__39811 \x3d G__40488;\nchunk__39812 \x3d G__40489;\ncount__39813 \x3d G__40490;\ni__39814 \x3d G__40491;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__39811);\nif(temp__5823__auto__){\nvar seq__39811__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__39811__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__39811__$1);\nvar G__40492 \x3d cljs.core.chunk_rest(seq__39811__$1);\nvar G__40493 \x3d c__5548__auto__;\nvar G__40494 \x3d cljs.core.count(c__5548__auto__);\nvar G__40495 \x3d (0);\nseq__39811 \x3d G__40492;\nchunk__39812 \x3d G__40493;\ncount__39813 \x3d G__40494;\ni__39814 \x3d G__40495;\ncontinue;\n} else {\nvar map__39828 \x3d cljs.core.first(seq__39811__$1);\nvar map__39828__$1 \x3d cljs.core.__destructure_map(map__39828);\nvar src \x3d map__39828__$1;\nvar resource_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39828__$1,new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582));\nvar output_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39828__$1,new cljs.core.Keyword(null,\x22output-name\x22,\x22output-name\x22,-1769107767));\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39828__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39828__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\n$CLJS.SHADOW_ENV.setLoaded(output_name);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load JS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([resource_name], 0));\n\nshadow.cljs.devtools.client.env.before_load_src(src);\n\ntry{shadow.cljs.devtools.client.browser.script_eval([cljs.core.str.cljs$core$IFn$_invoke$arity$1(js),\x22\\n//# sourceURL\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1($CLJS.SHADOW_ENV.scriptBase),cljs.core.str.cljs$core$IFn$_invoke$arity$1(output_name)].join(\x27\x27));\n}catch (e39831){var e_40496 \x3d e39831;\nif(shadow.cljs.devtools.client.env.log){\nconsole.error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name)].join(\x27\x27),e_40496);\n} else {\n}\n\nthrow (new Error([\x22Failed to load \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name),\x22: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(e_40496.message)].join(\x27\x27)));\n}\n\nvar G__40497 \x3d cljs.core.next(seq__39811__$1);\nvar G__40498 \x3d null;\nvar G__40499 \x3d (0);\nvar G__40500 \x3d (0);\nseq__39811 \x3d G__40497;\nchunk__39812 \x3d G__40498;\ncount__39813 \x3d G__40499;\ni__39814 \x3d G__40500;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.do_js_reload \x3d (function shadow$cljs$devtools$client$browser$do_js_reload(msg,sources,complete_fn,failure_fn){\nreturn shadow.cljs.devtools.client.env.do_js_reload.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(msg,new cljs.core.Keyword(null,\x22log-missing-fn\x22,\x22log-missing-fn\x22,732676765),(function (fn_sym){\nreturn null;\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22log-call-async\x22,\x22log-call-async\x22,183826192),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call async \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22log-call\x22,\x22log-call\x22,412404391),(function (fn_sym){\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym)].join(\x27\x27));\n})], 0)),(function (next){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (next.cljs$core$IFn$_invoke$arity$0 ? next.cljs$core$IFn$_invoke$arity$0() : next.call(null));\n}),complete_fn,failure_fn);\n});\n/**\n * when (require \x27[\x22some-str\x22 :as x]) is done at the REPL we need to manually call the shadow.js.require for it\n * since the file only adds the shadow$provide. only need to do this for shadow-js.\n */\nshadow.cljs.devtools.client.browser.do_js_requires \x3d (function shadow$cljs$devtools$client$browser$do_js_requires(js_requires){\nvar seq__39843 \x3d cljs.core.seq(js_requires);\nvar chunk__39844 \x3d null;\nvar count__39845 \x3d (0);\nvar i__39846 \x3d (0);\nwhile(true){\nif((i__39846 \x3c count__39845)){\nvar js_ns \x3d chunk__39844.cljs$core$IIndexed$_nth$arity$2(null,i__39846);\nvar require_str_40502 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_40502);\n\n\nvar G__40503 \x3d seq__39843;\nvar G__40504 \x3d chunk__39844;\nvar G__40505 \x3d count__39845;\nvar G__40506 \x3d (i__39846 + (1));\nseq__39843 \x3d G__40503;\nchunk__39844 \x3d G__40504;\ncount__39845 \x3d G__40505;\ni__39846 \x3d G__40506;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__39843);\nif(temp__5823__auto__){\nvar seq__39843__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__39843__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__39843__$1);\nvar G__40507 \x3d cljs.core.chunk_rest(seq__39843__$1);\nvar G__40508 \x3d c__5548__auto__;\nvar G__40509 \x3d cljs.core.count(c__5548__auto__);\nvar G__40510 \x3d (0);\nseq__39843 \x3d G__40507;\nchunk__39844 \x3d G__40508;\ncount__39845 \x3d G__40509;\ni__39846 \x3d G__40510;\ncontinue;\n} else {\nvar js_ns \x3d cljs.core.first(seq__39843__$1);\nvar require_str_40512 \x3d [\x22var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22 \x3d shadow.js.require(\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(js_ns),\x22\\\x22);\x22].join(\x27\x27);\nshadow.cljs.devtools.client.browser.script_eval(require_str_40512);\n\n\nvar G__40513 \x3d cljs.core.next(seq__39843__$1);\nvar G__40514 \x3d null;\nvar G__40515 \x3d (0);\nvar G__40516 \x3d (0);\nseq__39843 \x3d G__40513;\nchunk__39844 \x3d G__40514;\ncount__39845 \x3d G__40515;\ni__39846 \x3d G__40516;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.handle_build_complete \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete(runtime,p__39854){\nvar map__39856 \x3d p__39854;\nvar map__39856__$1 \x3d cljs.core.__destructure_map(map__39856);\nvar msg \x3d map__39856__$1;\nvar info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39856__$1,new cljs.core.Keyword(null,\x22info\x22,\x22info\x22,-317069002));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39856__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar warnings \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((function (){var iter__5503__auto__ \x3d (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39857(s__39858){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39858__$1 \x3d s__39858;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__39858__$1);\nif(temp__5823__auto__){\nvar xs__6383__auto__ \x3d temp__5823__auto__;\nvar map__39864 \x3d cljs.core.first(xs__6383__auto__);\nvar map__39864__$1 \x3d cljs.core.__destructure_map(map__39864);\nvar src \x3d map__39864__$1;\nvar resource_name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39864__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nvar warnings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39864__$1,new cljs.core.Keyword(null,\x22warnings\x22,\x22warnings\x22,-735437651));\nif(cljs.core.not(new cljs.core.Keyword(null,\x22from-jar\x22,\x22from-jar\x22,1050932827).cljs$core$IFn$_invoke$arity$1(src))){\nvar iterys__5499__auto__ \x3d ((function (s__39858__$1,map__39864,map__39864__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__39856,map__39856__$1,msg,info,reload_info){\nreturn (function shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39857_$_iter__39859(s__39860){\nreturn (new cljs.core.LazySeq(null,((function (s__39858__$1,map__39864,map__39864__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__39856,map__39856__$1,msg,info,reload_info){\nreturn (function (){\nvar s__39860__$1 \x3d s__39860;\nwhile(true){\nvar temp__5823__auto____$1 \x3d cljs.core.seq(s__39860__$1);\nif(temp__5823__auto____$1){\nvar s__39860__$2 \x3d temp__5823__auto____$1;\nif(cljs.core.chunked_seq_QMARK_(s__39860__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39860__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39862 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39861 \x3d (0);\nwhile(true){\nif((i__39861 \x3c size__5502__auto__)){\nvar warning \x3d cljs.core._nth(c__5501__auto__,i__39861);\ncljs.core.chunk_append(b__39862,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name));\n\nvar G__40518 \x3d (i__39861 + (1));\ni__39861 \x3d G__40518;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39862),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39857_$_iter__39859(cljs.core.chunk_rest(s__39860__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39862),null);\n}\n} else {\nvar warning \x3d cljs.core.first(s__39860__$2);\nreturn cljs.core.cons(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(warning,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100),resource_name),shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39857_$_iter__39859(cljs.core.rest(s__39860__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});})(s__39858__$1,map__39864,map__39864__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__39856,map__39856__$1,msg,info,reload_info))\n,null,null));\n});})(s__39858__$1,map__39864,map__39864__$1,src,resource_name,warnings,xs__6383__auto__,temp__5823__auto__,map__39856,map__39856__$1,msg,info,reload_info))\n;\nvar fs__5500__auto__ \x3d cljs.core.seq(iterys__5499__auto__(warnings));\nif(fs__5500__auto__){\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fs__5500__auto__,shadow$cljs$devtools$client$browser$handle_build_complete_$_iter__39857(cljs.core.rest(s__39858__$1)));\n} else {\nvar G__40519 \x3d cljs.core.rest(s__39858__$1);\ns__39858__$1 \x3d G__40519;\ncontinue;\n}\n} else {\nvar G__40520 \x3d cljs.core.rest(s__39858__$1);\ns__39858__$1 \x3d G__40520;\ncontinue;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424).cljs$core$IFn$_invoke$arity$1(info));\n})()));\nif(shadow.cljs.devtools.client.env.log){\nvar seq__39870_40521 \x3d cljs.core.seq(warnings);\nvar chunk__39871_40522 \x3d null;\nvar count__39872_40523 \x3d (0);\nvar i__39873_40524 \x3d (0);\nwhile(true){\nif((i__39873_40524 \x3c count__39872_40523)){\nvar map__39882_40525 \x3d chunk__39871_40522.cljs$core$IIndexed$_nth$arity$2(null,i__39873_40524);\nvar map__39882_40526__$1 \x3d cljs.core.__destructure_map(map__39882_40525);\nvar w_40527 \x3d map__39882_40526__$1;\nvar msg_40528__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39882_40526__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_40529 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39882_40526__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_40530 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39882_40526__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_40531 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39882_40526__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_40531),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_40529),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_40530),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_40528__$1)].join(\x27\x27));\n\n\nvar G__40533 \x3d seq__39870_40521;\nvar G__40534 \x3d chunk__39871_40522;\nvar G__40535 \x3d count__39872_40523;\nvar G__40536 \x3d (i__39873_40524 + (1));\nseq__39870_40521 \x3d G__40533;\nchunk__39871_40522 \x3d G__40534;\ncount__39872_40523 \x3d G__40535;\ni__39873_40524 \x3d G__40536;\ncontinue;\n} else {\nvar temp__5823__auto___40537 \x3d cljs.core.seq(seq__39870_40521);\nif(temp__5823__auto___40537){\nvar seq__39870_40538__$1 \x3d temp__5823__auto___40537;\nif(cljs.core.chunked_seq_QMARK_(seq__39870_40538__$1)){\nvar c__5548__auto___40539 \x3d cljs.core.chunk_first(seq__39870_40538__$1);\nvar G__40540 \x3d cljs.core.chunk_rest(seq__39870_40538__$1);\nvar G__40541 \x3d c__5548__auto___40539;\nvar G__40542 \x3d cljs.core.count(c__5548__auto___40539);\nvar G__40543 \x3d (0);\nseq__39870_40521 \x3d G__40540;\nchunk__39871_40522 \x3d G__40541;\ncount__39872_40523 \x3d G__40542;\ni__39873_40524 \x3d G__40543;\ncontinue;\n} else {\nvar map__39883_40544 \x3d cljs.core.first(seq__39870_40538__$1);\nvar map__39883_40545__$1 \x3d cljs.core.__destructure_map(map__39883_40544);\nvar w_40546 \x3d map__39883_40545__$1;\nvar msg_40547__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39883_40545__$1,new cljs.core.Keyword(null,\x22msg\x22,\x22msg\x22,-1386103444));\nvar line_40548 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39883_40545__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_40549 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39883_40545__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar resource_name_40550 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39883_40545__$1,new cljs.core.Keyword(null,\x22resource-name\x22,\x22resource-name\x22,2001617100));\nconsole.warn([\x22BUILD-WARNING in \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(resource_name_40550),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_40548),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_40549),\x22]\\n\\t\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg_40547__$1)].join(\x27\x27));\n\n\nvar G__40551 \x3d cljs.core.next(seq__39870_40538__$1);\nvar G__40552 \x3d null;\nvar G__40553 \x3d (0);\nvar G__40554 \x3d (0);\nseq__39870_40521 \x3d G__40551;\nchunk__39871_40522 \x3d G__40552;\ncount__39872_40523 \x3d G__40553;\ni__39873_40524 \x3d G__40554;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n} else {\n}\n\nif((!(shadow.cljs.devtools.client.env.autoload))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(((cljs.core.empty_QMARK_(warnings)) || (shadow.cljs.devtools.client.env.ignore_warnings))){\nvar sources_to_get \x3d shadow.cljs.devtools.client.env.filter_reload_sources(info,reload_info);\nif(cljs.core.not(cljs.core.seq(sources_to_get))){\nreturn shadow.cljs.devtools.client.hud.load_end_success();\n} else {\nif(cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22after-load\x22,\x22after-load\x22,-1278503285)], null)))){\n} else {\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22reloading code but no :after-load hooks are configured!\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22https://shadow-cljs.github.io/docs/UsersGuide.html#_lifecycle_hooks\x22], 0));\n}\n\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime,sources_to_get,(function (p1__39851_SHARP_){\nreturn shadow.cljs.devtools.client.browser.do_js_reload(msg,p1__39851_SHARP_,shadow.cljs.devtools.client.hud.load_end_success,shadow.cljs.devtools.client.hud.load_failure);\n}));\n}\n} else {\nreturn null;\n}\n}\n});\nshadow.cljs.devtools.client.browser.page_load_uri \x3d (cljs.core.truth_(goog.global.document)?goog.Uri.parse(document.location.href):null);\nshadow.cljs.devtools.client.browser.match_paths \x3d (function shadow$cljs$devtools$client$browser$match_paths(old,new$){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22file\x22,shadow.cljs.devtools.client.browser.page_load_uri.getScheme())){\nvar rel_new \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new$,(1));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(old,rel_new)) || (clojure.string.starts_with_QMARK_(old,[rel_new,\x22?\x22].join(\x27\x27))))){\nreturn rel_new;\n} else {\nreturn null;\n}\n} else {\nvar node_uri \x3d goog.Uri.parse(old);\nvar node_uri_resolved \x3d shadow.cljs.devtools.client.browser.page_load_uri.resolve(node_uri);\nvar node_abs \x3d node_uri_resolved.getPath();\nvar and__5023__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1(shadow.cljs.devtools.client.browser.page_load_uri.hasSameDomainAs(node_uri))) || (cljs.core.not(node_uri.hasDomain())));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(node_abs,new$);\nif(and__5023__auto____$1){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var G__39890 \x3d node_uri;\nG__39890.setQuery(null);\n\nG__39890.setPath(new$);\n\nreturn G__39890;\n})());\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}\n});\nshadow.cljs.devtools.client.browser.handle_asset_update \x3d (function shadow$cljs$devtools$client$browser$handle_asset_update(p__39891){\nvar map__39892 \x3d p__39891;\nvar map__39892__$1 \x3d cljs.core.__destructure_map(map__39892);\nvar msg \x3d map__39892__$1;\nvar updates \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39892__$1,new cljs.core.Keyword(null,\x22updates\x22,\x22updates\x22,2013983452));\nvar reload_info \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39892__$1,new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086));\nvar seq__39893 \x3d cljs.core.seq(updates);\nvar chunk__39895 \x3d null;\nvar count__39896 \x3d (0);\nvar i__39897 \x3d (0);\nwhile(true){\nif((i__39897 \x3c count__39896)){\nvar path \x3d chunk__39895.cljs$core$IIndexed$_nth$arity$2(null,i__39897);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__40147_40560 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__40151_40561 \x3d null;\nvar count__40152_40562 \x3d (0);\nvar i__40153_40563 \x3d (0);\nwhile(true){\nif((i__40153_40563 \x3c count__40152_40562)){\nvar node_40564 \x3d chunk__40151_40561.cljs$core$IIndexed$_nth$arity$2(null,i__40153_40563);\nif(cljs.core.not(node_40564.shadow$old)){\nvar path_match_40565 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40564.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40565)){\nvar new_link_40566 \x3d (function (){var G__40199 \x3d node_40564.cloneNode(true);\nG__40199.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40565),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40199;\n})();\n(node_40564.shadow$old \x3d true);\n\n(new_link_40566.onload \x3d ((function (seq__40147_40560,chunk__40151_40561,count__40152_40562,i__40153_40563,seq__39893,chunk__39895,count__39896,i__39897,new_link_40566,path_match_40565,node_40564,path,map__39892,map__39892__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40200_40568 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40202_40569 \x3d null;\nvar count__40203_40570 \x3d (0);\nvar i__40204_40571 \x3d (0);\nwhile(true){\nif((i__40204_40571 \x3c count__40203_40570)){\nvar map__40229_40572 \x3d chunk__40202_40569.cljs$core$IIndexed$_nth$arity$2(null,i__40204_40571);\nvar map__40229_40573__$1 \x3d cljs.core.__destructure_map(map__40229_40572);\nvar task_40574 \x3d map__40229_40573__$1;\nvar fn_str_40575 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40229_40573__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40576 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40229_40573__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40577 \x3d goog.getObjectByName(fn_str_40575,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40576)].join(\x27\x27));\n\n(fn_obj_40577.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40577.cljs$core$IFn$_invoke$arity$2(path,new_link_40566) : fn_obj_40577.call(null,path,new_link_40566));\n\n\nvar G__40578 \x3d seq__40200_40568;\nvar G__40579 \x3d chunk__40202_40569;\nvar G__40580 \x3d count__40203_40570;\nvar G__40581 \x3d (i__40204_40571 + (1));\nseq__40200_40568 \x3d G__40578;\nchunk__40202_40569 \x3d G__40579;\ncount__40203_40570 \x3d G__40580;\ni__40204_40571 \x3d G__40581;\ncontinue;\n} else {\nvar temp__5823__auto___40582 \x3d cljs.core.seq(seq__40200_40568);\nif(temp__5823__auto___40582){\nvar seq__40200_40583__$1 \x3d temp__5823__auto___40582;\nif(cljs.core.chunked_seq_QMARK_(seq__40200_40583__$1)){\nvar c__5548__auto___40584 \x3d cljs.core.chunk_first(seq__40200_40583__$1);\nvar G__40585 \x3d cljs.core.chunk_rest(seq__40200_40583__$1);\nvar G__40586 \x3d c__5548__auto___40584;\nvar G__40587 \x3d cljs.core.count(c__5548__auto___40584);\nvar G__40588 \x3d (0);\nseq__40200_40568 \x3d G__40585;\nchunk__40202_40569 \x3d G__40586;\ncount__40203_40570 \x3d G__40587;\ni__40204_40571 \x3d G__40588;\ncontinue;\n} else {\nvar map__40230_40589 \x3d cljs.core.first(seq__40200_40583__$1);\nvar map__40230_40590__$1 \x3d cljs.core.__destructure_map(map__40230_40589);\nvar task_40591 \x3d map__40230_40590__$1;\nvar fn_str_40592 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40230_40590__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40593 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40230_40590__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40594 \x3d goog.getObjectByName(fn_str_40592,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40593)].join(\x27\x27));\n\n(fn_obj_40594.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40594.cljs$core$IFn$_invoke$arity$2(path,new_link_40566) : fn_obj_40594.call(null,path,new_link_40566));\n\n\nvar G__40595 \x3d cljs.core.next(seq__40200_40583__$1);\nvar G__40596 \x3d null;\nvar G__40597 \x3d (0);\nvar G__40598 \x3d (0);\nseq__40200_40568 \x3d G__40595;\nchunk__40202_40569 \x3d G__40596;\ncount__40203_40570 \x3d G__40597;\ni__40204_40571 \x3d G__40598;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40564);\n});})(seq__40147_40560,chunk__40151_40561,count__40152_40562,i__40153_40563,seq__39893,chunk__39895,count__39896,i__39897,new_link_40566,path_match_40565,node_40564,path,map__39892,map__39892__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40565], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40566,node_40564);\n\n\nvar G__40599 \x3d seq__40147_40560;\nvar G__40600 \x3d chunk__40151_40561;\nvar G__40601 \x3d count__40152_40562;\nvar G__40602 \x3d (i__40153_40563 + (1));\nseq__40147_40560 \x3d G__40599;\nchunk__40151_40561 \x3d G__40600;\ncount__40152_40562 \x3d G__40601;\ni__40153_40563 \x3d G__40602;\ncontinue;\n} else {\nvar G__40603 \x3d seq__40147_40560;\nvar G__40604 \x3d chunk__40151_40561;\nvar G__40605 \x3d count__40152_40562;\nvar G__40606 \x3d (i__40153_40563 + (1));\nseq__40147_40560 \x3d G__40603;\nchunk__40151_40561 \x3d G__40604;\ncount__40152_40562 \x3d G__40605;\ni__40153_40563 \x3d G__40606;\ncontinue;\n}\n} else {\nvar G__40607 \x3d seq__40147_40560;\nvar G__40608 \x3d chunk__40151_40561;\nvar G__40609 \x3d count__40152_40562;\nvar G__40610 \x3d (i__40153_40563 + (1));\nseq__40147_40560 \x3d G__40607;\nchunk__40151_40561 \x3d G__40608;\ncount__40152_40562 \x3d G__40609;\ni__40153_40563 \x3d G__40610;\ncontinue;\n}\n} else {\nvar temp__5823__auto___40611 \x3d cljs.core.seq(seq__40147_40560);\nif(temp__5823__auto___40611){\nvar seq__40147_40612__$1 \x3d temp__5823__auto___40611;\nif(cljs.core.chunked_seq_QMARK_(seq__40147_40612__$1)){\nvar c__5548__auto___40613 \x3d cljs.core.chunk_first(seq__40147_40612__$1);\nvar G__40614 \x3d cljs.core.chunk_rest(seq__40147_40612__$1);\nvar G__40615 \x3d c__5548__auto___40613;\nvar G__40616 \x3d cljs.core.count(c__5548__auto___40613);\nvar G__40617 \x3d (0);\nseq__40147_40560 \x3d G__40614;\nchunk__40151_40561 \x3d G__40615;\ncount__40152_40562 \x3d G__40616;\ni__40153_40563 \x3d G__40617;\ncontinue;\n} else {\nvar node_40618 \x3d cljs.core.first(seq__40147_40612__$1);\nif(cljs.core.not(node_40618.shadow$old)){\nvar path_match_40619 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40618.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40619)){\nvar new_link_40620 \x3d (function (){var G__40237 \x3d node_40618.cloneNode(true);\nG__40237.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40619),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40237;\n})();\n(node_40618.shadow$old \x3d true);\n\n(new_link_40620.onload \x3d ((function (seq__40147_40560,chunk__40151_40561,count__40152_40562,i__40153_40563,seq__39893,chunk__39895,count__39896,i__39897,new_link_40620,path_match_40619,node_40618,seq__40147_40612__$1,temp__5823__auto___40611,path,map__39892,map__39892__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40238_40621 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40240_40622 \x3d null;\nvar count__40241_40623 \x3d (0);\nvar i__40242_40624 \x3d (0);\nwhile(true){\nif((i__40242_40624 \x3c count__40241_40623)){\nvar map__40253_40625 \x3d chunk__40240_40622.cljs$core$IIndexed$_nth$arity$2(null,i__40242_40624);\nvar map__40253_40626__$1 \x3d cljs.core.__destructure_map(map__40253_40625);\nvar task_40627 \x3d map__40253_40626__$1;\nvar fn_str_40628 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40253_40626__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40629 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40253_40626__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40632 \x3d goog.getObjectByName(fn_str_40628,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40629)].join(\x27\x27));\n\n(fn_obj_40632.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40632.cljs$core$IFn$_invoke$arity$2(path,new_link_40620) : fn_obj_40632.call(null,path,new_link_40620));\n\n\nvar G__40633 \x3d seq__40238_40621;\nvar G__40634 \x3d chunk__40240_40622;\nvar G__40635 \x3d count__40241_40623;\nvar G__40636 \x3d (i__40242_40624 + (1));\nseq__40238_40621 \x3d G__40633;\nchunk__40240_40622 \x3d G__40634;\ncount__40241_40623 \x3d G__40635;\ni__40242_40624 \x3d G__40636;\ncontinue;\n} else {\nvar temp__5823__auto___40637__$1 \x3d cljs.core.seq(seq__40238_40621);\nif(temp__5823__auto___40637__$1){\nvar seq__40238_40638__$1 \x3d temp__5823__auto___40637__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__40238_40638__$1)){\nvar c__5548__auto___40639 \x3d cljs.core.chunk_first(seq__40238_40638__$1);\nvar G__40640 \x3d cljs.core.chunk_rest(seq__40238_40638__$1);\nvar G__40641 \x3d c__5548__auto___40639;\nvar G__40642 \x3d cljs.core.count(c__5548__auto___40639);\nvar G__40643 \x3d (0);\nseq__40238_40621 \x3d G__40640;\nchunk__40240_40622 \x3d G__40641;\ncount__40241_40623 \x3d G__40642;\ni__40242_40624 \x3d G__40643;\ncontinue;\n} else {\nvar map__40260_40644 \x3d cljs.core.first(seq__40238_40638__$1);\nvar map__40260_40645__$1 \x3d cljs.core.__destructure_map(map__40260_40644);\nvar task_40646 \x3d map__40260_40645__$1;\nvar fn_str_40647 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40260_40645__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40648 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40260_40645__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40651 \x3d goog.getObjectByName(fn_str_40647,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40648)].join(\x27\x27));\n\n(fn_obj_40651.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40651.cljs$core$IFn$_invoke$arity$2(path,new_link_40620) : fn_obj_40651.call(null,path,new_link_40620));\n\n\nvar G__40652 \x3d cljs.core.next(seq__40238_40638__$1);\nvar G__40653 \x3d null;\nvar G__40654 \x3d (0);\nvar G__40655 \x3d (0);\nseq__40238_40621 \x3d G__40652;\nchunk__40240_40622 \x3d G__40653;\ncount__40241_40623 \x3d G__40654;\ni__40242_40624 \x3d G__40655;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40618);\n});})(seq__40147_40560,chunk__40151_40561,count__40152_40562,i__40153_40563,seq__39893,chunk__39895,count__39896,i__39897,new_link_40620,path_match_40619,node_40618,seq__40147_40612__$1,temp__5823__auto___40611,path,map__39892,map__39892__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40619], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40620,node_40618);\n\n\nvar G__40656 \x3d cljs.core.next(seq__40147_40612__$1);\nvar G__40657 \x3d null;\nvar G__40658 \x3d (0);\nvar G__40659 \x3d (0);\nseq__40147_40560 \x3d G__40656;\nchunk__40151_40561 \x3d G__40657;\ncount__40152_40562 \x3d G__40658;\ni__40153_40563 \x3d G__40659;\ncontinue;\n} else {\nvar G__40660 \x3d cljs.core.next(seq__40147_40612__$1);\nvar G__40661 \x3d null;\nvar G__40662 \x3d (0);\nvar G__40663 \x3d (0);\nseq__40147_40560 \x3d G__40660;\nchunk__40151_40561 \x3d G__40661;\ncount__40152_40562 \x3d G__40662;\ni__40153_40563 \x3d G__40663;\ncontinue;\n}\n} else {\nvar G__40664 \x3d cljs.core.next(seq__40147_40612__$1);\nvar G__40665 \x3d null;\nvar G__40666 \x3d (0);\nvar G__40667 \x3d (0);\nseq__40147_40560 \x3d G__40664;\nchunk__40151_40561 \x3d G__40665;\ncount__40152_40562 \x3d G__40666;\ni__40153_40563 \x3d G__40667;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__40668 \x3d seq__39893;\nvar G__40669 \x3d chunk__39895;\nvar G__40670 \x3d count__39896;\nvar G__40671 \x3d (i__39897 + (1));\nseq__39893 \x3d G__40668;\nchunk__39895 \x3d G__40669;\ncount__39896 \x3d G__40670;\ni__39897 \x3d G__40671;\ncontinue;\n} else {\nvar G__40672 \x3d seq__39893;\nvar G__40673 \x3d chunk__39895;\nvar G__40674 \x3d count__39896;\nvar G__40675 \x3d (i__39897 + (1));\nseq__39893 \x3d G__40672;\nchunk__39895 \x3d G__40673;\ncount__39896 \x3d G__40674;\ni__39897 \x3d G__40675;\ncontinue;\n}\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__39893);\nif(temp__5823__auto__){\nvar seq__39893__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__39893__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__39893__$1);\nvar G__40677 \x3d cljs.core.chunk_rest(seq__39893__$1);\nvar G__40678 \x3d c__5548__auto__;\nvar G__40679 \x3d cljs.core.count(c__5548__auto__);\nvar G__40680 \x3d (0);\nseq__39893 \x3d G__40677;\nchunk__39895 \x3d G__40678;\ncount__39896 \x3d G__40679;\ni__39897 \x3d G__40680;\ncontinue;\n} else {\nvar path \x3d cljs.core.first(seq__39893__$1);\nif(clojure.string.ends_with_QMARK_(path,\x22css\x22)){\nvar seq__40275_40681 \x3d cljs.core.seq(cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1(document.querySelectorAll(\x22link[rel\x3d\\\x22stylesheet\\\x22]\x22)));\nvar chunk__40279_40682 \x3d null;\nvar count__40280_40683 \x3d (0);\nvar i__40281_40684 \x3d (0);\nwhile(true){\nif((i__40281_40684 \x3c count__40280_40683)){\nvar node_40685 \x3d chunk__40279_40682.cljs$core$IIndexed$_nth$arity$2(null,i__40281_40684);\nif(cljs.core.not(node_40685.shadow$old)){\nvar path_match_40686 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40685.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40686)){\nvar new_link_40687 \x3d (function (){var G__40381 \x3d node_40685.cloneNode(true);\nG__40381.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40686),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40381;\n})();\n(node_40685.shadow$old \x3d true);\n\n(new_link_40687.onload \x3d ((function (seq__40275_40681,chunk__40279_40682,count__40280_40683,i__40281_40684,seq__39893,chunk__39895,count__39896,i__39897,new_link_40687,path_match_40686,node_40685,path,seq__39893__$1,temp__5823__auto__,map__39892,map__39892__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40385_40688 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40387_40689 \x3d null;\nvar count__40388_40690 \x3d (0);\nvar i__40389_40691 \x3d (0);\nwhile(true){\nif((i__40389_40691 \x3c count__40388_40690)){\nvar map__40397_40692 \x3d chunk__40387_40689.cljs$core$IIndexed$_nth$arity$2(null,i__40389_40691);\nvar map__40397_40693__$1 \x3d cljs.core.__destructure_map(map__40397_40692);\nvar task_40694 \x3d map__40397_40693__$1;\nvar fn_str_40695 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40397_40693__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40696 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40397_40693__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40698 \x3d goog.getObjectByName(fn_str_40695,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40696)].join(\x27\x27));\n\n(fn_obj_40698.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40698.cljs$core$IFn$_invoke$arity$2(path,new_link_40687) : fn_obj_40698.call(null,path,new_link_40687));\n\n\nvar G__40699 \x3d seq__40385_40688;\nvar G__40700 \x3d chunk__40387_40689;\nvar G__40701 \x3d count__40388_40690;\nvar G__40702 \x3d (i__40389_40691 + (1));\nseq__40385_40688 \x3d G__40699;\nchunk__40387_40689 \x3d G__40700;\ncount__40388_40690 \x3d G__40701;\ni__40389_40691 \x3d G__40702;\ncontinue;\n} else {\nvar temp__5823__auto___40703__$1 \x3d cljs.core.seq(seq__40385_40688);\nif(temp__5823__auto___40703__$1){\nvar seq__40385_40704__$1 \x3d temp__5823__auto___40703__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__40385_40704__$1)){\nvar c__5548__auto___40705 \x3d cljs.core.chunk_first(seq__40385_40704__$1);\nvar G__40706 \x3d cljs.core.chunk_rest(seq__40385_40704__$1);\nvar G__40707 \x3d c__5548__auto___40705;\nvar G__40708 \x3d cljs.core.count(c__5548__auto___40705);\nvar G__40709 \x3d (0);\nseq__40385_40688 \x3d G__40706;\nchunk__40387_40689 \x3d G__40707;\ncount__40388_40690 \x3d G__40708;\ni__40389_40691 \x3d G__40709;\ncontinue;\n} else {\nvar map__40404_40710 \x3d cljs.core.first(seq__40385_40704__$1);\nvar map__40404_40711__$1 \x3d cljs.core.__destructure_map(map__40404_40710);\nvar task_40712 \x3d map__40404_40711__$1;\nvar fn_str_40713 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40404_40711__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40714 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40404_40711__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40715 \x3d goog.getObjectByName(fn_str_40713,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40714)].join(\x27\x27));\n\n(fn_obj_40715.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40715.cljs$core$IFn$_invoke$arity$2(path,new_link_40687) : fn_obj_40715.call(null,path,new_link_40687));\n\n\nvar G__40716 \x3d cljs.core.next(seq__40385_40704__$1);\nvar G__40717 \x3d null;\nvar G__40718 \x3d (0);\nvar G__40719 \x3d (0);\nseq__40385_40688 \x3d G__40716;\nchunk__40387_40689 \x3d G__40717;\ncount__40388_40690 \x3d G__40718;\ni__40389_40691 \x3d G__40719;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40685);\n});})(seq__40275_40681,chunk__40279_40682,count__40280_40683,i__40281_40684,seq__39893,chunk__39895,count__39896,i__39897,new_link_40687,path_match_40686,node_40685,path,seq__39893__$1,temp__5823__auto__,map__39892,map__39892__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40686], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40687,node_40685);\n\n\nvar G__40721 \x3d seq__40275_40681;\nvar G__40722 \x3d chunk__40279_40682;\nvar G__40723 \x3d count__40280_40683;\nvar G__40724 \x3d (i__40281_40684 + (1));\nseq__40275_40681 \x3d G__40721;\nchunk__40279_40682 \x3d G__40722;\ncount__40280_40683 \x3d G__40723;\ni__40281_40684 \x3d G__40724;\ncontinue;\n} else {\nvar G__40725 \x3d seq__40275_40681;\nvar G__40726 \x3d chunk__40279_40682;\nvar G__40727 \x3d count__40280_40683;\nvar G__40728 \x3d (i__40281_40684 + (1));\nseq__40275_40681 \x3d G__40725;\nchunk__40279_40682 \x3d G__40726;\ncount__40280_40683 \x3d G__40727;\ni__40281_40684 \x3d G__40728;\ncontinue;\n}\n} else {\nvar G__40729 \x3d seq__40275_40681;\nvar G__40730 \x3d chunk__40279_40682;\nvar G__40731 \x3d count__40280_40683;\nvar G__40732 \x3d (i__40281_40684 + (1));\nseq__40275_40681 \x3d G__40729;\nchunk__40279_40682 \x3d G__40730;\ncount__40280_40683 \x3d G__40731;\ni__40281_40684 \x3d G__40732;\ncontinue;\n}\n} else {\nvar temp__5823__auto___40733__$1 \x3d cljs.core.seq(seq__40275_40681);\nif(temp__5823__auto___40733__$1){\nvar seq__40275_40734__$1 \x3d temp__5823__auto___40733__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__40275_40734__$1)){\nvar c__5548__auto___40735 \x3d cljs.core.chunk_first(seq__40275_40734__$1);\nvar G__40736 \x3d cljs.core.chunk_rest(seq__40275_40734__$1);\nvar G__40737 \x3d c__5548__auto___40735;\nvar G__40738 \x3d cljs.core.count(c__5548__auto___40735);\nvar G__40739 \x3d (0);\nseq__40275_40681 \x3d G__40736;\nchunk__40279_40682 \x3d G__40737;\ncount__40280_40683 \x3d G__40738;\ni__40281_40684 \x3d G__40739;\ncontinue;\n} else {\nvar node_40740 \x3d cljs.core.first(seq__40275_40734__$1);\nif(cljs.core.not(node_40740.shadow$old)){\nvar path_match_40741 \x3d shadow.cljs.devtools.client.browser.match_paths(node_40740.getAttribute(\x22href\x22),path);\nif(cljs.core.truth_(path_match_40741)){\nvar new_link_40742 \x3d (function (){var G__40409 \x3d node_40740.cloneNode(true);\nG__40409.setAttribute(\x22href\x22,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(path_match_40741),\x22?r\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.rand.cljs$core$IFn$_invoke$arity$0())].join(\x27\x27));\n\nreturn G__40409;\n})();\n(node_40740.shadow$old \x3d true);\n\n(new_link_40742.onload \x3d ((function (seq__40275_40681,chunk__40279_40682,count__40280_40683,i__40281_40684,seq__39893,chunk__39895,count__39896,i__39897,new_link_40742,path_match_40741,node_40740,seq__40275_40734__$1,temp__5823__auto___40733__$1,path,seq__39893__$1,temp__5823__auto__,map__39892,map__39892__$1,msg,updates,reload_info){\nreturn (function (e){\nvar seq__40411_40743 \x3d cljs.core.seq(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(msg,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22reload-info\x22,\x22reload-info\x22,1648088086),new cljs.core.Keyword(null,\x22asset-load\x22,\x22asset-load\x22,-1925902322)], null)));\nvar chunk__40413_40744 \x3d null;\nvar count__40414_40745 \x3d (0);\nvar i__40415_40746 \x3d (0);\nwhile(true){\nif((i__40415_40746 \x3c count__40414_40745)){\nvar map__40431_40747 \x3d chunk__40413_40744.cljs$core$IIndexed$_nth$arity$2(null,i__40415_40746);\nvar map__40431_40748__$1 \x3d cljs.core.__destructure_map(map__40431_40747);\nvar task_40749 \x3d map__40431_40748__$1;\nvar fn_str_40750 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40431_40748__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40751 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40431_40748__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40753 \x3d goog.getObjectByName(fn_str_40750,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40751)].join(\x27\x27));\n\n(fn_obj_40753.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40753.cljs$core$IFn$_invoke$arity$2(path,new_link_40742) : fn_obj_40753.call(null,path,new_link_40742));\n\n\nvar G__40754 \x3d seq__40411_40743;\nvar G__40755 \x3d chunk__40413_40744;\nvar G__40756 \x3d count__40414_40745;\nvar G__40757 \x3d (i__40415_40746 + (1));\nseq__40411_40743 \x3d G__40754;\nchunk__40413_40744 \x3d G__40755;\ncount__40414_40745 \x3d G__40756;\ni__40415_40746 \x3d G__40757;\ncontinue;\n} else {\nvar temp__5823__auto___40758__$2 \x3d cljs.core.seq(seq__40411_40743);\nif(temp__5823__auto___40758__$2){\nvar seq__40411_40759__$1 \x3d temp__5823__auto___40758__$2;\nif(cljs.core.chunked_seq_QMARK_(seq__40411_40759__$1)){\nvar c__5548__auto___40760 \x3d cljs.core.chunk_first(seq__40411_40759__$1);\nvar G__40761 \x3d cljs.core.chunk_rest(seq__40411_40759__$1);\nvar G__40762 \x3d c__5548__auto___40760;\nvar G__40763 \x3d cljs.core.count(c__5548__auto___40760);\nvar G__40764 \x3d (0);\nseq__40411_40743 \x3d G__40761;\nchunk__40413_40744 \x3d G__40762;\ncount__40414_40745 \x3d G__40763;\ni__40415_40746 \x3d G__40764;\ncontinue;\n} else {\nvar map__40432_40765 \x3d cljs.core.first(seq__40411_40759__$1);\nvar map__40432_40766__$1 \x3d cljs.core.__destructure_map(map__40432_40765);\nvar task_40767 \x3d map__40432_40766__$1;\nvar fn_str_40768 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40432_40766__$1,new cljs.core.Keyword(null,\x22fn-str\x22,\x22fn-str\x22,-1348506402));\nvar fn_sym_40769 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40432_40766__$1,new cljs.core.Keyword(null,\x22fn-sym\x22,\x22fn-sym\x22,1423988510));\nvar fn_obj_40770 \x3d goog.getObjectByName(fn_str_40768,$CLJS);\nshadow.cljs.devtools.client.browser.devtools_msg([\x22call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_sym_40769)].join(\x27\x27));\n\n(fn_obj_40770.cljs$core$IFn$_invoke$arity$2 ? fn_obj_40770.cljs$core$IFn$_invoke$arity$2(path,new_link_40742) : fn_obj_40770.call(null,path,new_link_40742));\n\n\nvar G__40771 \x3d cljs.core.next(seq__40411_40759__$1);\nvar G__40772 \x3d null;\nvar G__40773 \x3d (0);\nvar G__40774 \x3d (0);\nseq__40411_40743 \x3d G__40771;\nchunk__40413_40744 \x3d G__40772;\ncount__40414_40745 \x3d G__40773;\ni__40415_40746 \x3d G__40774;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn goog.dom.removeNode(node_40740);\n});})(seq__40275_40681,chunk__40279_40682,count__40280_40683,i__40281_40684,seq__39893,chunk__39895,count__39896,i__39897,new_link_40742,path_match_40741,node_40740,seq__40275_40734__$1,temp__5823__auto___40733__$1,path,seq__39893__$1,temp__5823__auto__,map__39892,map__39892__$1,msg,updates,reload_info))\n);\n\nshadow.cljs.devtools.client.browser.devtools_msg.cljs$core$IFn$_invoke$arity$variadic(\x22load CSS\x22,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path_match_40741], 0));\n\ngoog.dom.insertSiblingAfter(new_link_40742,node_40740);\n\n\nvar G__40775 \x3d cljs.core.next(seq__40275_40734__$1);\nvar G__40776 \x3d null;\nvar G__40777 \x3d (0);\nvar G__40778 \x3d (0);\nseq__40275_40681 \x3d G__40775;\nchunk__40279_40682 \x3d G__40776;\ncount__40280_40683 \x3d G__40777;\ni__40281_40684 \x3d G__40778;\ncontinue;\n} else {\nvar G__40780 \x3d cljs.core.next(seq__40275_40734__$1);\nvar G__40781 \x3d null;\nvar G__40782 \x3d (0);\nvar G__40783 \x3d (0);\nseq__40275_40681 \x3d G__40780;\nchunk__40279_40682 \x3d G__40781;\ncount__40280_40683 \x3d G__40782;\ni__40281_40684 \x3d G__40783;\ncontinue;\n}\n} else {\nvar G__40785 \x3d cljs.core.next(seq__40275_40734__$1);\nvar G__40786 \x3d null;\nvar G__40787 \x3d (0);\nvar G__40788 \x3d (0);\nseq__40275_40681 \x3d G__40785;\nchunk__40279_40682 \x3d G__40786;\ncount__40280_40683 \x3d G__40787;\ni__40281_40684 \x3d G__40788;\ncontinue;\n}\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__40789 \x3d cljs.core.next(seq__39893__$1);\nvar G__40790 \x3d null;\nvar G__40791 \x3d (0);\nvar G__40792 \x3d (0);\nseq__39893 \x3d G__40789;\nchunk__39895 \x3d G__40790;\ncount__39896 \x3d G__40791;\ni__39897 \x3d G__40792;\ncontinue;\n} else {\nvar G__40793 \x3d cljs.core.next(seq__39893__$1);\nvar G__40794 \x3d null;\nvar G__40795 \x3d (0);\nvar G__40796 \x3d (0);\nseq__39893 \x3d G__40793;\nchunk__39895 \x3d G__40794;\ncount__39896 \x3d G__40795;\ni__39897 \x3d G__40796;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nshadow.cljs.devtools.client.browser.global_eval \x3d (function shadow$cljs$devtools$client$browser$global_eval(js){\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(\x22undefined\x22,typeof(module))){\nreturn eval(js);\n} else {\nreturn (0,eval)(js);;\n}\n});\nshadow.cljs.devtools.client.browser.runtime_info \x3d (((typeof SHADOW_CONFIG !\x3d\x3d \x27undefined\x27))?shadow.json.to_clj.cljs$core$IFn$_invoke$arity$1(SHADOW_CONFIG):null);\nshadow.cljs.devtools.client.browser.client_info \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([shadow.cljs.devtools.client.browser.runtime_info,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22host\x22,\x22host\x22,-1558485167),(cljs.core.truth_(goog.global.document)?new cljs.core.Keyword(null,\x22browser\x22,\x22browser\x22,828191719):new cljs.core.Keyword(null,\x22browser-worker\x22,\x22browser-worker\x22,1638998282)),new cljs.core.Keyword(null,\x22user-agent\x22,\x22user-agent\x22,1220426212),[(cljs.core.truth_(goog.userAgent.OPERA)?\x22Opera\x22:(cljs.core.truth_(goog.userAgent.product.CHROME)?\x22Chrome\x22:(cljs.core.truth_(goog.userAgent.IE)?\x22MSIE\x22:(cljs.core.truth_(goog.userAgent.EDGE)?\x22Edge\x22:(cljs.core.truth_(goog.userAgent.GECKO)?\x22Firefox\x22:(cljs.core.truth_(goog.userAgent.SAFARI)?\x22Safari\x22:(cljs.core.truth_(goog.userAgent.WEBKIT)?\x22Webkit\x22:null))))))),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.VERSION),\x22 [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(goog.userAgent.PLATFORM),\x22]\x22].join(\x27\x27),new cljs.core.Keyword(null,\x22dom\x22,\x22dom\x22,-1236537922),(!((goog.global.document \x3d\x3d null)))], null)], 0));\nif((typeof shadow !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof shadow.cljs.devtools.client.browser.ws_was_welcome_ref !\x3d\x3d \x27undefined\x27)){\n} else {\nshadow.cljs.devtools.client.browser.ws_was_welcome_ref \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(false);\n}\nif(((shadow.cljs.devtools.client.env.enabled) \x26\x26 ((shadow.cljs.devtools.client.env.worker_client_id \x3e (0))))){\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$remote$runtime$api$IEvalJS$_js_eval$arity$4 \x3d (function (this$,code,success,fail){\nvar this$__$1 \x3d this;\ntry{var G__40449 \x3d shadow.cljs.devtools.client.browser.global_eval(code);\nreturn (success.cljs$core$IFn$_invoke$arity$1 ? success.cljs$core$IFn$_invoke$arity$1(G__40449) : success.call(null,G__40449));\n}catch (e40448){var e \x3d e40448;\nreturn (fail.cljs$core$IFn$_invoke$arity$1 ? fail.cljs$core$IFn$_invoke$arity$1(e) : fail.call(null,e));\n}}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_invoke$arity$5 \x3d (function (this$,ns,p__40450,success,fail){\nvar map__40451 \x3d p__40450;\nvar map__40451__$1 \x3d cljs.core.__destructure_map(map__40451);\nvar js \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40451__$1,new cljs.core.Keyword(null,\x22js\x22,\x22js\x22,1768080579));\nvar this$__$1 \x3d this;\ntry{var G__40453 \x3d shadow.cljs.devtools.client.browser.global_eval(js);\nreturn (success.cljs$core$IFn$_invoke$arity$1 ? success.cljs$core$IFn$_invoke$arity$1(G__40453) : success.call(null,G__40453));\n}catch (e40452){var e \x3d e40452;\nreturn (fail.cljs$core$IFn$_invoke$arity$1 ? fail.cljs$core$IFn$_invoke$arity$1(e) : fail.call(null,e));\n}}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_init$arity$4 \x3d (function (runtime,p__40454,done,error){\nvar map__40455 \x3d p__40454;\nvar map__40455__$1 \x3d cljs.core.__destructure_map(map__40455);\nvar repl_sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40455__$1,new cljs.core.Keyword(null,\x22repl-sources\x22,\x22repl-sources\x22,723867535));\nvar runtime__$1 \x3d this;\nreturn shadow.cljs.devtools.client.shared.load_sources(runtime__$1,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2(shadow.cljs.devtools.client.env.src_is_loaded_QMARK_,repl_sources)),(function (sources){\nshadow.cljs.devtools.client.browser.do_js_load(sources);\n\nreturn (done.cljs$core$IFn$_invoke$arity$0 ? done.cljs$core$IFn$_invoke$arity$0() : done.call(null));\n}));\n}));\n\n(shadow.cljs.devtools.client.shared.Runtime.prototype.shadow$cljs$devtools$client$shared$IHostSpecific$do_repl_require$arity$4 \x3d (function (runtime,p__40458,done,error){\nvar map__40459 \x3d p__40458;\nvar map__40459__$1 \x3d cljs.core.__destructure_map(map__40459);\nvar msg \x3d map__40459__$1;\nvar sources \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40459__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\nvar reload_namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40459__$1,new cljs.core.Keyword(null,\x22reload-namespaces\x22,\x22reload-namespaces\x22,250210134));\nvar js_requires \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40459__$1,new cljs.core.Keyword(null,\x22js-requires\x22,\x22js-requires\x22,-1311472051));\nvar runtime__$1 \x3d this;\nvar sources_to_load \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__40460){\nvar map__40464 \x3d p__40460;\nvar map__40464__$1 \x3d cljs.core.__destructure_map(map__40464);\nvar src \x3d map__40464__$1;\nvar provides \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40464__$1,new cljs.core.Keyword(null,\x22provides\x22,\x22provides\x22,-1634397992));\nvar and__5023__auto__ \x3d shadow.cljs.devtools.client.env.src_is_loaded_QMARK_(src);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not(cljs.core.some(reload_namespaces,provides));\n} else {\nreturn and__5023__auto__;\n}\n}),sources));\nif(cljs.core.not(cljs.core.seq(sources_to_load))){\nvar G__40466 \x3d cljs.core.PersistentVector.EMPTY;\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(G__40466) : done.call(null,G__40466));\n} else {\nreturn shadow.remote.runtime.shared.call.cljs$core$IFn$_invoke$arity$3(runtime__$1,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22op\x22,\x22op\x22,-1882987955),new cljs.core.Keyword(null,\x22cljs-load-sources\x22,\x22cljs-load-sources\x22,-1458295962),new cljs.core.Keyword(null,\x22to\x22,\x22to\x22,192099007),shadow.cljs.devtools.client.env.worker_client_id,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424),cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22resource-id\x22,\x22resource-id\x22,-1308422582)),sources_to_load)], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs-sources\x22,\x22cljs-sources\x22,31121610),(function (p__40467){\nvar map__40468 \x3d p__40467;\nvar map__40468__$1 \x3d cljs.core.__destructure_map(map__40468);\nvar msg__$1 \x3d map__40468__$1;\nvar sources__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40468__$1,new cljs.core.Keyword(null,\x22sources\x22,\x22sources\x22,-321166424));\ntry{shadow.cljs.devtools.client.browser.do_js_load(sources__$1);\n\nif(cljs.core.seq(js_requires)){\nshadow.cljs.devtools.client.browser.do_js_requires(js_requires);\n} else {\n}\n\nreturn (done.cljs$core$IFn$_invoke$arity$1 ? done.cljs$core$IFn$_invoke$arity$1(sources_to_load) : done.call(null,sources_to_load));\n}catch (e40469){var ex \x3d e40469;\nreturn (error.cljs$core$IFn$_invoke$arity$1 ? error.cljs$core$IFn$_invoke$arity$1(ex) : error.call(null,ex));\n}})], null));\n}\n}));\n\nshadow.cljs.devtools.client.shared.add_plugin_BANG_(new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),cljs.core.PersistentHashSet.EMPTY,(function (p__40470){\nvar map__40471 \x3d p__40470;\nvar map__40471__$1 \x3d cljs.core.__destructure_map(map__40471);\nvar env \x3d map__40471__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40471__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nvar svc \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996),runtime], null);\nshadow.remote.runtime.api.add_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22on-welcome\x22,\x22on-welcome\x22,1895317125),(function (){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,true);\n\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.env.patch_goog_BANG_();\n\nreturn shadow.cljs.devtools.client.browser.devtools_msg([\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22state-ref\x22,\x22state-ref\x22,2127874952).cljs$core$IFn$_invoke$arity$1(runtime)))),\x22 ready!\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22on-disconnect\x22,\x22on-disconnect\x22,-809021814),(function (e){\nif(cljs.core.truth_(cljs.core.deref(shadow.cljs.devtools.client.browser.ws_was_welcome_ref))){\nshadow.cljs.devtools.client.hud.connection_error(\x22The Websocket connection was closed!\x22);\n\nreturn cljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22on-reconnect\x22,\x22on-reconnect\x22,1239988702),(function (e){\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22Reconnecting ...\x22);\n}),new cljs.core.Keyword(null,\x22ops\x22,\x22ops\x22,1237330063),new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22access-denied\x22,\x22access-denied\x22,959449406),(function (msg){\ncljs.core.reset_BANG_(shadow.cljs.devtools.client.browser.ws_was_welcome_ref,false);\n\nreturn shadow.cljs.devtools.client.hud.connection_error([\x22Stale Output! Your loaded JS was not produced by the running shadow-cljs instance.\x22,\x22 Is the watch for this build running?\x22].join(\x27\x27));\n}),new cljs.core.Keyword(null,\x22cljs-asset-update\x22,\x22cljs-asset-update\x22,1224093028),(function (msg){\nreturn shadow.cljs.devtools.client.browser.handle_asset_update(msg);\n}),new cljs.core.Keyword(null,\x22cljs-build-configure\x22,\x22cljs-build-configure\x22,-2089891268),(function (msg){\nreturn null;\n}),new cljs.core.Keyword(null,\x22cljs-build-start\x22,\x22cljs-build-start\x22,-725781241),(function (msg){\nshadow.cljs.devtools.client.hud.hud_hide();\n\nshadow.cljs.devtools.client.hud.load_start();\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-start\x22,\x22build-start\x22,-959649480)));\n}),new cljs.core.Keyword(null,\x22cljs-build-complete\x22,\x22cljs-build-complete\x22,273626153),(function (msg){\nvar msg__$1 \x3d shadow.cljs.devtools.client.env.add_warnings_to_info(msg);\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nshadow.cljs.devtools.client.hud.hud_warnings(msg__$1);\n\nshadow.cljs.devtools.client.browser.handle_build_complete(runtime,msg__$1);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg__$1,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-complete\x22,\x22build-complete\x22,-501868472)));\n}),new cljs.core.Keyword(null,\x22cljs-build-failure\x22,\x22cljs-build-failure\x22,1718154990),(function (msg){\nshadow.cljs.devtools.client.hud.load_end();\n\nshadow.cljs.devtools.client.hud.hud_error(msg);\n\nreturn shadow.cljs.devtools.client.env.run_custom_notify_BANG_(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(msg,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22build-failure\x22,\x22build-failure\x22,-2107487466)));\n}),new cljs.core.Keyword(\x22shadow.cljs.devtools.client.env\x22,\x22worker-notify\x22,\x22shadow.cljs.devtools.client.env/worker-notify\x22,-1456820670),(function (p__40476){\nvar map__40477 \x3d p__40476;\nvar map__40477__$1 \x3d cljs.core.__destructure_map(map__40477);\nvar event_op \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40477__$1,new cljs.core.Keyword(null,\x22event-op\x22,\x22event-op\x22,200358057));\nvar client_id \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40477__$1,new cljs.core.Keyword(null,\x22client-id\x22,\x22client-id\x22,-464622140));\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-disconnect\x22,\x22client-disconnect\x22,640227957),event_op)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(client_id,shadow.cljs.devtools.client.env.worker_client_id)))){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was stopped!\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22client-connect\x22,\x22client-connect\x22,-1113973888),event_op)){\nshadow.cljs.devtools.client.hud.connection_error_clear_BANG_();\n\nreturn shadow.cljs.devtools.client.hud.connection_error(\x22The watch for this build was restarted. Reload required!\x22);\n} else {\nreturn null;\n}\n}\n})], null)], null));\n\nreturn svc;\n}),(function (p__40479){\nvar map__40480 \x3d p__40479;\nvar map__40480__$1 \x3d cljs.core.__destructure_map(map__40480);\nvar svc \x3d map__40480__$1;\nvar runtime \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40480__$1,new cljs.core.Keyword(null,\x22runtime\x22,\x22runtime\x22,-1331573996));\nreturn shadow.remote.runtime.api.del_extension(runtime,new cljs.core.Keyword(\x22shadow.cljs.devtools.client.browser\x22,\x22client\x22,\x22shadow.cljs.devtools.client.browser/client\x22,-1461019282));\n}));\n\nshadow.cljs.devtools.client.shared.init_runtime_BANG_(shadow.cljs.devtools.client.browser.client_info,shadow.cljs.devtools.client.websocket.start,shadow.cljs.devtools.client.websocket.send,shadow.cljs.devtools.client.websocket.stop);\n} else {\n}\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.utils.js", true, "goog.provide(\x27cljs.tools.reader.impl.utils\x27);\ncljs.tools.reader.impl.utils.char$ \x3d (function cljs$tools$reader$impl$utils$char(x){\nif((x \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.char$(x);\n}\n});\ncljs.tools.reader.impl.utils.ex_info_QMARK_ \x3d (function cljs$tools$reader$impl$utils$ex_info_QMARK_(ex){\nreturn (ex instanceof cljs.core.ExceptionInfo);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\ncljs.tools.reader.impl.utils.ReaderConditional \x3d (function (splicing_QMARK_,form,__meta,__extmap,__hash){\nthis.splicing_QMARK_ \x3d splicing_QMARK_;\nthis.form \x3d form;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k38639,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__38653 \x3d k38639;\nvar G__38653__$1 \x3d (((G__38653 instanceof cljs.core.Keyword))?G__38653.fqn:null);\nswitch (G__38653__$1) {\ncase \x22splicing?\x22:\nreturn self__.splicing_QMARK_;\n\nbreak;\ncase \x22form\x22:\nreturn self__.form;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k38639,else__5326__auto__);\n\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__38663){\nvar vec__38669 \x3d p__38663;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38669,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38669,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#cljs.tools.reader.impl.utils.ReaderConditional{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),self__.splicing_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),self__.form],null))], null),self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__38638){\nvar self__ \x3d this;\nvar G__38638__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__38638__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-209062840 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this38643,other38644){\nvar self__ \x3d this;\nvar this38643__$1 \x3d this;\nreturn (((!((other38644 \x3d\x3d null)))) \x26\x26 ((((this38643__$1.constructor \x3d\x3d\x3d other38644.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38643__$1.splicing_QMARK_,other38644.splicing_QMARK_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38643__$1.form,other38644.form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this38643__$1.__extmap,other38644.__extmap)))))))));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),null,new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k38639){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__38744 \x3d k38639;\nvar G__38744__$1 \x3d (((G__38744 instanceof cljs.core.Keyword))?G__38744.fqn:null);\nswitch (G__38744__$1) {\ncase \x22splicing?\x22:\ncase \x22form\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k38639);\n\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__38638){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__38749 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__38750 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__38749.cljs$core$IFn$_invoke$arity$2 ? pred__38749.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),expr__38750) : pred__38749.call(null,new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),expr__38750)))){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(G__38638,self__.form,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__38749.cljs$core$IFn$_invoke$arity$2 ? pred__38749.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),expr__38750) : pred__38749.call(null,new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),expr__38750)))){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,G__38638,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__38638),null));\n}\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),self__.splicing_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471),self__.form,null))], null),self__.__extmap));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__38638){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(self__.splicing_QMARK_,self__.form,G__38638,self__.__extmap,self__.__hash));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22splicing?\x22,\x22splicing?\x22,1211935161,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22cljs.tools.reader.impl.utils/ReaderConditional\x22,null,(1),null));\n}));\n\n(cljs.tools.reader.impl.utils.ReaderConditional.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22cljs.tools.reader.impl.utils/ReaderConditional\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.impl.utils/ReaderConditional.\n */\ncljs.tools.reader.impl.utils.__GT_ReaderConditional \x3d (function cljs$tools$reader$impl$utils$__GT_ReaderConditional(splicing_QMARK_,form){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));\n});\n\n/**\n * Factory function for cljs.tools.reader.impl.utils/ReaderConditional, taking a map of keywords to field values.\n */\ncljs.tools.reader.impl.utils.map__GT_ReaderConditional \x3d (function cljs$tools$reader$impl$utils$map__GT_ReaderConditional(G__38646){\nvar extmap__5365__auto__ \x3d (function (){var G__38823 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__38646,new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471)], 0));\nif(cljs.core.record_QMARK_(G__38646)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__38823);\n} else {\nreturn G__38823;\n}\n})();\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(new cljs.core.Keyword(null,\x22splicing?\x22,\x22splicing?\x22,-428596366).cljs$core$IFn$_invoke$arity$1(G__38646),new cljs.core.Keyword(null,\x22form\x22,\x22form\x22,-1624062471).cljs$core$IFn$_invoke$arity$1(G__38646),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\n/**\n * Return true if the value is the data representation of a reader conditional\n */\ncljs.tools.reader.impl.utils.reader_conditional_QMARK_ \x3d (function cljs$tools$reader$impl$utils$reader_conditional_QMARK_(value){\nreturn (value instanceof cljs.tools.reader.impl.utils.ReaderConditional);\n});\n/**\n * Construct a data representation of a reader conditional.\n * If true, splicing? indicates read-cond-splicing.\n */\ncljs.tools.reader.impl.utils.reader_conditional \x3d (function cljs$tools$reader$impl$utils$reader_conditional(form,splicing_QMARK_){\nreturn (new cljs.tools.reader.impl.utils.ReaderConditional(splicing_QMARK_,form,null,null,null));\n});\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.impl.utils.ReaderConditional.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (coll,writer,opts){\nvar coll__$1 \x3d this;\ncljs.core._write(writer,[\x22#?\x22,(cljs.core.truth_(coll__$1.splicing_QMARK_)?\x22@\x22:null)].join(\x27\x27));\n\nreturn cljs.core.pr_writer(coll__$1.form,writer,opts);\n}));\ncljs.tools.reader.impl.utils.ws_rx \x3d /[\\s]/;\n/**\n * Checks whether a given character is whitespace\n */\ncljs.tools.reader.impl.utils.whitespace_QMARK_ \x3d (function cljs$tools$reader$impl$utils$whitespace_QMARK_(ch){\nif((ch \x3d\x3d null)){\nreturn null;\n} else {\nif((ch \x3d\x3d\x3d \x22,\x22)){\nreturn true;\n} else {\nreturn cljs.tools.reader.impl.utils.ws_rx.test(ch);\n}\n}\n});\n/**\n * Checks whether a given character is numeric\n */\ncljs.tools.reader.impl.utils.numeric_QMARK_ \x3d (function cljs$tools$reader$impl$utils$numeric_QMARK_(ch){\nif((ch \x3d\x3d null)){\nreturn null;\n} else {\nreturn goog.string.isNumeric(ch);\n}\n});\n/**\n * Checks whether the character is a newline\n */\ncljs.tools.reader.impl.utils.newline_QMARK_ \x3d (function cljs$tools$reader$impl$utils$newline_QMARK_(c){\nreturn (((\x22\\n\x22 \x3d\x3d\x3d c)) || ((((\x22\\n\x22 \x3d\x3d\x3d c)) || ((c \x3d\x3d null)))));\n});\n/**\n * Resolves syntactical sugar in metadata\n */\ncljs.tools.reader.impl.utils.desugar_meta \x3d (function cljs$tools$reader$impl$utils$desugar_meta(f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(cljs.core.vector_QMARK_(f)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169),f], null);\n} else {\nreturn f;\n\n}\n}\n}\n}\n});\ncljs.tools.reader.impl.utils.last_id \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\ncljs.tools.reader.impl.utils.next_id \x3d (function cljs$tools$reader$impl$utils$next_id(){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.utils.last_id,cljs.core.inc);\n});\ncljs.tools.reader.impl.utils.namespace_keys \x3d (function cljs$tools$reader$impl$utils$namespace_keys(ns,keys){\nvar iter__5503__auto__ \x3d (function cljs$tools$reader$impl$utils$namespace_keys_$_iter__38884(s__38885){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__38885__$1 \x3d s__38885;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__38885__$1);\nif(temp__5823__auto__){\nvar s__38885__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__38885__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__38885__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__38887 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__38886 \x3d (0);\nwhile(true){\nif((i__38886 \x3c size__5502__auto__)){\nvar key \x3d cljs.core._nth(c__5501__auto__,i__38886);\ncljs.core.chunk_append(b__38887,(((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__38889 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name)(key);\nvar key_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38889,(0),null);\nvar key_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38889,(1),null);\nvar __GT_key \x3d (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);\nif((key_ns \x3d\x3d null)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,key_ns)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name));\n} else {\nreturn key;\n\n}\n}\n})():key));\n\nvar G__38928 \x3d (i__38886 + (1));\ni__38886 \x3d G__38928;\ncontinue;\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38887),cljs$tools$reader$impl$utils$namespace_keys_$_iter__38884(cljs.core.chunk_rest(s__38885__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__38887),null);\n}\n} else {\nvar key \x3d cljs.core.first(s__38885__$2);\nreturn cljs.core.cons((((((key instanceof cljs.core.Symbol)) || ((key instanceof cljs.core.Keyword))))?(function (){var vec__38895 \x3d cljs.core.juxt.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace,cljs.core.name)(key);\nvar key_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38895,(0),null);\nvar key_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38895,(1),null);\nvar __GT_key \x3d (((key instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.keyword);\nif((key_ns \x3d\x3d null)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$2 ? __GT_key.cljs$core$IFn$_invoke$arity$2(ns,key_name) : __GT_key.call(null,ns,key_name));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,key_ns)){\nreturn (__GT_key.cljs$core$IFn$_invoke$arity$1 ? __GT_key.cljs$core$IFn$_invoke$arity$1(key_name) : __GT_key.call(null,key_name));\n} else {\nreturn key;\n\n}\n}\n})():key),cljs$tools$reader$impl$utils$namespace_keys_$_iter__38884(cljs.core.rest(s__38885__$2)));\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(keys);\n});\ncljs.tools.reader.impl.utils.second_SINGLEQUOTE_ \x3d (function cljs$tools$reader$impl$utils$second_SINGLEQUOTE_(p__38905){\nvar vec__38906 \x3d p__38905;\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38906,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__38906,(1),null);\nif(cljs.core.truth_(a)){\nreturn null;\n} else {\nreturn b;\n}\n});\ncljs.tools.reader.impl.utils.char_code \x3d (function cljs$tools$reader$impl$utils$char_code(ch,base){\nvar code \x3d parseInt(ch,base);\nif(cljs.core.truth_(isNaN(code))){\nreturn (-1);\n} else {\nreturn code;\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.reader_types.js", true, "goog.provide(\x27cljs.tools.reader.reader_types\x27);\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.Reader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$Reader$read_char$dyn_39063 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.read_char[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.read_char[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22Reader.read-char\x22,reader);\n}\n}\n});\n/**\n * Returns the next char from the Reader, nil if the end of stream has been reached\n */\ncljs.tools.reader.reader_types.read_char \x3d (function cljs$tools$reader$reader_types$read_char(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$Reader$read_char$dyn_39063(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$Reader$peek_char$dyn_39064 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.peek_char[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.peek_char[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22Reader.peek-char\x22,reader);\n}\n}\n});\n/**\n * Returns the next char from the Reader without removing it from the reader stream\n */\ncljs.tools.reader.reader_types.peek_char \x3d (function cljs$tools$reader$reader_types$peek_char(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$Reader$peek_char$dyn_39064(reader);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.IPushbackReader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$IPushbackReader$unread$dyn_39069 \x3d (function (reader,ch){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.unread[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(reader,ch) : m__5374__auto__.call(null,reader,ch));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.unread[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(reader,ch) : m__5372__auto__.call(null,reader,ch));\n} else {\nthrow cljs.core.missing_protocol(\x22IPushbackReader.unread\x22,reader);\n}\n}\n});\n/**\n * Pushes back a single character on to the stream\n */\ncljs.tools.reader.reader_types.unread \x3d (function cljs$tools$reader$reader_types$unread(reader,ch){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(reader,ch);\n} else {\nreturn cljs$tools$reader$reader_types$IPushbackReader$unread$dyn_39069(reader,ch);\n}\n});\n\n\n/**\n * @interface\n */\ncljs.tools.reader.reader_types.IndexingReader \x3d function(){};\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_line_number$dyn_39070 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.get_line_number[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.get_line_number[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-line-number\x22,reader);\n}\n}\n});\n/**\n * Returns the line number of the next character to be read from the stream\n */\ncljs.tools.reader.reader_types.get_line_number \x3d (function cljs$tools$reader$reader_types$get_line_number(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_line_number$dyn_39070(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_column_number$dyn_39073 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.get_column_number[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.get_column_number[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-column-number\x22,reader);\n}\n}\n});\n/**\n * Returns the column number of the next character to be read from the stream\n */\ncljs.tools.reader.reader_types.get_column_number \x3d (function cljs$tools$reader$reader_types$get_column_number(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_column_number$dyn_39073(reader);\n}\n});\n\nvar cljs$tools$reader$reader_types$IndexingReader$get_file_name$dyn_39075 \x3d (function (reader){\nvar x__5373__auto__ \x3d (((reader \x3d\x3d null))?null:reader);\nvar m__5374__auto__ \x3d (cljs.tools.reader.reader_types.get_file_name[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5374__auto__.call(null,reader));\n} else {\nvar m__5372__auto__ \x3d (cljs.tools.reader.reader_types.get_file_name[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(reader) : m__5372__auto__.call(null,reader));\n} else {\nthrow cljs.core.missing_protocol(\x22IndexingReader.get-file-name\x22,reader);\n}\n}\n});\n/**\n * Returns the file name the reader is reading from, or nil\n */\ncljs.tools.reader.reader_types.get_file_name \x3d (function cljs$tools$reader$reader_types$get_file_name(reader){\nif((((!((reader \x3d\x3d null)))) \x26\x26 ((!((reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d\x3d null)))))){\nreturn reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(reader);\n} else {\nreturn cljs$tools$reader$reader_types$IndexingReader$get_file_name$dyn_39075(reader);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n*/\ncljs.tools.reader.reader_types.StringReader \x3d (function (s,s_len,s_pos){\nthis.s \x3d s;\nthis.s_len \x3d s_len;\nthis.s_pos \x3d s_pos;\n});\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif((self__.s_len \x3e self__.s_pos)){\nvar r \x3d self__.s.charAt(self__.s_pos);\n(self__.s_pos \x3d (self__.s_pos + (1)));\n\nreturn r;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.StringReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif((self__.s_len \x3e self__.s_pos)){\nreturn self__.s.charAt(self__.s_pos);\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.StringReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null),new cljs.core.Symbol(null,\x22s-len\x22,\x22s-len\x22,1869978331,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22s-pos\x22,\x22s-pos\x22,-540562492,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/StringReader\x22);\n\n(cljs.tools.reader.reader_types.StringReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/StringReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/StringReader.\n */\ncljs.tools.reader.reader_types.__GT_StringReader \x3d (function cljs$tools$reader$reader_types$__GT_StringReader(s,s_len,s_pos){\nreturn (new cljs.tools.reader.reader_types.StringReader(s,s_len,s_pos));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n*/\ncljs.tools.reader.reader_types.NodeReadableReader \x3d (function (readable,buf){\nthis.readable \x3d readable;\nthis.buf \x3d buf;\n});\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.buf)){\nvar c \x3d (self__.buf[(0)]);\n(self__.buf \x3d null);\n\nreturn cljs.tools.reader.impl.utils.char$(c);\n} else {\nvar c \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1)));\nif(cljs.core.truth_(c)){\nreturn cljs.tools.reader.impl.utils.char$(c);\n} else {\nreturn null;\n}\n}\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.buf)){\n} else {\n(self__.buf \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.readable.read((1))));\n}\n\nif(cljs.core.truth_(self__.buf)){\nreturn cljs.tools.reader.impl.utils.char$((self__.buf[(0)]));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22readable\x22,\x22readable\x22,2113054478,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/NodeReadableReader\x22);\n\n(cljs.tools.reader.reader_types.NodeReadableReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/NodeReadableReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/NodeReadableReader.\n */\ncljs.tools.reader.reader_types.__GT_NodeReadableReader \x3d (function cljs$tools$reader$reader_types$__GT_NodeReadableReader(readable,buf){\nreturn (new cljs.tools.reader.reader_types.NodeReadableReader(readable,buf));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.PushbackReader \x3d (function (rdr,buf,buf_len,buf_pos){\nthis.rdr \x3d rdr;\nthis.buf \x3d buf;\nthis.buf_len \x3d buf_len;\nthis.buf_pos \x3d buf_pos;\n});\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar c \x3d (((self__.buf_pos \x3c self__.buf_len))?(self__.buf[self__.buf_pos]):self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null));\nif((self__.buf_pos \x3c self__.buf_len)){\n(self__.buf_pos \x3d (self__.buf_pos + (1)));\n} else {\n}\n\nreturn cljs.tools.reader.impl.utils.char$(c);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar c \x3d (((self__.buf_pos \x3c self__.buf_len))?(self__.buf[self__.buf_pos]):self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null));\nreturn cljs.tools.reader.impl.utils.char$(c);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.PushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(ch)){\nif((self__.buf_pos \x3d\x3d\x3d (0))){\nthrow (new Error(\x22Pushback buffer is full\x22));\n} else {\n}\n\n(self__.buf_pos \x3d (self__.buf_pos - (1)));\n\nreturn (self__.buf[self__.buf_pos] \x3d ch);\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22buf\x22,\x22buf\x22,1426618187,null),new cljs.core.Symbol(null,\x22buf-len\x22,\x22buf-len\x22,404510846,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22buf-pos\x22,\x22buf-pos\x22,-807229033,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/PushbackReader\x22);\n\n(cljs.tools.reader.reader_types.PushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/PushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/PushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_PushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_PushbackReader(rdr,buf,buf_len,buf_pos){\nreturn (new cljs.tools.reader.reader_types.PushbackReader(rdr,buf,buf_len,buf_pos));\n});\n\ncljs.tools.reader.reader_types.normalize_newline \x3d (function cljs$tools$reader$reader_types$normalize_newline(rdr,ch){\nif((\x22\\r\x22 \x3d\x3d\x3d ch)){\nvar c \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif((((\x22\\f\x22 \x3d\x3d\x3d c)) || ((\x22\\n\x22 \x3d\x3d\x3d c)))){\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n} else {\n}\n\nreturn \x22\\n\x22;\n} else {\nreturn ch;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.IndexingReader}\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.IndexingPushbackReader \x3d (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){\nthis.rdr \x3d rdr;\nthis.line \x3d line;\nthis.column \x3d column;\nthis.line_start_QMARK_ \x3d line_start_QMARK_;\nthis.prev \x3d prev;\nthis.prev_column \x3d prev_column;\nthis.file_name \x3d file_name;\n});\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar temp__5823__auto__ \x3d self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ch \x3d temp__5823__auto__;\nvar ch__$1 \x3d cljs.tools.reader.reader_types.normalize_newline(self__.rdr,ch);\n(self__.prev \x3d self__.line_start_QMARK_);\n\n(self__.line_start_QMARK_ \x3d cljs.tools.reader.impl.utils.newline_QMARK_(ch__$1));\n\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.prev_column \x3d self__.column);\n\n(self__.column \x3d (0));\n\n(self__.line \x3d (self__.line + (1)));\n} else {\n}\n\n(self__.column \x3d (self__.column + (1)));\n\nreturn ch__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.line \x3d (self__.line - (1)));\n\n(self__.column \x3d self__.prev_column);\n} else {\n(self__.column \x3d (self__.column - (1)));\n}\n\n(self__.line_start_QMARK_ \x3d self__.prev);\n\nreturn self__.rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.line | (0));\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.column | (0));\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.file_name;\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 7, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line\x22,\x22line\x22,1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22column\x22,\x22column\x22,-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line-start?\x22,\x22line-start?\x22,1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev-column\x22,\x22prev-column\x22,324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22file-name\x22,\x22file-name\x22,-13685732,null)], null);\n}));\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/IndexingPushbackReader\x22);\n\n(cljs.tools.reader.reader_types.IndexingPushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/IndexingPushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/IndexingPushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_IndexingPushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name){\nreturn (new cljs.tools.reader.reader_types.IndexingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name));\n});\n\n/**\n * Returns an object of the same type and value as `obj`, with its\n * metadata merged over `m`.\n */\ncljs.tools.reader.reader_types.merge_meta \x3d (function cljs$tools$reader$reader_types$merge_meta(obj,m){\nvar orig_meta \x3d cljs.core.meta(obj);\nreturn cljs.core.with_meta(obj,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(orig_meta,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539))], 0)));\n});\n/**\n * Returns a string containing the contents of the top most source\n * logging frame.\n */\ncljs.tools.reader.reader_types.peek_source_log \x3d (function cljs$tools$reader$reader_types$peek_source_log(frames){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames)),cljs.core.first(new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311).cljs$core$IFn$_invoke$arity$1(frames)));\n});\n/**\n * Logs `char` to all currently active source logging frames.\n */\ncljs.tools.reader.reader_types.log_source_char \x3d (function cljs$tools$reader$reader_types$log_source_char(frames,char$){\nvar temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar buffer \x3d temp__5823__auto__;\nreturn buffer.append(char$);\n} else {\nreturn null;\n}\n});\n/**\n * Removes the last logged character from all currently active source\n * logging frames. Called when pushing a character back.\n */\ncljs.tools.reader.reader_types.drop_last_logged_char \x3d (function cljs$tools$reader$reader_types$drop_last_logged_char(frames){\nvar temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(frames);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar buffer \x3d temp__5823__auto__;\nreturn buffer.set(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.str.cljs$core$IFn$_invoke$arity$1(buffer),(0),(buffer.getLength() - (1))));\n} else {\nreturn null;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.tools.reader.reader_types.IndexingReader}\n * @implements {cljs.tools.reader.reader_types.Reader}\n * @implements {cljs.tools.reader.reader_types.IPushbackReader}\n*/\ncljs.tools.reader.reader_types.SourceLoggingPushbackReader \x3d (function (rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){\nthis.rdr \x3d rdr;\nthis.line \x3d line;\nthis.column \x3d column;\nthis.line_start_QMARK_ \x3d line_start_QMARK_;\nthis.prev \x3d prev;\nthis.prev_column \x3d prev_column;\nthis.file_name \x3d file_name;\nthis.frames \x3d frames;\n});\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$read_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nvar temp__5823__auto__ \x3d self__.rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ch \x3d temp__5823__auto__;\nvar ch__$1 \x3d cljs.tools.reader.reader_types.normalize_newline(self__.rdr,ch);\n(self__.prev \x3d self__.line_start_QMARK_);\n\n(self__.line_start_QMARK_ \x3d cljs.tools.reader.impl.utils.newline_QMARK_(ch__$1));\n\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.prev_column \x3d self__.column);\n\n(self__.column \x3d (0));\n\n(self__.line \x3d (self__.line + (1)));\n} else {\n}\n\n(self__.column \x3d (self__.column + (1)));\n\ncljs.tools.reader.reader_types.log_source_char(cljs.core.deref(self__.frames),ch__$1);\n\nreturn ch__$1;\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$Reader$peek_char$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2 \x3d (function (reader,ch){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nif(cljs.core.truth_(self__.line_start_QMARK_)){\n(self__.line \x3d (self__.line - (1)));\n\n(self__.column \x3d self__.prev_column);\n} else {\n(self__.column \x3d (self__.column - (1)));\n}\n\n(self__.line_start_QMARK_ \x3d self__.prev);\n\nif(cljs.core.truth_(ch)){\ncljs.tools.reader.reader_types.drop_last_logged_char(cljs.core.deref(self__.frames));\n} else {\n}\n\nreturn self__.rdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.line | (0));\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn (self__.column | (0));\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.prototype.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1 \x3d (function (reader){\nvar self__ \x3d this;\nvar reader__$1 \x3d this;\nreturn self__.file_name;\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line\x22,\x22line\x22,1852876762,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22column\x22,\x22column\x22,-576213674,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22line-start?\x22,\x22line-start?\x22,1357012474,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22prev-column\x22,\x22prev-column\x22,324083974,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22file-name\x22,\x22file-name\x22,-13685732,null),new cljs.core.Symbol(null,\x22frames\x22,\x22frames\x22,-888748272,null)], null);\n}));\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$type \x3d true);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorStr \x3d \x22cljs.tools.reader.reader-types/SourceLoggingPushbackReader\x22);\n\n(cljs.tools.reader.reader_types.SourceLoggingPushbackReader.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tools.reader.reader-types/SourceLoggingPushbackReader\x22);\n}));\n\n/**\n * Positional factory function for cljs.tools.reader.reader-types/SourceLoggingPushbackReader.\n */\ncljs.tools.reader.reader_types.__GT_SourceLoggingPushbackReader \x3d (function cljs$tools$reader$reader_types$__GT_SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames){\nreturn (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(rdr,line,column,line_start_QMARK_,prev,prev_column,file_name,frames));\n});\n\n/**\n * Returns true if the reader satisfies IndexingReader\n */\ncljs.tools.reader.reader_types.indexing_reader_QMARK_ \x3d (function cljs$tools$reader$reader_types$indexing_reader_QMARK_(rdr){\nif((!((rdr \x3d\x3d null)))){\nif(((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d rdr.cljs$tools$reader$reader_types$IndexingReader$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n});\n/**\n * Creates a StringReader from a given string\n */\ncljs.tools.reader.reader_types.string_reader \x3d (function cljs$tools$reader$reader_types$string_reader(s){\nreturn (new cljs.tools.reader.reader_types.StringReader(s,cljs.core.count(s),(0)));\n});\n/**\n * Creates a PushbackReader from a given string\n */\ncljs.tools.reader.reader_types.string_push_back_reader \x3d (function cljs$tools$reader$reader_types$string_push_back_reader(var_args){\nvar G__39041 \x3d arguments.length;\nswitch (G__39041) {\ncase 1:\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s,(1));\n}));\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,buf_len){\nreturn (new cljs.tools.reader.reader_types.PushbackReader(cljs.tools.reader.reader_types.string_reader(s),cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\n}));\n\n(cljs.tools.reader.reader_types.string_push_back_reader.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.tools.reader.reader_types.node_readable_push_back_reader \x3d (function cljs$tools$reader$reader_types$node_readable_push_back_reader(readable){\nreturn (new cljs.tools.reader.reader_types.PushbackReader((new cljs.tools.reader.reader_types.NodeReadableReader(readable,null)),cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((1)),(1),(1)));\n});\n/**\n * Creates an IndexingPushbackReader from a given string or PushbackReader\n */\ncljs.tools.reader.reader_types.indexing_push_back_reader \x3d (function cljs$tools$reader$reader_types$indexing_push_back_reader(var_args){\nvar G__39043 \x3d arguments.length;\nswitch (G__39043) {\ncase 1:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s_or_rdr){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,(1));\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s_or_rdr,buf_len){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3(s_or_rdr,buf_len,null);\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (s_or_rdr,buf_len,file_name){\nreturn (new cljs.tools.reader.reader_types.IndexingPushbackReader(((typeof s_or_rdr \x3d\x3d\x3d \x27string\x27)?cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name));\n}));\n\n(cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates a SourceLoggingPushbackReader from a given string or PushbackReader\n */\ncljs.tools.reader.reader_types.source_logging_push_back_reader \x3d (function cljs$tools$reader$reader_types$source_logging_push_back_reader(var_args){\nvar G__39049 \x3d arguments.length;\nswitch (G__39049) {\ncase 1:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1 \x3d (function (s_or_rdr){\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,(1));\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$2 \x3d (function (s_or_rdr,buf_len){\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3(s_or_rdr,buf_len,null);\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (s_or_rdr,buf_len,file_name){\nreturn (new cljs.tools.reader.reader_types.SourceLoggingPushbackReader(((typeof s_or_rdr \x3d\x3d\x3d \x27string\x27)?cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$2(s_or_rdr,buf_len):s_or_rdr),(1),(1),true,null,(0),file_name,cljs.core.atom.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198),(new goog.string.StringBuffer()),new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311),cljs.core.list((0))], null))));\n}));\n\n(cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reads a line from the reader or from *in* if no reader is specified\n */\ncljs.tools.reader.reader_types.read_line \x3d (function cljs$tools$reader$reader_types$read_line(rdr){\nvar c \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar s \x3d (new goog.string.StringBuffer());\nwhile(true){\nif(cljs.tools.reader.impl.utils.newline_QMARK_(c)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(s);\n} else {\nvar G__39110 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__39111 \x3d s.append(c);\nc \x3d G__39110;\ns \x3d G__39111;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.reader_types.source_logging_reader_QMARK_ \x3d (function cljs$tools$reader$reader_types$source_logging_reader_QMARK_(rdr){\nreturn (rdr instanceof cljs.tools.reader.reader_types.SourceLoggingPushbackReader);\n});\n/**\n * Returns true if rdr is an IndexingReader and the current char starts a new line\n */\ncljs.tools.reader.reader_types.line_start_QMARK_ \x3d (function cljs$tools$reader$reader_types$line_start_QMARK_(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn ((1) \x3d\x3d\x3d rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.reader_types.log_source_STAR_ \x3d (function cljs$tools$reader$reader_types$log_source_STAR_(reader,f){\nvar buffer \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(reader.frames));\ntry{cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),cljs.core.conj,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([buffer.getLength()], 0));\n\nvar ret \x3d (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\nif((((!((ret \x3d\x3d null))))?(((((ret.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ret.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.tools.reader.reader_types.merge_meta(ret,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),cljs.tools.reader.reader_types.peek_source_log(cljs.core.deref(reader.frames))], null));\n} else {\nreturn ret;\n}\n}finally {cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(reader.frames,cljs.core.update_in,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22offset\x22,\x22offset\x22,296498311)], null),cljs.core.rest);\n}});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.inspect.js", true, "goog.provide(\x27cljs.tools.reader.impl.inspect\x27);\ncljs.tools.reader.impl.inspect.inspect_STAR__col \x3d (function cljs$tools$reader$impl$inspect$inspect_STAR__col(truncate,col,start,end){\nvar n \x3d cljs.core.count(col);\nvar l \x3d (cljs.core.truth_(truncate)?(0):(function (){var x__5113__auto__ \x3d (10);\nvar y__5114__auto__ \x3d n;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})());\nvar elements \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.impl.inspect.inspect_STAR_,true),cljs.core.take.cljs$core$IFn$_invoke$arity$2(l,col));\nvar content \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22 \x22,elements));\nvar suffix \x3d (((l \x3c n))?\x22...\x22:null);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(start),cljs.core.str.cljs$core$IFn$_invoke$arity$1(content),suffix,cljs.core.str.cljs$core$IFn$_invoke$arity$1(end)].join(\x27\x27);\n});\ncljs.tools.reader.impl.inspect.dispatch_inspect \x3d (function cljs$tools$reader$impl$inspect$dispatch_inspect(_,x){\nif((x \x3d\x3d null)){\nreturn new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501);\n} else {\nif(typeof x \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586);\n} else {\nif((x instanceof cljs.core.Keyword)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(typeof x \x3d\x3d\x3d \x27number\x27){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif((x instanceof cljs.core.Symbol)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(cljs.core.vector_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158);\n} else {\nif(cljs.core.list_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683);\n} else {\nif(cljs.core.map_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461);\n} else {\nif(cljs.core.set_QMARK_(x)){\nreturn new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,true)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,false)){\nreturn new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047);\n} else {\nreturn cljs.core.type(x);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl.inspect !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.impl.inspect.inspect_STAR_ !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.impl.inspect.inspect_STAR_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__39007 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__39007.cljs$core$IFn$_invoke$arity$0 ? fexpr__39007.cljs$core$IFn$_invoke$arity$0() : fexpr__39007.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22cljs.tools.reader.impl.inspect\x22,\x22inspect*\x22),cljs.tools.reader.impl.inspect.dispatch_inspect,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),(function (truncate,x){\nvar n \x3d (cljs.core.truth_(truncate)?(5):(20));\nvar suffix \x3d (((x.length \x3e n))?\x22...\\\x22\x22:\x22\\\x22\x22);\nreturn [\x22\\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x.substring((0),(function (){var x__5113__auto__ \x3d n;\nvar y__5114__auto__ \x3d x.length;\nreturn ((x__5113__auto__ \x3c y__5114__auto__) ? x__5113__auto__ : y__5114__auto__);\n})())),suffix].join(\x27\x27);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22strable\x22,\x22strable\x22,1877668047),(function (truncate,x){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(x);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.IndexedSeq,(function (truncate,x){\nreturn \x22\x3cindexed seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.PersistentArrayMapSeq,(function (truncate,x){\nreturn \x22\x3cmap seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.NodeSeq,(function (truncate,x){\nreturn \x22\x3cmap seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.Cons,(function (truncate,x){\nreturn \x22\x3ccons\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,cljs.core.LazySeq,(function (truncate,x){\nreturn \x22\x3clazy seq\x3e\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22nil\x22,\x22nil\x22,99600501),(function (_,___$1){\nreturn \x22nil\x22;\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22(\x22,\x22)\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),(function (truncate,m){\nvar len \x3d cljs.core.count(m);\nvar n_shown \x3d (cljs.core.truth_(truncate)?(0):len);\nvar contents \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n_shown,m));\nvar suffix \x3d (((len \x3e n_shown))?\x22...}\x22:\x22}\x22);\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,contents,\x22{\x22,suffix);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22#{\x22,\x22}\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),(function (truncate,col){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR__col(truncate,col,\x22[\x22,\x22]\x22);\n}));\ncljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (truncate,x){\nreturn cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.type(x)], 0));\n}));\n/**\n * Return a string description of the value supplied.\n * May be the a string version of the value itself (e.g. \x22true\x22)\n * or it may be a description (e.g. \x22an instance of Foo\x22).\n * If truncate is true then return a very terse version of\n * the inspection.\n */\ncljs.tools.reader.impl.inspect.inspect \x3d (function cljs$tools$reader$impl$inspect$inspect(var_args){\nvar G__39017 \x3d arguments.length;\nswitch (G__39017) {\ncase 1:\nreturn cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1 \x3d (function (x){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(false,x);\n}));\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$2 \x3d (function (truncate,x){\nreturn cljs.tools.reader.impl.inspect.inspect_STAR_.cljs$core$IFn$_invoke$arity$2(truncate,x);\n}));\n\n(cljs.tools.reader.impl.inspect.inspect.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.errors.js", true, "goog.provide(\x27cljs.tools.reader.impl.errors\x27);\ncljs.tools.reader.impl.errors.ex_details \x3d (function cljs$tools$reader$impl$errors$ex_details(rdr,ex_type){\nvar details \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22ex-kind\x22,\x22ex-kind\x22,1581199296),ex_type], null);\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(details,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(rdr),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(rdr),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),cljs.tools.reader.reader_types.get_column_number(rdr)], 0));\n} else {\nreturn details;\n}\n});\n/**\n * Throw an ex-info error.\n */\ncljs.tools.reader.impl.errors.throw_ex \x3d (function cljs$tools$reader$impl$errors$throw_ex(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39269 \x3d arguments.length;\nvar i__5750__auto___39270 \x3d (0);\nwhile(true){\nif((i__5750__auto___39270 \x3c len__5749__auto___39269)){\nargs__5755__auto__.push((arguments[i__5750__auto___39270]));\n\nvar G__39271 \x3d (i__5750__auto___39270 + (1));\ni__5750__auto___39270 \x3d G__39271;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,ex_type,msg){\nvar details \x3d cljs.tools.reader.impl.errors.ex_details(rdr,ex_type);\nvar file \x3d new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(details);\nvar line \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(details);\nvar col \x3d new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(details);\nvar msg1 \x3d (cljs.core.truth_(file)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(file),\x22 \x22].join(\x27\x27):null);\nvar msg2 \x3d (cljs.core.truth_(line)?[\x22[line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22, col \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27):null);\nvar msg3 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d msg1;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn msg2;\n}\n})())?\x22 \x22:null);\nvar full_msg \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg1,msg2,msg3,msg);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(full_msg,details);\n}));\n\n(cljs.tools.reader.impl.errors.throw_ex.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.throw_ex.cljs$lang$applyTo \x3d (function (seq39083){\nvar G__39084 \x3d cljs.core.first(seq39083);\nvar seq39083__$1 \x3d cljs.core.next(seq39083);\nvar G__39085 \x3d cljs.core.first(seq39083__$1);\nvar seq39083__$2 \x3d cljs.core.next(seq39083__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39084,G__39085,seq39083__$2);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.reader_error \x3d (function cljs$tools$reader$impl$errors$reader_error(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39287 \x3d arguments.length;\nvar i__5750__auto___39288 \x3d (0);\nwhile(true){\nif((i__5750__auto___39288 \x3c len__5749__auto___39287)){\nargs__5755__auto__.push((arguments[i__5750__auto___39288]));\n\nvar G__39290 \x3d (i__5750__auto___39288 + (1));\ni__5750__auto___39288 \x3d G__39290;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22reader-error\x22,\x22reader-error\x22,1610253121),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.reader_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.reader_error.cljs$lang$applyTo \x3d (function (seq39095){\nvar G__39097 \x3d cljs.core.first(seq39095);\nvar seq39095__$1 \x3d cljs.core.next(seq39095);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39097,seq39095__$1);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.illegal_arg_error \x3d (function cljs$tools$reader$impl$errors$illegal_arg_error(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39298 \x3d arguments.length;\nvar i__5750__auto___39299 \x3d (0);\nwhile(true){\nif((i__5750__auto___39299 \x3c len__5749__auto___39298)){\nargs__5755__auto__.push((arguments[i__5750__auto___39299]));\n\nvar G__39300 \x3d (i__5750__auto___39299 + (1));\ni__5750__auto___39299 \x3d G__39300;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22illegal-argument\x22,\x22illegal-argument\x22,-1845493170),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.illegal_arg_error.cljs$lang$applyTo \x3d (function (seq39115){\nvar G__39116 \x3d cljs.core.first(seq39115);\nvar seq39115__$1 \x3d cljs.core.next(seq39115);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39116,seq39115__$1);\n}));\n\n/**\n * Throws an ExceptionInfo with the given message.\n * If rdr is an IndexingReader, additional information about column and line number is provided\n */\ncljs.tools.reader.impl.errors.eof_error \x3d (function cljs$tools$reader$impl$errors$eof_error(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39305 \x3d arguments.length;\nvar i__5750__auto___39306 \x3d (0);\nwhile(true){\nif((i__5750__auto___39306 \x3c len__5749__auto___39305)){\nargs__5755__auto__.push((arguments[i__5750__auto___39306]));\n\nvar G__39307 \x3d (i__5750__auto___39306 + (1));\ni__5750__auto___39306 \x3d G__39307;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,msgs){\nreturn cljs.tools.reader.impl.errors.throw_ex.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msgs)], 0));\n}));\n\n(cljs.tools.reader.impl.errors.eof_error.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.eof_error.cljs$lang$applyTo \x3d (function (seq39131){\nvar G__39132 \x3d cljs.core.first(seq39131);\nvar seq39131__$1 \x3d cljs.core.next(seq39131);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39132,seq39131__$1);\n}));\n\ncljs.tools.reader.impl.errors.throw_eof_delimited \x3d (function cljs$tools$reader$impl$errors$throw_eof_delimited(var_args){\nvar G__39143 \x3d arguments.length;\nswitch (G__39143) {\ncase 4:\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$4 \x3d (function (rdr,kind,column,line){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,line,column,null);\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,kind,line,column,n){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading \x22,(cljs.core.truth_(n)?[\x22item \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 of \x22].join(\x27\x27):null),cljs.core.name(kind),(cljs.core.truth_(line)?[\x22, starting at line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22 and column \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):null),\x22.\x22], 0));\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.impl.errors.throw_odd_map \x3d (function cljs$tools$reader$impl$errors$throw_odd_map(rdr,line,col,elements){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22The map literal starting with \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(cljs.core.first(elements)),(cljs.core.truth_(line)?[\x22 on line \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22 column \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col)].join(\x27\x27):null),\x22 contains \x22,cljs.core.count(elements),\x22 form(s). Map literals must contain an even number of forms.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_number \x3d (function cljs$tools$reader$impl$errors$throw_invalid_number(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid number: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_literal(rdr,token){\nthrow cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode literal: \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_escape \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_escape(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode escape: \\\\u\x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid \x3d (function cljs$tools$reader$impl$errors$throw_invalid(rdr,kind,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid \x22,cljs.core.name(kind),\x22: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_at_start \x3d (function cljs$tools$reader$impl$errors$throw_eof_at_start(rdr,kind){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading start of \x22,cljs.core.name(kind),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_char \x3d (function cljs$tools$reader$impl$errors$throw_bad_char(rdr,kind,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid character: \x22,ch,\x22 found while reading \x22,cljs.core.name(kind),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_at_dispatch \x3d (function cljs$tools$reader$impl$errors$throw_eof_at_dispatch(rdr){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading dispatch character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unmatch_delimiter \x3d (function cljs$tools$reader$impl$errors$throw_unmatch_delimiter(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unmatched delimiter \x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_reading \x3d (function cljs$tools$reader$impl$errors$throw_eof_reading(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39315 \x3d arguments.length;\nvar i__5750__auto___39316 \x3d (0);\nwhile(true){\nif((i__5750__auto___39316 \x3c len__5749__auto___39315)){\nargs__5755__auto__.push((arguments[i__5750__auto___39316]));\n\nvar G__39317 \x3d (i__5750__auto___39316 + (1));\ni__5750__auto___39316 \x3d G__39317;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,kind,start){\nvar init \x3d (function (){var G__39168 \x3d kind;\nvar G__39168__$1 \x3d (((G__39168 instanceof cljs.core.Keyword))?G__39168.fqn:null);\nswitch (G__39168__$1) {\ncase \x22regex\x22:\nreturn \x22#\\\x22\x22;\n\nbreak;\ncase \x22string\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__39168__$1)].join(\x27\x27)));\n\n}\n})();\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF reading \x22,cljs.core.name(kind),\x22 starting \x22,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,init,start),\x22.\x22], 0));\n}));\n\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.errors.throw_eof_reading.cljs$lang$applyTo \x3d (function (seq39161){\nvar G__39162 \x3d cljs.core.first(seq39161);\nvar seq39161__$1 \x3d cljs.core.next(seq39161);\nvar G__39163 \x3d cljs.core.first(seq39161__$1);\nvar seq39161__$2 \x3d cljs.core.next(seq39161__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39162,G__39163,seq39161__$2);\n}));\n\ncljs.tools.reader.impl.errors.throw_invalid_unicode_char \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_char(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode character \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit_in_token(rdr,ch,token){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid digit \x22,ch,\x22 in unicode character \\\\\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_digit \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_digit(rdr,ch){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid digit \x22,ch,\x22 in unicode character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_unicode_len \x3d (function cljs$tools$reader$impl$errors$throw_invalid_unicode_len(rdr,actual,expected){\nreturn cljs.tools.reader.impl.errors.illegal_arg_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid unicode literal. Unicode literals should be \x22,expected,\x22characters long. \x22,\x22Value supplied is \x22,actual,\x22 characters long.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_character_literal \x3d (function cljs$tools$reader$impl$errors$throw_invalid_character_literal(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid character literal \\\\u\x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_invalid_octal_len \x3d (function cljs$tools$reader$impl$errors$throw_invalid_octal_len(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid octal escape sequence in a character literal: \x22,token,\x22. Octal escape sequences must be 3 or fewer digits.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_octal_number \x3d (function cljs$tools$reader$impl$errors$throw_bad_octal_number(rdr){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Octal escape sequence must be in range [0, 377].\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unsupported_character \x3d (function cljs$tools$reader$impl$errors$throw_unsupported_character(rdr,token){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unsupported character: \x22,token,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_in_character \x3d (function cljs$tools$reader$impl$errors$throw_eof_in_character(rdr){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unexpected EOF while reading character.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_escape_char \x3d (function cljs$tools$reader$impl$errors$throw_bad_escape_char(rdr,ch){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Unsupported escape character: \\\\\x22,ch,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_single_colon \x3d (function cljs$tools$reader$impl$errors$throw_single_colon(rdr){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22A single colon is not a valid keyword.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_metadata \x3d (function cljs$tools$reader$impl$errors$throw_bad_metadata(rdr,x){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Metadata cannot be \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(x),\x22. Metadata must be a Symbol, Keyword, String, Map or Vector.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_metadata_target \x3d (function cljs$tools$reader$impl$errors$throw_bad_metadata_target(rdr,target){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Metadata can not be applied to \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(target),\x22. \x22,\x22Metadata can only be applied to IMetas.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_feature_not_keyword \x3d (function cljs$tools$reader$impl$errors$throw_feature_not_keyword(rdr,feature){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature cannot be \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(feature),\x22. Features must be keywords.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_ns_map_no_map \x3d (function cljs$tools$reader$impl$errors$throw_ns_map_no_map(rdr,ns_name){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Namespaced map with namespace \x22,ns_name,\x22 does not specify a map.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_ns \x3d (function cljs$tools$reader$impl$errors$throw_bad_ns(rdr,ns_name){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid value used as namespace in namespaced map: \x22,ns_name,\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_bad_reader_tag \x3d (function cljs$tools$reader$impl$errors$throw_bad_reader_tag(rdr,tag){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid reader tag: \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(tag),\x22. Reader tags must be symbols.\x22], 0));\n});\ncljs.tools.reader.impl.errors.throw_unknown_reader_tag \x3d (function cljs$tools$reader$impl$errors$throw_unknown_reader_tag(rdr,tag){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22No reader function for tag \x22,cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(tag),\x22.\x22], 0));\n});\ncljs.tools.reader.impl.errors.duplicate_keys_error \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error(msg,coll){\nvar duplicates \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates(seq){\nvar iter__5503__auto__ \x3d (function cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__39245(s__39246){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__39246__$1 \x3d s__39246;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__39246__$1);\nif(temp__5823__auto__){\nvar s__39246__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__39246__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__39246__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__39248 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__39247 \x3d (0);\nwhile(true){\nif((i__39247 \x3c size__5502__auto__)){\nvar vec__39251 \x3d cljs.core._nth(c__5501__auto__,i__39247);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39251,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39251,(1),null);\nif((freq \x3e (1))){\ncljs.core.chunk_append(b__39248,id);\n\nvar G__39329 \x3d (i__39247 + (1));\ni__39247 \x3d G__39329;\ncontinue;\n} else {\nvar G__39330 \x3d (i__39247 + (1));\ni__39247 \x3d G__39330;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39248),cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__39245(cljs.core.chunk_rest(s__39246__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__39248),null);\n}\n} else {\nvar vec__39254 \x3d cljs.core.first(s__39246__$2);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39254,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39254,(1),null);\nif((freq \x3e (1))){\nreturn cljs.core.cons(id,cljs$tools$reader$impl$errors$duplicate_keys_error_$_duplicates_$_iter__39245(cljs.core.rest(s__39246__$2)));\n} else {\nvar G__39331 \x3d cljs.core.rest(s__39246__$2);\ns__39246__$1 \x3d G__39331;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.frequencies(seq));\n});\nvar dups \x3d duplicates(coll);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg,(((cljs.core.count(dups) \x3e (1)))?\x22s\x22:null),\x22: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,dups));\n});\ncljs.tools.reader.impl.errors.throw_dup_keys \x3d (function cljs$tools$reader$impl$errors$throw_dup_keys(rdr,kind,ks){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.duplicate_keys_error([clojure.string.capitalize(cljs.core.name(kind)),\x22 literal contains duplicate key\x22].join(\x27\x27),ks)], 0));\n});\ncljs.tools.reader.impl.errors.throw_eof_error \x3d (function cljs$tools$reader$impl$errors$throw_eof_error(rdr,line){\nif(cljs.core.truth_(line)){\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22EOF while reading, starting at line \x22,line,\x22.\x22], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.eof_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22EOF while reading.\x22], 0));\n}\n});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.impl.commons.js", true, "goog.provide(\x27cljs.tools.reader.impl.commons\x27);\n/**\n * Checks whether the reader is at the start of a number literal\n */\ncljs.tools.reader.impl.commons.number_literal_QMARK_ \x3d (function cljs$tools$reader$impl$commons$number_literal_QMARK_(reader,initch){\nreturn ((cljs.tools.reader.impl.utils.numeric_QMARK_(initch)) || ((((((\x22+\x22 \x3d\x3d\x3d initch)) || ((\x22-\x22 \x3d\x3d\x3d initch)))) \x26\x26 (cljs.tools.reader.impl.utils.numeric_QMARK_(reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null))))));\n});\n/**\n * Read until first character that doesn\x27t match pred, returning\n * char.\n */\ncljs.tools.reader.impl.commons.read_past \x3d (function cljs$tools$reader$impl$commons$read_past(pred,rdr){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(ch) : pred.call(null,ch))){\nvar G__39378 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__39378;\ncontinue;\n} else {\nreturn ch;\n}\nbreak;\n}\n});\n/**\n * Advances the reader to the end of a line. Returns the reader\n */\ncljs.tools.reader.impl.commons.skip_line \x3d (function cljs$tools$reader$impl$commons$skip_line(reader){\nwhile(true){\nif(cljs.tools.reader.impl.utils.newline_QMARK_(reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null))){\n} else {\ncontinue;\n}\nbreak;\n}\n\nreturn reader;\n});\ncljs.tools.reader.impl.commons.int_pattern \x3d /^([-+]?)(?:(0)|([1-9][0-9]*)|0[xX]([0-9A-Fa-f]+)|0([0-7]+)|([1-9][0-9]?)[rR]([0-9A-Za-z]+)|0[0-9]+)(N)?$/;\ncljs.tools.reader.impl.commons.ratio_pattern \x3d /([-+]?[0-9]+)\\/([0-9]+)/;\ncljs.tools.reader.impl.commons.float_pattern \x3d /([-+]?[0-9]+(\\.[0-9]*)?([eE][-+]?[0-9]+)?)(M)?/;\ncljs.tools.reader.impl.commons.match_int \x3d (function cljs$tools$reader$impl$commons$match_int(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.int_pattern,s));\nif((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((2)) : m.call(null,(2))) \x3d\x3d null)))){\nreturn (0);\n} else {\nvar negate_QMARK_ \x3d (\x22-\x22 \x3d\x3d\x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1))));\nvar a \x3d (((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((3)) : m.call(null,(3))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((3)) : m.call(null,(3))),(10)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))),(16)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((5)) : m.call(null,(5))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((5)) : m.call(null,(5))),(8)], null):(((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((7)) : m.call(null,(7))) \x3d\x3d null))))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((7)) : m.call(null,(7))),parseInt((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((6)) : m.call(null,(6))))], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null], null)\n))));\nvar n \x3d (a.cljs$core$IFn$_invoke$arity$1 ? a.cljs$core$IFn$_invoke$arity$1((0)) : a.call(null,(0)));\nif((n \x3d\x3d null)){\nreturn null;\n} else {\nvar bn \x3d parseInt(n,(a.cljs$core$IFn$_invoke$arity$1 ? a.cljs$core$IFn$_invoke$arity$1((1)) : a.call(null,(1))));\nvar bn__$1 \x3d ((negate_QMARK_)?((-1) * bn):bn);\nif(cljs.core.truth_(isNaN(bn__$1))){\nreturn null;\n} else {\nreturn bn__$1;\n}\n}\n}\n});\ncljs.tools.reader.impl.commons.match_ratio \x3d (function cljs$tools$reader$impl$commons$match_ratio(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.ratio_pattern,s));\nvar numerator \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1)));\nvar denominator \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((2)) : m.call(null,(2)));\nvar numerator__$1 \x3d (cljs.core.truth_(cljs.core.re_find(/^\\+/,numerator))?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(numerator,(1)):numerator);\nreturn (parseInt(numerator__$1) / parseInt(denominator));\n});\ncljs.tools.reader.impl.commons.match_float \x3d (function cljs$tools$reader$impl$commons$match_float(s){\nvar m \x3d cljs.core.vec(cljs.core.re_find(cljs.tools.reader.impl.commons.float_pattern,s));\nif((!(((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((4)) : m.call(null,(4))) \x3d\x3d null)))){\nreturn parseFloat((m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1((1)) : m.call(null,(1))));\n} else {\nreturn parseFloat(s);\n}\n});\ncljs.tools.reader.impl.commons.matches_QMARK_ \x3d (function cljs$tools$reader$impl$commons$matches_QMARK_(pattern,s){\nvar vec__39346 \x3d cljs.core.re_find(pattern,s);\nvar match \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39346,(0),null);\nreturn (match \x3d\x3d\x3d s);\n});\ncljs.tools.reader.impl.commons.match_number \x3d (function cljs$tools$reader$impl$commons$match_number(s){\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.int_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_int(s);\n} else {\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.float_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_float(s);\n} else {\nif(cljs.tools.reader.impl.commons.matches_QMARK_(cljs.tools.reader.impl.commons.ratio_pattern,s)){\nreturn cljs.tools.reader.impl.commons.match_ratio(s);\n} else {\nreturn null;\n}\n}\n}\n});\n/**\n * Parses a string into a vector of the namespace and symbol\n */\ncljs.tools.reader.impl.commons.parse_symbol \x3d (function cljs$tools$reader$impl$commons$parse_symbol(token){\nif((((\x22\x22 \x3d\x3d\x3d token)) || (((/:$/.test(token) \x3d\x3d\x3d true) || (/^::/.test(token) \x3d\x3d\x3d true))))){\nreturn null;\n} else {\nvar ns_idx \x3d token.indexOf(\x22/\x22);\nvar ns \x3d (((ns_idx \x3e (0)))?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(token,(0),ns_idx):null);\nif((!((ns \x3d\x3d null)))){\nvar ns_idx__$1 \x3d (ns_idx + (1));\nif((ns_idx__$1 \x3d\x3d\x3d cljs.core.count(token))){\nreturn null;\n} else {\nvar sym \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,ns_idx__$1);\nif((((!(cljs.tools.reader.impl.utils.numeric_QMARK_(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(sym,(0)))))) \x26\x26 ((((!((\x22\x22 \x3d\x3d\x3d sym)))) \x26\x26 (((/:$/.test(ns) \x3d\x3d\x3d false) \x26\x26 ((((sym \x3d\x3d\x3d \x22/\x22)) || (((-1) \x3d\x3d\x3d sym.indexOf(\x22/\x22))))))))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nreturn null;\n}\n}\n} else {\nif((((token \x3d\x3d\x3d \x22/\x22)) || (((-1) \x3d\x3d\x3d token.indexOf(\x22/\x22))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,token], null);\n} else {\nreturn null;\n}\n}\n}\n});\ncljs.tools.reader.impl.commons.read_comment \x3d (function cljs$tools$reader$impl$commons$read_comment(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39382 \x3d arguments.length;\nvar i__5750__auto___39383 \x3d (0);\nwhile(true){\nif((i__5750__auto___39383 \x3c len__5749__auto___39382)){\nargs__5755__auto__.push((arguments[i__5750__auto___39383]));\n\nvar G__39384 \x3d (i__5750__auto___39383 + (1));\ni__5750__auto___39383 \x3d G__39384;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(cljs.tools.reader.impl.commons.read_comment.cljs$core$IFn$_invoke$arity$variadic \x3d (function (rdr,_){\nreturn cljs.tools.reader.impl.commons.skip_line(rdr);\n}));\n\n(cljs.tools.reader.impl.commons.read_comment.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(cljs.tools.reader.impl.commons.read_comment.cljs$lang$applyTo \x3d (function (seq39357){\nvar G__39358 \x3d cljs.core.first(seq39357);\nvar seq39357__$1 \x3d cljs.core.next(seq39357);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39358,seq39357__$1);\n}));\n\ncljs.tools.reader.impl.commons.throwing_reader \x3d (function cljs$tools$reader$impl$commons$throwing_reader(msg){\nreturn (function() { \nvar G__39385__delegate \x3d function (rdr,_){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([msg], 0));\n};\nvar G__39385 \x3d function (rdr,var_args){\nvar _ \x3d null;\nif (arguments.length \x3e 1) {\nvar G__39386__i \x3d 0, G__39386__a \x3d new Array(arguments.length - 1);\nwhile (G__39386__i \x3c G__39386__a.length) {G__39386__a[G__39386__i] \x3d arguments[G__39386__i + 1]; ++G__39386__i;}\n _ \x3d new cljs.core.IndexedSeq(G__39386__a,0,null);\n} \nreturn G__39385__delegate.call(this,rdr,_);};\nG__39385.cljs$lang$maxFixedArity \x3d 1;\nG__39385.cljs$lang$applyTo \x3d (function (arglist__39387){\nvar rdr \x3d cljs.core.first(arglist__39387);\nvar _ \x3d cljs.core.rest(arglist__39387);\nreturn G__39385__delegate(rdr,_);\n});\nG__39385.cljs$core$IFn$_invoke$arity$variadic \x3d G__39385__delegate;\nreturn G__39385;\n})()\n;\n});\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.js", true, "goog.provide(\x27cljs.tools.reader\x27);\ngoog.scope(function(){\n cljs.tools.reader.goog$module$goog$array \x3d goog.module.get(\x27goog.array\x27);\n});\n\n\n\n\n\n\ncljs.tools.reader.macro_terminating_QMARK_ \x3d (function cljs$tools$reader$macro_terminating_QMARK_(ch){\nvar G__39428 \x3d ch;\nswitch (G__39428) {\ncase \x22\\\x22\x22:\ncase \x22;\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\ncljs.tools.reader.sb \x3d (new goog.string.StringBuffer());\n/**\n * Read in a single logical token from the reader\n */\ncljs.tools.reader.read_token \x3d (function cljs$tools$reader$read_token(rdr,kind,initch){\nif((initch \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind);\n} else {\ncljs.tools.reader.sb.clear();\n\nvar ch \x3d initch;\nwhile(true){\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nif((ch \x3d\x3d null)){\n} else {\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}\n\nreturn cljs.tools.reader.sb.toString();\n} else {\ncljs.tools.reader.sb.append(ch);\n\nvar G__39950 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__39950;\ncontinue;\n}\nbreak;\n}\n}\n});\ncljs.tools.reader.read_dispatch \x3d (function cljs$tools$reader$read_dispatch(rdr,_,opts,pending_forms){\nvar temp__5821__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ch \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.dispatch_macros.call(null,ch));\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar dm \x3d temp__5821__auto____$1;\nreturn (dm.cljs$core$IFn$_invoke$arity$4 ? dm.cljs$core$IFn$_invoke$arity$4(rdr,ch,opts,pending_forms) : dm.call(null,rdr,ch,opts,pending_forms));\n} else {\nvar G__39444 \x3d (function (){var G__39448 \x3d rdr;\nG__39448.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nreturn G__39448;\n})();\nvar G__39445 \x3d ch;\nvar G__39446 \x3d opts;\nvar G__39447 \x3d pending_forms;\nreturn (cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4(G__39444,G__39445,G__39446,G__39447) : cljs.tools.reader.read_tagged.call(null,G__39444,G__39445,G__39446,G__39447));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr);\n}\n});\ncljs.tools.reader.read_unmatched_delimiter \x3d (function cljs$tools$reader$read_unmatched_delimiter(rdr,ch,opts,pending_forms){\nreturn cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,ch);\n});\ncljs.tools.reader.read_regex \x3d (function cljs$tools$reader$read_regex(rdr,ch,opts,pending_forms){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch__$1 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((\x22\\\x22\x22 \x3d\x3d\x3d ch__$1)){\nreturn cljs.core.re_pattern(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nif((ch__$1 \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\nsb.append(ch__$1);\n\nif((\x22\\\\\x22 \x3d\x3d\x3d ch__$1)){\nvar ch_39951__$2 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((ch_39951__$2 \x3d\x3d null)){\ncljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\n}\n\nsb.append(ch_39951__$2);\n} else {\n}\n\nvar G__39952 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch__$1 \x3d G__39952;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_unicode_char \x3d (function cljs$tools$reader$read_unicode_char(var_args){\nvar G__39460 \x3d arguments.length;\nswitch (G__39460) {\ncase 4:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4 \x3d (function (token,offset,length,base){\nvar l \x3d (offset + length);\nif((cljs.core.count(token) \x3d\x3d\x3d l)){\n} else {\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token);\n}\n\nvar i \x3d offset;\nvar uc \x3d (0);\nwhile(true){\nif((i \x3d\x3d\x3d l)){\nreturn String.fromCharCode(uc);\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base);\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token);\n} else {\nvar G__39955 \x3d (i + (1));\nvar G__39956 \x3d (d + (uc * base));\ni \x3d G__39955;\nuc \x3d G__39956;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,initch,base,length,exact_QMARK_){\nvar i \x3d (1);\nvar uc \x3d cljs.tools.reader.impl.utils.char_code(initch,base);\nwhile(true){\nif((uc \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch);\n} else {\nif((!((i \x3d\x3d\x3d length)))){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(exact_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length);\n} else {\nreturn String.fromCharCode(uc);\n}\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(ch,base);\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch);\n} else {\nvar G__39963 \x3d (i + (1));\nvar G__39964 \x3d (d + (uc * base));\ni \x3d G__39963;\nuc \x3d G__39964;\ncontinue;\n}\n}\n} else {\nreturn String.fromCharCode(uc);\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.upper_limit \x3d \x22\\uD7FF\x22.charCodeAt((0));\ncljs.tools.reader.lower_limit \x3d \x22\\uE000\x22.charCodeAt((0));\ncljs.tools.reader.valid_octal_QMARK_ \x3d (function cljs$tools$reader$valid_octal_QMARK_(token,base){\nreturn (parseInt(token,base) \x3c\x3d (255));\n});\n/**\n * Read in a character literal\n */\ncljs.tools.reader.read_char_STAR_ \x3d (function cljs$tools$reader$read_char_STAR_(rdr,backslash,opts,pending_forms){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!((ch \x3d\x3d null)))){\nvar token \x3d ((((cljs.tools.reader.macro_terminating_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22character\x22,\x22character\x22,380652989),ch));\nvar token_len \x3d token.length;\nif(((1) \x3d\x3d\x3d token_len)){\nreturn token.charAt((0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22newline\x22)){\nreturn \x22\\n\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22space\x22)){\nreturn \x22 \x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22tab\x22)){\nreturn \x22\\t\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22backspace\x22)){\nreturn \x22\\b\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22formfeed\x22)){\nreturn \x22\\f\x22;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22return\x22)){\nreturn \x22\\r\x22;\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22u\x22))){\nvar c \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),(4),(16));\nvar ic \x3d c.charCodeAt((0));\nif((((ic \x3e cljs.tools.reader.upper_limit)) \x26\x26 ((ic \x3c cljs.tools.reader.lower_limit)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16)));\n} else {\nreturn c;\n}\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22o\x22))){\nvar len \x3d (token_len - (1));\nif((len \x3e (3))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_octal_len(rdr,token);\n} else {\nvar offset \x3d (1);\nvar base \x3d (8);\nvar uc \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,offset,len,base);\nif((!(cljs.tools.reader.valid_octal_QMARK_(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,offset),base)))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn uc;\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.starting_line_col_info \x3d (function cljs$tools$reader$starting_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),((rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null) - (1)) | (0))], null);\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.ending_line_col_info \x3d (function cljs$tools$reader$ending_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null)], null);\n} else {\nreturn null;\n}\n});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.READ_EOF !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.READ_EOF \x3d (new Object());\n}\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.READ_FINISHED !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.READ_FINISHED \x3d (new Object());\n}\ncljs.tools.reader._STAR_read_delim_STAR_ \x3d false;\ncljs.tools.reader.read_delimited_internal \x3d (function cljs$tools$reader$read_delimited_internal(kind,delim,rdr,opts,pending_forms){\nvar vec__39498 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39498,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39498,(1),null);\nvar delim__$1 \x3d cljs.tools.reader.impl.utils.char$(delim);\nvar a \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar form \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms));\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.core.persistent_BANG_(a);\n} else {\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a));\n} else {\nvar G__39973 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,form);\na \x3d G__39973;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Reads and returns a collection ended with delim\n */\ncljs.tools.reader.read_delimited \x3d (function cljs$tools$reader$read_delimited(kind,delim,rdr,opts,pending_forms){\nvar _STAR_read_delim_STAR__orig_val__39507 \x3d cljs.tools.reader._STAR_read_delim_STAR_;\nvar _STAR_read_delim_STAR__temp_val__39509 \x3d true;\n(cljs.tools.reader._STAR_read_delim_STAR_ \x3d _STAR_read_delim_STAR__temp_val__39509);\n\ntry{return cljs.tools.reader.read_delimited_internal(kind,delim,rdr,opts,pending_forms);\n}finally {(cljs.tools.reader._STAR_read_delim_STAR_ \x3d _STAR_read_delim_STAR__orig_val__39507);\n}});\n/**\n * Read in a list, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_list \x3d (function cljs$tools$reader$read_list(rdr,_,opts,pending_forms){\nvar vec__39520 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39520,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39520,(1),null);\nvar the_list \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),\x22)\x22,rdr,opts,pending_forms);\nvar vec__39523 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39523,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39523,(1),null);\nreturn cljs.core.with_meta(((cljs.core.empty_QMARK_(the_list))?cljs.core.List.EMPTY:cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5823__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar file \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a vector, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_vector \x3d (function cljs$tools$reader$read_vector(rdr,_,opts,pending_forms){\nvar vec__39532 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39532,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39532,(1),null);\nvar the_vector \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),\x22]\x22,rdr,opts,pending_forms);\nvar vec__39535 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39535,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39535,(1),null);\nreturn cljs.core.with_meta(the_vector,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5823__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar file \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a map, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_map \x3d (function cljs$tools$reader$read_map(rdr,_,opts,pending_forms){\nvar vec__39554 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39554,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39554,(1),null);\nvar the_map \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),\x22}\x22,rdr,opts,pending_forms);\nvar map_count \x3d cljs.core.count(the_map);\nvar ks \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map);\nvar key_set \x3d cljs.core.set(ks);\nvar vec__39557 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39557,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39557,(1),null);\nif(cljs.core.odd_QMARK_(map_count)){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map);\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks);\n}\n\nreturn cljs.core.with_meta((((map_count \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)))?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5823__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar file \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\ncljs.tools.reader.read_number \x3d (function cljs$tools$reader$read_number(rdr,initch){\nvar sb \x3d (function (){var G__39568 \x3d (new goog.string.StringBuffer());\nG__39568.append(initch);\n\nreturn G__39568;\n})();\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nif((ch \x3d\x3d null)){\n} else {\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}\n\nvar or__5025__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s);\n}\n} else {\nvar G__39984 \x3d (function (){var G__39571 \x3d sb;\nG__39571.append(ch);\n\nreturn G__39571;\n})();\nvar G__39985 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__39984;\nch \x3d G__39985;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.escape_char \x3d (function cljs$tools$reader$escape_char(sb,rdr){\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__39573 \x3d ch;\nswitch (G__39573) {\ncase \x22t\x22:\nreturn \x22\\t\x22;\n\nbreak;\ncase \x22r\x22:\nreturn \x22\\r\x22;\n\nbreak;\ncase \x22n\x22:\nreturn \x22\\n\x22;\n\nbreak;\ncase \x22\\\\\x22:\nreturn \x22\\\\\x22;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ncase \x22b\x22:\nreturn \x22\\b\x22;\n\nbreak;\ncase \x22f\x22:\nreturn \x22\\f\x22;\n\nbreak;\ncase \x22u\x22:\nvar ch__$1 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(((-1) \x3d\x3d\x3d parseInt((ch__$1 | (0)),(16)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1);\n} else {\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true);\n}\n\nbreak;\ndefault:\nif(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){\nvar ch__$1 \x3d cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false);\nif(((ch__$1 | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn ch__$1;\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,ch);\n}\n\n}\n});\ncljs.tools.reader.read_string_STAR_ \x3d (function cljs$tools$reader$read_string_STAR_(reader,_,opts,pending_forms){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((ch \x3d\x3d null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(reader,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\\x22\x22,sb], 0));\n} else {\nvar G__39578 \x3d ch;\nswitch (G__39578) {\ncase \x22\\\\\x22:\nvar G__39995 \x3d (function (){var G__39579 \x3d sb;\nG__39579.append(cljs.tools.reader.escape_char(sb,reader));\n\nreturn G__39579;\n})();\nvar G__39996 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__39995;\nch \x3d G__39996;\ncontinue;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n\nbreak;\ndefault:\nvar G__39997 \x3d (function (){var G__39582 \x3d sb;\nG__39582.append(ch);\n\nreturn G__39582;\n})();\nvar G__39998 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__39997;\nch \x3d G__39998;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.loc_info \x3d (function cljs$tools$reader$loc_info(rdr,line,column){\nif((line \x3d\x3d null)){\nreturn null;\n} else {\nvar file \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nvar filem \x3d (((file \x3d\x3d null))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null));\nvar vec__39584 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39584,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39584,(1),null);\nvar lcm \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filem,lcm], 0));\n}\n});\ncljs.tools.reader.read_symbol \x3d (function cljs$tools$reader$read_symbol(rdr,initch){\nvar vec__39594 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39594,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39594,(1),null);\nvar token \x3d cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif((token \x3d\x3d null)){\nreturn null;\n} else {\nvar G__39599 \x3d token;\nswitch (G__39599) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar p \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((p \x3d\x3d null)))){\nvar sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(p.cljs$core$IIndexed$_nth$arity$2(null,(0)),p.cljs$core$IIndexed$_nth$arity$2(null,(1)));\nreturn sym.cljs$core$IWithMeta$_with_meta$arity$2(null,cljs.tools.reader.loc_info(rdr,line,column));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),token);\n}\n\n}\n}\n});\n/**\n * Map from ns alias to ns, if non-nil, it will be used to resolve read-time\n * ns aliases.\n * \n * Defaults to nil\n */\ncljs.tools.reader._STAR_alias_map_STAR_ \x3d null;\ncljs.tools.reader.resolve_alias \x3d (function cljs$tools$reader$resolve_alias(sym){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader._STAR_alias_map_STAR_,sym);\n});\ncljs.tools.reader.resolve_ns \x3d (function cljs$tools$reader$resolve_ns(sym){\nvar or__5025__auto__ \x3d cljs.tools.reader.resolve_alias(sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.find_ns(sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ns \x3d temp__5823__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(ns));\n} else {\nreturn null;\n}\n}\n});\ncljs.tools.reader.read_keyword \x3d (function cljs$tools$reader$read_keyword(reader,initch,opts,pending_forms){\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){\nvar token \x3d cljs.tools.reader.read_token(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),ch);\nvar s \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((s \x3d\x3d null)))){\nvar ns \x3d s.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar name \x3d s.cljs$core$IIndexed$_nth$arity$2(null,(1));\nif((\x22:\x22 \x3d\x3d\x3d token.charAt((0)))){\nif((!((ns \x3d\x3d null)))){\nvar temp__5821__auto__ \x3d cljs.tools.reader.resolve_alias(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(ns,(1))));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns__$1 \x3d temp__5821__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),name);\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nvar temp__5821__auto__ \x3d cljs.core._STAR_ns_STAR_;\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns__$1 \x3d temp__5821__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(name,(1)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(reader,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Invalid token: :\x22,token], 0));\n}\n}\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_single_colon(reader);\n}\n});\n/**\n * Returns a function which wraps a reader in a call to sym\n */\ncljs.tools.reader.wrapping_reader \x3d (function cljs$tools$reader$wrapping_reader(sym){\nreturn (function (rdr,_,opts,pending_forms){\nreturn (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)),null,(1),null)),(2),null));\n});\n});\n/**\n * Read metadata and return the following object with the metadata applied\n */\ncljs.tools.reader.read_meta \x3d (function cljs$tools$reader$read_meta(rdr,_,opts,pending_forms){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(rdr)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(rdr))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(rdr,(function (){\nvar vec__39634 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39634,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39634,(1),null);\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], 0)):m);\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}));\n} else {\nvar vec__39644 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39644,(0),null);\nvar column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39644,(1),null);\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column], 0)):m);\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}\n});\ncljs.tools.reader.read_set \x3d (function cljs$tools$reader$read_set(rdr,_,opts,pending_forms){\nvar vec__39658 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39658,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39658,(1),null);\nvar start_column__$1 \x3d (cljs.core.truth_(start_column)?((start_column - (1)) | (0)):null);\nvar coll \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),\x22}\x22,rdr,opts,pending_forms);\nvar the_set \x3d cljs.core.set(coll);\nvar vec__39661 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39661,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39661,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll)], 0));\n}\n\nreturn cljs.core.with_meta(the_set,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5823__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar file \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column__$1,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read and discard the first object from rdr\n */\ncljs.tools.reader.read_discard \x3d (function cljs$tools$reader$read_discard(rdr,_,opts,pending_forms){\nvar G__39669 \x3d rdr;\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__39669,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,G__39669,true,null,opts,pending_forms));\n\nreturn G__39669;\n});\ncljs.tools.reader.read_symbolic_value \x3d (function cljs$tools$reader$read_symbolic_value(rdr,_,opts,pending_forms){\nvar sym \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nvar G__39672 \x3d sym;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22NaN\x22,\x22NaN\x22,666918153,null),G__39672)){\nreturn Number.NaN;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-Inf\x22,\x22-Inf\x22,-2123243689,null),G__39672)){\nreturn Number.NEGATIVE_INFINITY;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Inf\x22,\x22Inf\x22,647172781,null),G__39672)){\nreturn Number.POSITIVE_INFINITY;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Invalid token: ##\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)], 0));\n\n}\n}\n}\n});\ncljs.tools.reader.RESERVED_FEATURES \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22else\x22,\x22else\x22,-1508377146),null,new cljs.core.Keyword(null,\x22none\x22,\x22none\x22,1333468478),null], null), null);\ncljs.tools.reader.has_feature_QMARK_ \x3d (function cljs$tools$reader$has_feature_QMARK_(rdr,feature,opts){\nif((feature instanceof cljs.core.Keyword)){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),feature)) || (cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336)),feature)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature should be a keyword: \x22,feature], 0));\n}\n});\ncljs.tools.reader.check_eof_error \x3d (function cljs$tools$reader$check_eof_error(form,rdr,first_line){\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(rdr,(function (){var and__5023__auto__ \x3d (first_line \x3c (0));\nif(and__5023__auto__){\nreturn first_line;\n} else {\nreturn and__5023__auto__;\n}\n})());\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_reserved_features \x3d (function cljs$tools$reader$check_reserved_features(rdr,form){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.RESERVED_FEATURES,form))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Feature name \x22,form,\x22 is reserved\x22], 0));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_invalid_read_cond \x3d (function cljs$tools$reader$check_invalid_read_cond(form,rdr,first_line){\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nif((first_line \x3c (0))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22read-cond requires an even number of forms\x22], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22read-cond starting on line \x22,first_line,\x22 requires an even number of forms\x22], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Read next form and suppress. Return nil or READ_FINISHED.\n */\ncljs.tools.reader.read_suppress \x3d (function cljs$tools$reader$read_suppress(first_line,rdr,opts,pending_forms){\nvar _STAR_suppress_read_STAR__orig_val__39692 \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__39693 \x3d true;\n(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__temp_val__39693);\n\ntry{var form \x3d (function (){var G__39698 \x3d rdr;\nvar G__39699 \x3d false;\nvar G__39700 \x3d cljs.tools.reader.READ_EOF;\nvar G__39701 \x3d \x22)\x22;\nvar G__39702 \x3d opts;\nvar G__39703 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__39698,G__39699,G__39700,G__39701,G__39702,G__39703) : cljs.tools.reader.read_STAR_.call(null,G__39698,G__39699,G__39700,G__39701,G__39702,G__39703));\n})();\ncljs.tools.reader.check_eof_error(form,rdr,first_line);\n\nif((form \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nreturn null;\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__orig_val__39692);\n}});\nif((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.tools.reader.NO_MATCH !\x3d\x3d \x27undefined\x27)){\n} else {\ncljs.tools.reader.NO_MATCH \x3d (new Object());\n}\n/**\n * Read next feature. If matched, read next form and return.\n * Otherwise, read and skip next form, returning READ_FINISHED or nil.\n */\ncljs.tools.reader.match_feature \x3d (function cljs$tools$reader$match_feature(first_line,rdr,opts,pending_forms){\nvar feature \x3d (function (){var G__39709 \x3d rdr;\nvar G__39710 \x3d false;\nvar G__39711 \x3d cljs.tools.reader.READ_EOF;\nvar G__39712 \x3d \x22)\x22;\nvar G__39713 \x3d opts;\nvar G__39714 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__39709,G__39710,G__39711,G__39712,G__39713,G__39714) : cljs.tools.reader.read_STAR_.call(null,G__39709,G__39710,G__39711,G__39712,G__39713,G__39714));\n})();\ncljs.tools.reader.check_eof_error(feature,rdr,first_line);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(feature,cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\ncljs.tools.reader.check_reserved_features(rdr,feature);\n\nif(cljs.tools.reader.has_feature_QMARK_(rdr,feature,opts)){\nvar G__39717 \x3d (function (){var G__39718 \x3d rdr;\nvar G__39719 \x3d false;\nvar G__39720 \x3d cljs.tools.reader.READ_EOF;\nvar G__39721 \x3d \x22)\x22;\nvar G__39722 \x3d opts;\nvar G__39723 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__39718,G__39719,G__39720,G__39721,G__39722,G__39723) : cljs.tools.reader.read_STAR_.call(null,G__39718,G__39719,G__39720,G__39721,G__39722,G__39723));\n})();\ncljs.tools.reader.check_eof_error(G__39717,rdr,first_line);\n\ncljs.tools.reader.check_invalid_read_cond(G__39717,rdr,first_line);\n\nreturn G__39717;\n} else {\nvar or__5025__auto__ \x3d cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.NO_MATCH;\n}\n}\n}\n});\ncljs.tools.reader.read_cond_delimited \x3d (function cljs$tools$reader$read_cond_delimited(rdr,splicing,opts,pending_forms){\nvar first_line \x3d ((cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr))?cljs.tools.reader.reader_types.get_line_number(rdr):(-1));\nvar result \x3d (function (){var matched \x3d cljs.tools.reader.NO_MATCH;\nvar finished \x3d null;\nwhile(true){\nif((matched \x3d\x3d\x3d cljs.tools.reader.NO_MATCH)){\nvar match \x3d cljs.tools.reader.match_feature(first_line,rdr,opts,pending_forms);\nif((match \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nvar G__40049 \x3d match;\nvar G__40050 \x3d null;\nmatched \x3d G__40049;\nfinished \x3d G__40050;\ncontinue;\n}\n} else {\nif((!((finished \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)))){\nvar G__40051 \x3d matched;\nvar G__40052 \x3d cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nmatched \x3d G__40051;\nfinished \x3d G__40052;\ncontinue;\n} else {\nreturn matched;\n\n}\n}\nbreak;\n}\n})();\nif((result \x3d\x3d\x3d cljs.tools.reader.READ_FINISHED)){\nreturn rdr;\n} else {\nif(cljs.core.truth_(splicing)){\nif((((!((result \x3d\x3d null))))?(((((result.cljs$lang$protocol_mask$partition0$ \x26 (16777216))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d result.cljs$core$ISequential$))))?true:false):false)){\ncljs.tools.reader.goog$module$goog$array.insertArrayAt(pending_forms,cljs.core.to_array(result),(0));\n\nreturn rdr;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Spliced form list in read-cond-splicing must implement ISequential\x22], 0));\n}\n} else {\nreturn result;\n}\n}\n});\ncljs.tools.reader.read_cond \x3d (function cljs$tools$reader$read_cond(rdr,_,opts,pending_forms){\nif(cljs.core.not((function (){var and__5023__auto__ \x3d opts;\nif(cljs.core.truth_(and__5023__auto__)){\nvar G__39747 \x3d new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts);\nvar fexpr__39746 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),null,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),null], null), null);\nreturn (fexpr__39746.cljs$core$IFn$_invoke$arity$1 ? fexpr__39746.cljs$core$IFn$_invoke$arity$1(G__39747) : fexpr__39746.call(null,G__39747));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Conditional read not allowed\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime-exception\x22,\x22runtime-exception\x22,-1495664514)], null));\n} else {\n}\n\nvar temp__5821__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ch \x3d temp__5821__auto__;\nvar splicing \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\x22@\x22);\nvar ch__$1 \x3d ((splicing)?rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null):ch);\nif(splicing){\nif(cljs.core.truth_(cljs.tools.reader._STAR_read_delim_STAR_)){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22cond-splice not in list\x22], 0));\n}\n} else {\n}\n\nvar temp__5821__auto____$1 \x3d ((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch__$1))?cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr):ch__$1);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar ch__$2 \x3d temp__5821__auto____$1;\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(ch__$2,\x22(\x22)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22read-cond body must be a list\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22runtime-exception\x22,\x22runtime-exception\x22,-1495664514)], null));\n} else {\nvar _STAR_suppress_read_STAR__orig_val__39751 \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__39752 \x3d (function (){var or__5025__auto__ \x3d cljs.tools.reader._STAR_suppress_read_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts));\n}\n})();\n(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__temp_val__39752);\n\ntry{if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.tools.reader.impl.utils.reader_conditional(cljs.tools.reader.read_list(rdr,ch__$2,opts,pending_forms),splicing);\n} else {\nreturn cljs.tools.reader.read_cond_delimited(rdr,splicing,opts,pending_forms);\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ \x3d _STAR_suppress_read_STAR__orig_val__39751);\n}}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.arg_env \x3d null;\n/**\n * Get a symbol for an anonymous ?argument?\n */\ncljs.tools.reader.garg \x3d (function cljs$tools$reader$garg(n){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([((((-1) \x3d\x3d\x3d n))?\x22rest\x22:[\x22p\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join(\x27\x27)),\x22__\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\x22#\x22].join(\x27\x27));\n});\ncljs.tools.reader.read_fn \x3d (function cljs$tools$reader$read_fn(rdr,_,opts,pending_forms){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Nested #()s are not allowed\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\n}\n\nvar arg_env_orig_val__39760 \x3d cljs.tools.reader.arg_env;\nvar arg_env_temp_val__39761 \x3d cljs.core.sorted_map();\n(cljs.tools.reader.arg_env \x3d arg_env_temp_val__39761);\n\ntry{var form \x3d (function (){var G__39763 \x3d (function (){var G__39769 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__39769,\x22(\x22);\n\nreturn G__39769;\n})();\nvar G__39764 \x3d true;\nvar G__39765 \x3d null;\nvar G__39766 \x3d opts;\nvar G__39768 \x3d pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__39763,G__39764,G__39765,G__39766,G__39768) : cljs.tools.reader.read_STAR_.call(null,G__39763,G__39764,G__39765,G__39766,G__39768));\n})();\nvar rargs \x3d cljs.core.rseq(cljs.tools.reader.arg_env);\nvar args \x3d ((rargs)?(function (){var higharg \x3d cljs.core.key(cljs.core.first(rargs));\nvar args \x3d (function (){var i \x3d (1);\nvar args \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif((i \x3e higharg)){\nreturn cljs.core.persistent_BANG_(args);\n} else {\nvar G__40062 \x3d (i + (1));\nvar G__40063 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(args,(function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.arg_env,i);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.garg(i);\n}\n})());\ni \x3d G__40062;\nargs \x3d G__40063;\ncontinue;\n}\nbreak;\n}\n})();\nvar args__$1 \x3d (cljs.core.truth_(cljs.tools.reader.arg_env.call(null,(-1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.arg_env.call(null,(-1))], 0)):args);\nreturn args__$1;\n})():cljs.core.PersistentVector.EMPTY);\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),(new cljs.core.List(null,args,(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null));\n}finally {(cljs.tools.reader.arg_env \x3d arg_env_orig_val__39760);\n}});\n/**\n * Registers an argument to the arg-env\n */\ncljs.tools.reader.register_arg \x3d (function cljs$tools$reader$register_arg(n){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nvar temp__5821__auto__ \x3d cljs.tools.reader.arg_env.call(null,n);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ret \x3d temp__5821__auto__;\nreturn ret;\n} else {\nvar g \x3d cljs.tools.reader.garg(n);\n(cljs.tools.reader.arg_env \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.arg_env,n,g));\n\nreturn g;\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Arg literal not in #()\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n}\n});\ncljs.tools.reader.read_arg \x3d (function cljs$tools$reader$read_arg(rdr,pct,opts,pending_forms){\nif((cljs.tools.reader.arg_env \x3d\x3d null)){\nreturn cljs.tools.reader.read_symbol(rdr,pct);\n} else {\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nreturn cljs.tools.reader.register_arg((1));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\x22\x26\x22)){\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn cljs.tools.reader.register_arg((-1));\n} else {\nvar n \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((!(cljs.core.integer_QMARK_(n)))){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Arg literal must be %, %\x26 or %integer\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\nreturn cljs.tools.reader.register_arg(n);\n}\n\n}\n}\n}\n});\ncljs.tools.reader.gensym_env \x3d null;\ncljs.tools.reader.read_unquote \x3d (function cljs$tools$reader$read_unquote(rdr,comma,opts,pending_forms){\nvar temp__5821__auto__ \x3d rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ch \x3d temp__5821__auto__;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,ch)){\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))((function (){var G__39791 \x3d rdr;\nG__39791.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn G__39791;\n})(),\x22@\x22,opts,pending_forms);\n} else {\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))(rdr,\x22~\x22,opts,pending_forms);\n}\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.unquote_splicing_QMARK_ \x3d (function cljs$tools$reader$unquote_splicing_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))));\n});\ncljs.tools.reader.unquote_QMARK_ \x3d (function cljs$tools$reader$unquote_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))));\n});\n/**\n * Expand a list by resolving its syntax quotes and unquotes\n */\ncljs.tools.reader.expand_list \x3d (function cljs$tools$reader$expand_list(s){\nvar s__$1 \x3d cljs.core.seq(s);\nvar r \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s__$1){\nvar item \x3d cljs.core.first(s__$1);\nvar ret \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(r,((cljs.tools.reader.unquote_QMARK_(item))?(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,cljs.core.second(item),null,(1),null)),(2),null)):((cljs.tools.reader.unquote_splicing_QMARK_(item))?cljs.core.second(item):(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,(cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(item) : cljs.tools.reader.syntax_quote_STAR_.call(null,item)),null,(1),null)),(2),null))\n)));\nvar G__40084 \x3d cljs.core.next(s__$1);\nvar G__40085 \x3d ret;\ns__$1 \x3d G__40084;\nr \x3d G__40085;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(r));\n}\nbreak;\n}\n});\n/**\n * Flatten a map into a seq of alternate keys and values\n */\ncljs.tools.reader.flatten_map \x3d (function cljs$tools$reader$flatten_map(form){\nvar s \x3d cljs.core.seq(form);\nvar key_vals \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__40087 \x3d cljs.core.next(s);\nvar G__40088 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(key_vals,cljs.core.key(e)),cljs.core.val(e));\ns \x3d G__40087;\nkey_vals \x3d G__40088;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(key_vals));\n}\nbreak;\n}\n});\ncljs.tools.reader.register_gensym \x3d (function cljs$tools$reader$register_gensym(sym){\nif(cljs.core.not(cljs.tools.reader.gensym_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Gensym literal not in syntax-quote\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null));\n} else {\n}\n\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.gensym_env,sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar gs \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.subs.cljs$core$IFn$_invoke$arity$3(cljs.core.name(sym),(0),(((cljs.core.name(sym)).length) - (1))),\x22__\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\x22__auto__\x22].join(\x27\x27));\n(cljs.tools.reader.gensym_env \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.tools.reader.gensym_env,sym,gs));\n\nreturn gs;\n}\n});\ncljs.tools.reader.add_meta \x3d (function cljs$tools$reader$add_meta(form,ret){\nif((function (){var and__5023__auto__ \x3d (((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5023__auto__){\nreturn cljs.core.seq(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(form),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539)], 0)));\n} else {\nreturn and__5023__auto__;\n}\n})()){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),(new cljs.core.List(null,ret,(new cljs.core.List(null,(function (){var G__39808 \x3d cljs.core.meta(form);\nreturn (cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.syntax_quote_STAR_.cljs$core$IFn$_invoke$arity$1(G__39808) : cljs.tools.reader.syntax_quote_STAR_.call(null,G__39808));\n})(),null,(1),null)),(2),null)),(3),null));\n} else {\nreturn ret;\n}\n});\ncljs.tools.reader.syntax_quote_coll \x3d (function cljs$tools$reader$syntax_quote_coll(type,coll){\nvar res \x3d (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22sequence\x22,\x22cljs.core/sequence\x22,1908459032,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),cljs.tools.reader.expand_list(coll)),null,(1),null)),(2),null));\nif(cljs.core.truth_(type)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),(new cljs.core.List(null,type,(new cljs.core.List(null,res,null,(1),null)),(2),null)),(3),null));\n} else {\nreturn res;\n}\n});\n/**\n * Decide which map type to use, array-map if less than 16 elements\n */\ncljs.tools.reader.map_func \x3d (function cljs$tools$reader$map_func(coll){\nif((cljs.core.count(coll) \x3e\x3d (16))){\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null);\n} else {\nreturn new cljs.core.Symbol(\x22cljs.core\x22,\x22array-map\x22,\x22cljs.core/array-map\x22,-1519210683,null);\n}\n});\ncljs.tools.reader.bool_QMARK_ \x3d (function cljs$tools$reader$bool_QMARK_(x){\nreturn (((x instanceof Boolean)) || (((x \x3d\x3d\x3d true) || (x \x3d\x3d\x3d false))));\n});\n/**\n * Resolve a symbol s into its fully qualified namespace version\n */\ncljs.tools.reader.resolve_symbol \x3d (function cljs$tools$reader$resolve_symbol(s){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22resolve-symbol is not implemented\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22sym\x22,\x22sym\x22,-1444860305),s], null));\n});\ncljs.tools.reader.syntax_quote_STAR_ \x3d (function cljs$tools$reader$syntax_quote_STAR_(form){\nreturn cljs.tools.reader.add_meta(form,((cljs.core.special_symbol_QMARK_(form))?(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null)):(((form instanceof cljs.core.Symbol))?(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(cljs.core.namespace(form));\nif(and__5023__auto__){\nreturn goog.string.endsWith(cljs.core.name(form),\x22#\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.tools.reader.register_gensym(form):(function (){var sym \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(form);\nif(cljs.core.truth_(goog.string.endsWith(sym,\x22.\x22))){\nvar csym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym,(0),(((sym).length) - (1))));\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.resolve_symbol.call(null,csym)),\x22.\x22].join(\x27\x27));\n} else {\nreturn cljs.tools.reader.resolve_symbol.call(null,form);\n}\n})()),null,(1),null)),(2),null)):((cljs.tools.reader.unquote_QMARK_(form))?cljs.core.second(form):((cljs.tools.reader.unquote_splicing_QMARK_(form))?(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22unquote-splice not in list\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22illegal-state\x22,\x22illegal-state\x22,-1519851182)], null))})():((cljs.core.coll_QMARK_(form))?(((((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IRecord$))))?true:false):false))?form:((cljs.core.map_QMARK_(form))?cljs.tools.reader.syntax_quote_coll(cljs.tools.reader.map_func(form),cljs.tools.reader.flatten_map(form)):((cljs.core.vector_QMARK_(form))?(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22vec\x22,\x22cljs.core/vec\x22,307622519,null),(new cljs.core.List(null,cljs.tools.reader.syntax_quote_coll(null,form),null,(1),null)),(2),null)):((cljs.core.set_QMARK_(form))?cljs.tools.reader.syntax_quote_coll(new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-set\x22,\x22cljs.core/hash-set\x22,1130426749,null),form):((((cljs.core.seq_QMARK_(form)) || (cljs.core.list_QMARK_(form))))?(function (){var seq \x3d cljs.core.seq(form);\nif(seq){\nreturn cljs.tools.reader.syntax_quote_coll(null,seq);\n} else {\nreturn cljs.core.list(new cljs.core.Symbol(\x22cljs.core\x22,\x22list\x22,\x22cljs.core/list\x22,-1331406371,null));\n}\n})():(function(){throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22Unknown Collection type\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22unsupported-operation\x22,\x22unsupported-operation\x22,1890540953)], null))})()\n))))):(((((form instanceof cljs.core.Keyword)) || (((typeof form \x3d\x3d\x3d \x27number\x27) || (((typeof form \x3d\x3d\x3d \x27string\x27) || ((((form \x3d\x3d null)) || (((cljs.tools.reader.bool_QMARK_(form)) || ((form instanceof RegExp))))))))))))?form:(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null))\n)))))));\n});\ncljs.tools.reader.read_syntax_quote \x3d (function cljs$tools$reader$read_syntax_quote(rdr,backquote,opts,pending_forms){\nvar gensym_env_orig_val__39832 \x3d cljs.tools.reader.gensym_env;\nvar gensym_env_temp_val__39833 \x3d cljs.core.PersistentArrayMap.EMPTY;\n(cljs.tools.reader.gensym_env \x3d gensym_env_temp_val__39833);\n\ntry{return cljs.tools.reader.syntax_quote_STAR_((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\n}finally {(cljs.tools.reader.gensym_env \x3d gensym_env_orig_val__39832);\n}});\ncljs.tools.reader.read_namespaced_map \x3d (function cljs$tools$reader$read_namespaced_map(rdr,_,opts,pending_forms){\nvar vec__39835 \x3d cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39835,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39835,(1),null);\nvar token \x3d cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),cljs.tools.reader.reader_types.read_char(rdr));\nvar temp__5821__auto__ \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\x22:\x22))?cljs.core.ns_name(cljs.core._STAR_ns_STAR_):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,cljs.core.first(token)))?(function (){var G__39840 \x3d token;\nvar G__39840__$1 \x3d (((G__39840 \x3d\x3d null))?null:cljs.core.subs.cljs$core$IFn$_invoke$arity$2(G__39840,(1)));\nvar G__39840__$2 \x3d (((G__39840__$1 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__39840__$1));\nvar G__39840__$3 \x3d (((G__39840__$2 \x3d\x3d null))?null:cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__39840__$2));\nvar G__39840__$4 \x3d (((G__39840__$3 \x3d\x3d null))?null:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__39840__$3));\nif((G__39840__$4 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.resolve_ns(G__39840__$4);\n}\n})():(function (){var G__39847 \x3d token;\nvar G__39847__$1 \x3d (((G__39847 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__39847));\nif((G__39847__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__39847__$1);\n}\n})()\n));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns \x3d temp__5821__auto__;\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif((ch \x3d\x3d\x3d \x22{\x22)){\nvar items \x3d cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),\x22}\x22,rdr,opts,pending_forms);\nvar vec__39848 \x3d cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39848,(0),null);\nvar end_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39848,(1),null);\nif(cljs.core.odd_QMARK_(cljs.core.count(items))){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,null,null,items);\n} else {\n}\n\nvar keys \x3d cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),items));\nvar vals \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(items));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.set(keys)),cljs.core.count(keys))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),keys);\n}\n\nreturn cljs.core.with_meta(cljs.core.zipmap(keys,vals),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5823__auto__ \x3d cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar file \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),start_line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),start_column,new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),end_line,new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),end_column], null)], 0)):null));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_ns_map_no_map(rdr,token);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_ns(rdr,token);\n}\n});\ncljs.tools.reader.macros \x3d (function cljs$tools$reader$macros(ch){\nvar G__39852 \x3d ch;\nswitch (G__39852) {\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.read_string_STAR_;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.read_keyword;\n\nbreak;\ncase \x22;\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22\x27\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null));\n\nbreak;\ncase \x22@\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null));\n\nbreak;\ncase \x22^\x22:\nreturn cljs.tools.reader.read_meta;\n\nbreak;\ncase \x22`\x22:\nreturn cljs.tools.reader.read_syntax_quote;\n\nbreak;\ncase \x22~\x22:\nreturn cljs.tools.reader.read_unquote;\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.read_list;\n\nbreak;\ncase \x22)\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22[\x22:\nreturn cljs.tools.reader.read_vector;\n\nbreak;\ncase \x22]\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.read_map;\n\nbreak;\ncase \x22}\x22:\nreturn cljs.tools.reader.read_unmatched_delimiter;\n\nbreak;\ncase \x22\\\\\x22:\nreturn cljs.tools.reader.read_char_STAR_;\n\nbreak;\ncase \x22%\x22:\nreturn cljs.tools.reader.read_arg;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.read_dispatch;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.dispatch_macros \x3d (function cljs$tools$reader$dispatch_macros(ch){\nvar G__39863 \x3d ch;\nswitch (G__39863) {\ncase \x22^\x22:\nreturn cljs.tools.reader.read_meta;\n\nbreak;\ncase \x22\x27\x22:\nreturn cljs.tools.reader.wrapping_reader(new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null));\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.read_fn;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.read_set;\n\nbreak;\ncase \x22\x3c\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22Unreadable form\x22);\n\nbreak;\ncase \x22\x3d\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22read-eval not supported\x22);\n\nbreak;\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.read_regex;\n\nbreak;\ncase \x22!\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22_\x22:\nreturn cljs.tools.reader.read_discard;\n\nbreak;\ncase \x22?\x22:\nreturn cljs.tools.reader.read_cond;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.read_namespaced_map;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.read_symbolic_value;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.read_tagged \x3d (function cljs$tools$reader$read_tagged(rdr,initch,opts,pending_forms){\nvar tag \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((!((tag instanceof cljs.core.Symbol)))){\ncljs.tools.reader.impl.errors.throw_bad_reader_tag(rdr,tag);\n} else {\n}\n\nif(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.core.tagged_literal(tag,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\n} else {\nvar temp__5821__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.tools.reader._STAR_data_readers_STAR_.call(null,tag);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1(tag) : cljs.tools.reader.default_data_readers.call(null,tag));\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar f \x3d temp__5821__auto__;\nvar G__39867 \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__39867) : f.call(null,G__39867));\n} else {\nvar temp__5821__auto____$1 \x3d cljs.tools.reader._STAR_default_data_reader_fn_STAR_;\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar f \x3d temp__5821__auto____$1;\nvar G__39868 \x3d tag;\nvar G__39869 \x3d (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__39868,G__39869) : f.call(null,G__39868,G__39869));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unknown_reader_tag(rdr,tag);\n}\n}\n}\n});\n/**\n * Map from reader tag symbols to data reader Vars.\n * Reader tags without namespace qualifiers are reserved for Clojure.\n * This light version of tools.reader has no implementation for default\n * reader tags such as #inst and #uuid.\n */\ncljs.tools.reader._STAR_data_readers_STAR_ \x3d cljs.core.PersistentArrayMap.EMPTY;\n/**\n * When no data reader is found for a tag and *default-data-reader-fn*\n * is non-nil, it will be called with two arguments, the tag and the value.\n * If *default-data-reader-fn* is nil (the default value), an exception\n * will be thrown for the unknown tag.\n */\ncljs.tools.reader._STAR_default_data_reader_fn_STAR_ \x3d null;\ncljs.tools.reader._STAR_suppress_read_STAR_ \x3d false;\n/**\n * Default map of data reader functions provided by Clojure.\n * May be overridden by binding *data-readers*\n */\ncljs.tools.reader.default_data_readers \x3d cljs.core.PersistentArrayMap.EMPTY;\ncljs.tools.reader.read_STAR__internal \x3d (function cljs$tools$reader$read_STAR__internal(reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms){\nwhile(true){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(reader,(function (){\nwhile(true){\nif((!(cljs.tools.reader.goog$module$goog$array.isEmpty(pending_forms)))){\nvar form \x3d (pending_forms[(0)]);\ncljs.tools.reader.goog$module$goog$array.removeAt(pending_forms,(0));\n\nreturn form;\n} else {\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(eof_error_QMARK_){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn sentinel;\n}\n} else {\nif((ch \x3d\x3d\x3d return_on)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.read_number(reader,ch);\n} else {\nvar f \x3d cljs.tools.reader.macros(ch);\nif((!((f \x3d\x3d null)))){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(reader,ch,opts,pending_forms) : f.call(null,reader,ch,opts,pending_forms));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.read_symbol(reader,ch);\n}\n\n}\n}\n}\n}\n}\nbreak;\n}\n}));\n} else {\nif((!(cljs.tools.reader.goog$module$goog$array.isEmpty(pending_forms)))){\nvar form \x3d (pending_forms[(0)]);\ncljs.tools.reader.goog$module$goog$array.removeAt(pending_forms,(0));\n\nreturn form;\n} else {\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(eof_error_QMARK_){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn sentinel;\n}\n} else {\nif((ch \x3d\x3d\x3d return_on)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.read_number(reader,ch);\n} else {\nvar f \x3d cljs.tools.reader.macros(ch);\nif((!((f \x3d\x3d null)))){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(reader,ch,opts,pending_forms) : f.call(null,reader,ch,opts,pending_forms));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.read_symbol(reader,ch);\n}\n\n}\n}\n}\n}\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_STAR_ \x3d (function cljs$tools$reader$read_STAR_(var_args){\nvar G__39887 \x3d arguments.length;\nswitch (G__39887) {\ncase 5:\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 \x3d (function (reader,eof_error_QMARK_,sentinel,opts,pending_forms){\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,eof_error_QMARK_,sentinel,null,opts,pending_forms);\n}));\n\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 \x3d (function (reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms){\ntry{return cljs.tools.reader.read_STAR__internal(reader,eof_error_QMARK_,sentinel,return_on,opts,pending_forms);\n}catch (e39888){if((e39888 instanceof Error)){\nvar e \x3d e39888;\nif(cljs.tools.reader.impl.utils.ex_info_QMARK_(e)){\nvar d \x3d cljs.core.ex_data(e);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d))){\nthrow e;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),d,((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)], null):null)], 0)),e);\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),reader.cljs$tools$reader$reader_types$IndexingReader$get_file_name$arity$1(null)], null):null)], 0)),e);\n}\n} else {\nthrow e39888;\n\n}\n}}));\n\n(cljs.tools.reader.read_STAR_.cljs$lang$maxFixedArity \x3d 6);\n\n/**\n * Reads the first object from an IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true.\n * Otherwise returns sentinel. If no stream is provided, *in* will be used.\n * \n * Opts is a persistent map with valid keys:\n * :read-cond - :allow to process reader conditionals, or\n * :preserve to keep all branches\n * :features - persistent set of feature keywords for reader conditionals\n * :eof - on eof, return value unless :eofthrow, then throw.\n * if not specified, will throw\n * \n * To read data structures only, use cljs.tools.reader.edn/read\n * \n * Note that the function signature of cljs.tools.reader/read and\n * cljs.tools.reader.edn/read is not the same for eof-handling\n */\ncljs.tools.reader.read \x3d (function cljs$tools$reader$read(var_args){\nvar G__39910 \x3d arguments.length;\nswitch (G__39910) {\ncase 1:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(reader,true,null);\n}));\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__39918,reader){\nvar map__39919 \x3d p__39918;\nvar map__39919__$1 \x3d cljs.core.__destructure_map(map__39919);\nvar opts \x3d map__39919__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__39919__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531));\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(eof,new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531)),eof,null,opts,cljs.core.to_array(cljs.core.PersistentVector.EMPTY));\n}));\n\n(cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3 \x3d (function (reader,eof_error_QMARK_,sentinel){\nreturn cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(reader,eof_error_QMARK_,sentinel,null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.to_array(cljs.core.PersistentVector.EMPTY));\n}));\n\n(cljs.tools.reader.read.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * To read data structures only, use cljs.tools.reader.edn/read-string\n * \n * Note that the function signature of cljs.tools.reader/read-string and\n * cljs.tools.reader.edn/read-string is not the same for eof-handling\n */\ncljs.tools.reader.read_string \x3d (function cljs$tools$reader$read_string(var_args){\nvar G__39923 \x3d arguments.length;\nswitch (G__39923) {\ncase 1:\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,s);\n}));\n\n(cljs.tools.reader.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!((s \x3d\x3d\x3d \x22\x22)));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.read_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Like read, and taking the same args. reader must be a SourceLoggingPushbackReader.\n * Returns a vector containing the object read and the (whitespace-trimmed) string read.\n */\ncljs.tools.reader.read_PLUS_string \x3d (function cljs$tools$reader$read_PLUS_string(var_args){\nvar G__39932 \x3d arguments.length;\nswitch (G__39932) {\ncase 1:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (stream){\nreturn cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3(stream,true,null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,eof_error_QMARK_,eof_value){\nvar buf \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(stream.frames));\nvar _ \x3d buf.clear();\nvar o \x3d ((((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(stream)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(stream)))))))?cljs.tools.reader.reader_types.log_source_STAR_(stream,(function (){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(stream,eof_error_QMARK_,eof_value);\n})):cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$3(stream,eof_error_QMARK_,eof_value));\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(buf).trim();\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [o,s], null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,stream){\nvar buf \x3d new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(stream.frames));\nvar _ \x3d buf.clear();\nvar o \x3d ((((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(stream)) \x26\x26 ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(stream)))))))?cljs.tools.reader.reader_types.log_source_STAR_(stream,(function (){\nreturn cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,stream);\n})):cljs.tools.reader.read.cljs$core$IFn$_invoke$arity$2(opts,stream));\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(buf).trim();\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [o,s], null);\n}));\n\n(cljs.tools.reader.read_PLUS_string.cljs$lang$maxFixedArity \x3d 3);\n\n");
SHADOW_ENV.evalLoad("cljs.tools.reader.edn.js", true, "goog.provide(\x27cljs.tools.reader.edn\x27);\n\n\ncljs.tools.reader.edn.macro_terminating_QMARK_ \x3d (function cljs$tools$reader$edn$macro_terminating_QMARK_(ch){\nvar and__5023__auto__ \x3d (!((\x22#\x22 \x3d\x3d\x3d ch)));\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (!((\x22\x27\x22 \x3d\x3d\x3d ch)));\nif(and__5023__auto____$1){\nvar and__5023__auto____$2 \x3d (!((\x22:\x22 \x3d\x3d\x3d ch)));\nif(and__5023__auto____$2){\nreturn (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n});\ncljs.tools.reader.edn.not_constituent_QMARK_ \x3d (function cljs$tools$reader$edn$not_constituent_QMARK_(ch){\nreturn (((\x22@\x22 \x3d\x3d\x3d ch)) || ((((\x22`\x22 \x3d\x3d\x3d ch)) || ((\x22~\x22 \x3d\x3d\x3d ch)))));\n});\ncljs.tools.reader.edn.read_token \x3d (function cljs$tools$reader$edn$read_token(var_args){\nvar G__39970 \x3d arguments.length;\nswitch (G__39970) {\ncase 3:\nreturn cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3 \x3d (function (rdr,kind,initch){\nreturn cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4(rdr,kind,initch,true);\n}));\n\n(cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4 \x3d (function (rdr,kind,initch,validate_leading_QMARK_){\nif(cljs.core.not(initch)){\nreturn cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d validate_leading_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.tools.reader.edn.not_constituent_QMARK_(initch);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.tools.reader.impl.errors.throw_bad_char(rdr,kind,initch);\n} else {\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d initch;\nwhile(true){\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (((cljs.tools.reader.edn.macro_terminating_QMARK_(ch)) || ((ch \x3d\x3d null)))))){\nif((ch \x3d\x3d null)){\n} else {\ncljs.tools.reader.reader_types.unread(rdr,ch);\n}\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif(cljs.tools.reader.edn.not_constituent_QMARK_(ch)){\nreturn cljs.tools.reader.impl.errors.throw_bad_char(rdr,kind,ch);\n} else {\nvar G__40267 \x3d (function (){var G__39976 \x3d sb;\nG__39976.append(ch);\n\nreturn G__39976;\n})();\nvar G__40268 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40267;\nch \x3d G__40268;\ncontinue;\n}\n}\nbreak;\n}\n\n}\n}\n}));\n\n(cljs.tools.reader.edn.read_token.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.tools.reader.edn.read_dispatch \x3d (function cljs$tools$reader$edn$read_dispatch(rdr,_,opts){\nvar temp__5821__auto__ \x3d cljs.tools.reader.reader_types.read_char(rdr);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ch \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d (cljs.tools.reader.edn.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.dispatch_macros.call(null,ch));\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar dm \x3d temp__5821__auto____$1;\nreturn (dm.cljs$core$IFn$_invoke$arity$3 ? dm.cljs$core$IFn$_invoke$arity$3(rdr,ch,opts) : dm.call(null,rdr,ch,opts));\n} else {\nvar G__39979 \x3d (function (){var G__39982 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__39982,ch);\n\nreturn G__39982;\n})();\nvar G__39980 \x3d ch;\nvar G__39981 \x3d opts;\nreturn (cljs.tools.reader.edn.read_tagged.cljs$core$IFn$_invoke$arity$3 ? cljs.tools.reader.edn.read_tagged.cljs$core$IFn$_invoke$arity$3(G__39979,G__39980,G__39981) : cljs.tools.reader.edn.read_tagged.call(null,G__39979,G__39980,G__39981));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr);\n}\n});\ncljs.tools.reader.edn.read_unmatched_delimiter \x3d (function cljs$tools$reader$edn$read_unmatched_delimiter(rdr,ch,opts){\nreturn cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,ch);\n});\ncljs.tools.reader.edn.read_unicode_char \x3d (function cljs$tools$reader$edn$read_unicode_char(var_args){\nvar G__39993 \x3d arguments.length;\nswitch (G__39993) {\ncase 4:\nreturn cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4 \x3d (function (token,offset,length,base){\nvar l \x3d (offset + length);\nif((cljs.core.count(token) \x3d\x3d\x3d l)){\n} else {\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token);\n}\n\nvar i \x3d offset;\nvar uc \x3d (0);\nwhile(true){\nif((i \x3d\x3d\x3d l)){\nreturn String.fromCharCode(uc);\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base);\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token);\n} else {\nvar G__40289 \x3d (i + (1));\nvar G__40290 \x3d (d + (uc * base));\ni \x3d G__40289;\nuc \x3d G__40290;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5 \x3d (function (rdr,initch,base,length,exact_QMARK_){\nvar i \x3d (1);\nvar uc \x3d cljs.tools.reader.impl.utils.char_code(initch,base);\nwhile(true){\nif((uc \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch);\n} else {\nif((!((i \x3d\x3d\x3d length)))){\nvar ch \x3d cljs.tools.reader.reader_types.peek_char(rdr);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(exact_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length);\n} else {\nreturn String.fromCharCode(uc);\n}\n} else {\nvar d \x3d cljs.tools.reader.impl.utils.char_code(ch,base);\ncljs.tools.reader.reader_types.read_char(rdr);\n\nif((d \x3d\x3d\x3d (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch);\n} else {\nvar G__40297 \x3d (i + (1));\nvar G__40298 \x3d (d + (uc * base));\ni \x3d G__40297;\nuc \x3d G__40298;\ncontinue;\n}\n}\n} else {\nreturn String.fromCharCode(uc);\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.edn.read_unicode_char.cljs$lang$maxFixedArity \x3d 5);\n\ncljs.tools.reader.edn.upper_limit \x3d \x22\\uD7FF\x22.charCodeAt((0));\ncljs.tools.reader.edn.lower_limit \x3d \x22\\uE000\x22.charCodeAt((0));\ncljs.tools.reader.edn.read_char_STAR_ \x3d (function cljs$tools$reader$edn$read_char_STAR_(rdr,backslash,opts){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nif((!((ch \x3d\x3d null)))){\nvar token \x3d ((((cljs.tools.reader.edn.macro_terminating_QMARK_(ch)) || (((cljs.tools.reader.edn.not_constituent_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$4(rdr,new cljs.core.Keyword(null,\x22character\x22,\x22character\x22,380652989),ch,false));\nvar token_len \x3d ((token).length);\nif(((1) \x3d\x3d\x3d token_len)){\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,(0));\n} else {\nif((token \x3d\x3d\x3d \x22newline\x22)){\nreturn \x22\\n\x22;\n} else {\nif((token \x3d\x3d\x3d \x22space\x22)){\nreturn \x22 \x22;\n} else {\nif((token \x3d\x3d\x3d \x22tab\x22)){\nreturn \x22\\t\x22;\n} else {\nif((token \x3d\x3d\x3d \x22backspace\x22)){\nreturn \x22\\b\x22;\n} else {\nif((token \x3d\x3d\x3d \x22formfeed\x22)){\nreturn \x22\\f\x22;\n} else {\nif((token \x3d\x3d\x3d \x22return\x22)){\nreturn \x22\\r\x22;\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22u\x22))){\nvar c \x3d cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),(4),(16));\nvar ic \x3d c.charCodeAt();\nif((((ic \x3e cljs.tools.reader.edn.upper_limit)) \x26\x26 ((ic \x3c cljs.tools.reader.edn.lower_limit)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16)));\n} else {\nreturn c;\n}\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\x22o\x22))){\nvar len \x3d (token_len - (1));\nif((len \x3e (3))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_octal_len(rdr,token);\n} else {\nvar uc \x3d cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),len,(8));\nif(((uc | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn uc;\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.edn.starting_line_col_info \x3d (function cljs$tools$reader$edn$starting_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.tools.reader.reader_types.get_line_number(rdr),(((cljs.tools.reader.reader_types.get_column_number(rdr) | (0)) - (1)) | (0))], null);\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.edn.read_delimited \x3d (function cljs$tools$reader$edn$read_delimited(kind,delim,rdr,opts){\nvar vec__40045 \x3d cljs.tools.reader.edn.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40045,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40045,(1),null);\nvar delim__$1 \x3d cljs.tools.reader.impl.utils.char$(delim);\nvar a \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif(cljs.core.truth_(ch)){\n} else {\ncljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(delim__$1,cljs.tools.reader.impl.utils.char$(ch))){\nreturn cljs.core.persistent_BANG_(a);\n} else {\nvar temp__5821__auto__ \x3d (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar macrofn \x3d temp__5821__auto__;\nvar mret \x3d (macrofn.cljs$core$IFn$_invoke$arity$3 ? macrofn.cljs$core$IFn$_invoke$arity$3(rdr,ch,opts) : macrofn.call(null,rdr,ch,opts));\nvar G__40323 \x3d (((!((mret \x3d\x3d\x3d rdr))))?cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,mret):a);\na \x3d G__40323;\ncontinue;\n} else {\nvar o \x3d (function (){var G__40055 \x3d (function (){var G__40060 \x3d rdr;\ncljs.tools.reader.reader_types.unread(G__40060,ch);\n\nreturn G__40060;\n})();\nvar G__40056 \x3d true;\nvar G__40057 \x3d null;\nvar G__40058 \x3d opts;\nreturn (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(G__40055,G__40056,G__40057,G__40058) : cljs.tools.reader.edn.read.call(null,G__40055,G__40056,G__40057,G__40058));\n})();\nvar G__40327 \x3d (((!((o \x3d\x3d\x3d rdr))))?cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,o):a);\na \x3d G__40327;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.edn.read_list \x3d (function cljs$tools$reader$edn$read_list(rdr,_,opts){\nvar the_list \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22list\x22,\x22list\x22,765357683),\x22)\x22,rdr,opts);\nif(cljs.core.empty_QMARK_(the_list)){\nreturn cljs.core.List.EMPTY;\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list);\n}\n});\ncljs.tools.reader.edn.read_vector \x3d (function cljs$tools$reader$edn$read_vector(rdr,_,opts){\nreturn cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22vector\x22,\x22vector\x22,1902966158),\x22]\x22,rdr,opts);\n});\ncljs.tools.reader.edn.read_map \x3d (function cljs$tools$reader$edn$read_map(rdr,_,opts){\nvar vec__40075 \x3d cljs.tools.reader.edn.starting_line_col_info(rdr);\nvar start_line \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40075,(0),null);\nvar start_column \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40075,(1),null);\nvar the_map \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),\x22}\x22,rdr,opts);\nvar map_count \x3d cljs.core.count(the_map);\nvar ks \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map);\nvar key_set \x3d cljs.core.set(ks);\nif(cljs.core.odd_QMARK_(map_count)){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map);\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks);\n}\n\nif((map_count \x3c\x3d ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){\nreturn cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true);\n} else {\nreturn cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true);\n}\n});\ncljs.tools.reader.edn.read_number \x3d (function cljs$tools$reader$edn$read_number(rdr,initch,opts){\nvar sb \x3d (function (){var G__40086 \x3d (new goog.string.StringBuffer());\nG__40086.append(initch);\n\nreturn G__40086;\n})();\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.edn.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.edn.macros.call(null,ch));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nif((ch \x3d\x3d null)){\n} else {\ncljs.tools.reader.reader_types.unread(rdr,ch);\n}\n\nvar or__5025__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s);\n}\n} else {\nvar G__40348 \x3d (function (){var G__40091 \x3d sb;\nG__40091.append(ch);\n\nreturn G__40091;\n})();\nvar G__40349 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40348;\nch \x3d G__40349;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.edn.escape_char \x3d (function cljs$tools$reader$edn$escape_char(sb,rdr){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nvar G__40103 \x3d ch;\nswitch (G__40103) {\ncase \x22t\x22:\nreturn \x22\\t\x22;\n\nbreak;\ncase \x22r\x22:\nreturn \x22\\r\x22;\n\nbreak;\ncase \x22n\x22:\nreturn \x22\\n\x22;\n\nbreak;\ncase \x22\\\\\x22:\nreturn \x22\\\\\x22;\n\nbreak;\ncase \x22\\\x22\x22:\nreturn \x22\\\x22\x22;\n\nbreak;\ncase \x22b\x22:\nreturn \x22\\b\x22;\n\nbreak;\ncase \x22f\x22:\nreturn \x22\\f\x22;\n\nbreak;\ncase \x22u\x22:\nvar ch__$1 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nif(((-1) \x3d\x3d\x3d parseInt((ch__$1 | (0)),(16)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1);\n} else {\nreturn cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true);\n}\n\nbreak;\ndefault:\nif(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){\nvar ch__$1 \x3d cljs.tools.reader.edn.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false);\nif(((ch__$1 | (0)) \x3e (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn ch__$1;\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,ch);\n}\n\n}\n});\ncljs.tools.reader.edn.read_string_STAR_ \x3d (function cljs$tools$reader$edn$read_string_STAR_(rdr,_,opts){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d cljs.tools.reader.reader_types.read_char(rdr);\nwhile(true){\nvar G__40111 \x3d ch;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__40111)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\x22string\x22,\x22string\x22,-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22\\\x22\x22,sb], 0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\\\x22,G__40111)){\nvar G__40370 \x3d (function (){var G__40113 \x3d sb;\nG__40113.append(cljs.tools.reader.edn.escape_char(sb,rdr));\n\nreturn G__40113;\n})();\nvar G__40371 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40370;\nch \x3d G__40371;\ncontinue;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__40111)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nvar G__40372 \x3d (function (){var G__40117 \x3d sb;\nG__40117.append(ch);\n\nreturn G__40117;\n})();\nvar G__40373 \x3d cljs.tools.reader.reader_types.read_char(rdr);\nsb \x3d G__40372;\nch \x3d G__40373;\ncontinue;\n\n}\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.edn.read_symbol \x3d (function cljs$tools$reader$edn$read_symbol(rdr,initch){\nvar temp__5823__auto__ \x3d cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar token \x3d temp__5823__auto__;\nvar G__40120 \x3d token;\nswitch (G__40120) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto____$1 \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar p \x3d temp__5823__auto____$1;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((0)) : p.call(null,(0))),(p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((1)) : p.call(null,(1))));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),token);\n}\n\n}\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.edn.read_keyword \x3d (function cljs$tools$reader$edn$read_keyword(reader,initch,opts){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(reader);\nif((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){\nvar token \x3d cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),ch);\nvar s \x3d cljs.tools.reader.impl.commons.parse_symbol(token);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((-1) \x3d\x3d\x3d token.indexOf(\x22::\x22));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar ns \x3d (s.cljs$core$IFn$_invoke$arity$1 ? s.cljs$core$IFn$_invoke$arity$1((0)) : s.call(null,(0)));\nvar name \x3d (s.cljs$core$IFn$_invoke$arity$1 ? s.cljs$core$IFn$_invoke$arity$1((1)) : s.call(null,(1)));\nif((\x22:\x22 \x3d\x3d\x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,(0)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(\x27\x27));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_single_colon(reader);\n}\n});\ncljs.tools.reader.edn.wrapping_reader \x3d (function cljs$tools$reader$edn$wrapping_reader(sym){\nreturn (function (rdr,_,opts){\nreturn (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts)),null,(1),null)),(2),null));\n});\n});\ncljs.tools.reader.edn.read_meta \x3d (function cljs$tools$reader$edn$read_meta(rdr,_,opts){\nvar m \x3d cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nif((((!((o \x3d\x3d null))))?(((((o.cljs$lang$protocol_mask$partition0$ \x26 (131072))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d o.cljs$core$IMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m], 0)));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n});\ncljs.tools.reader.edn.read_set \x3d (function cljs$tools$reader$edn$read_set(rdr,_,opts){\nvar coll \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),\x22}\x22,rdr,opts);\nvar the_set \x3d cljs.core.set(coll);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll);\n}\n\nreturn the_set;\n});\ncljs.tools.reader.edn.read_discard \x3d (function cljs$tools$reader$edn$read_discard(rdr,_,opts){\nvar G__40158 \x3d rdr;\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(G__40158,true,null,true) : cljs.tools.reader.edn.read.call(null,G__40158,true,null,true));\n\nreturn G__40158;\n});\ncljs.tools.reader.edn.read_namespaced_map \x3d (function cljs$tools$reader$edn$read_namespaced_map(rdr,_,opts){\nvar token \x3d cljs.tools.reader.edn.read_token.cljs$core$IFn$_invoke$arity$3(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),cljs.tools.reader.reader_types.read_char(rdr));\nvar temp__5821__auto__ \x3d (function (){var G__40172 \x3d token;\nvar G__40172__$1 \x3d (((G__40172 \x3d\x3d null))?null:cljs.tools.reader.impl.commons.parse_symbol(G__40172));\nif((G__40172__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.tools.reader.impl.utils.second_SINGLEQUOTE_(G__40172__$1);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns \x3d temp__5821__auto__;\nvar ch \x3d cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr);\nif((ch \x3d\x3d\x3d \x22{\x22)){\nvar items \x3d cljs.tools.reader.edn.read_delimited(new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),\x22}\x22,rdr,opts);\nif(cljs.core.odd_QMARK_(cljs.core.count(items))){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,null,null,items);\n} else {\n}\n\nvar keys \x3d cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),items));\nvar vals \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(items));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(cljs.core.set(keys)),cljs.core.count(keys))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\x22namespaced-map\x22,\x22namespaced-map\x22,1235665380),keys);\n}\n\nreturn cljs.core.zipmap(keys,vals);\n} else {\nreturn cljs.tools.reader.impl.errors.throw_ns_map_no_map(rdr,token);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_ns(rdr,token);\n}\n});\ncljs.tools.reader.edn.read_symbolic_value \x3d (function cljs$tools$reader$edn$read_symbolic_value(rdr,_,opts){\nvar sym \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nvar G__40177 \x3d sym;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22NaN\x22,\x22NaN\x22,666918153,null),G__40177)){\nreturn Number.NaN;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-Inf\x22,\x22-Inf\x22,-2123243689,null),G__40177)){\nreturn Number.NEGATIVE_INFINITY;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Inf\x22,\x22Inf\x22,647172781,null),G__40177)){\nreturn Number.POSITIVE_INFINITY;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Invalid token: ##\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)], 0));\n\n}\n}\n}\n});\ncljs.tools.reader.edn.macros \x3d (function cljs$tools$reader$edn$macros(ch){\nvar G__40181 \x3d ch;\nswitch (G__40181) {\ncase \x22\\\x22\x22:\nreturn cljs.tools.reader.edn.read_string_STAR_;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.edn.read_keyword;\n\nbreak;\ncase \x22;\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22^\x22:\nreturn cljs.tools.reader.edn.read_meta;\n\nbreak;\ncase \x22(\x22:\nreturn cljs.tools.reader.edn.read_list;\n\nbreak;\ncase \x22)\x22:\nreturn cljs.tools.reader.edn.read_unmatched_delimiter;\n\nbreak;\ncase \x22[\x22:\nreturn cljs.tools.reader.edn.read_vector;\n\nbreak;\ncase \x22]\x22:\nreturn cljs.tools.reader.edn.read_unmatched_delimiter;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.edn.read_map;\n\nbreak;\ncase \x22}\x22:\nreturn cljs.tools.reader.edn.read_unmatched_delimiter;\n\nbreak;\ncase \x22\\\\\x22:\nreturn cljs.tools.reader.edn.read_char_STAR_;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.edn.read_dispatch;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.edn.dispatch_macros \x3d (function cljs$tools$reader$edn$dispatch_macros(ch){\nvar G__40192 \x3d ch;\nswitch (G__40192) {\ncase \x22^\x22:\nreturn cljs.tools.reader.edn.read_meta;\n\nbreak;\ncase \x22{\x22:\nreturn cljs.tools.reader.edn.read_set;\n\nbreak;\ncase \x22\x3c\x22:\nreturn cljs.tools.reader.impl.commons.throwing_reader(\x22Unreadable form\x22);\n\nbreak;\ncase \x22!\x22:\nreturn cljs.tools.reader.impl.commons.read_comment;\n\nbreak;\ncase \x22_\x22:\nreturn cljs.tools.reader.edn.read_discard;\n\nbreak;\ncase \x22:\x22:\nreturn cljs.tools.reader.edn.read_namespaced_map;\n\nbreak;\ncase \x22#\x22:\nreturn cljs.tools.reader.edn.read_symbolic_value;\n\nbreak;\ndefault:\nreturn null;\n\n}\n});\ncljs.tools.reader.edn.read_tagged \x3d (function cljs$tools$reader$edn$read_tagged(rdr,initch,opts){\nvar tag \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nvar object \x3d (cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(rdr,true,null,opts) : cljs.tools.reader.edn.read.call(null,rdr,true,null,opts));\nif((!((tag instanceof cljs.core.Symbol)))){\ncljs.tools.reader.impl.errors.throw_bad_reader_tag(rdr,\x22Reader tag must be a symbol\x22);\n} else {\n}\n\nvar temp__5821__auto__ \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030).cljs$core$IFn$_invoke$arity$1(opts),tag);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.default_data_readers.cljs$core$IFn$_invoke$arity$1(tag) : cljs.tools.reader.default_data_readers.call(null,tag));\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar f \x3d temp__5821__auto__;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(object) : f.call(null,object));\n} else {\nvar temp__5821__auto____$1 \x3d new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar d \x3d temp__5821__auto____$1;\nreturn (d.cljs$core$IFn$_invoke$arity$2 ? d.cljs$core$IFn$_invoke$arity$2(tag,object) : d.call(null,tag,object));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unknown_reader_tag(rdr,tag);\n}\n}\n});\n/**\n * Reads the first object from an IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true otherwise returns eof.\n * If no reader is provided, *in* will be used.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * cljs.tools.reader.edn/read doesn\x27t depend on dynamic Vars, all configuration\n * is done by passing an opt map.\n * \n * opts is a map that can include the following keys:\n * :eof - value to return on end-of-file. When not supplied, eof throws an exception.\n * :readers - a map of tag symbols to data-reader functions to be considered before default-data-readers.\n * When not supplied, only the default-data-readers will be used.\n * :default - A function of two args, that will, if present and no reader is found for a tag,\n * be called with the tag and the value.\n */\ncljs.tools.reader.edn.read \x3d (function cljs$tools$reader$edn$read(var_args){\nvar G__40198 \x3d arguments.length;\nswitch (G__40198) {\ncase 1:\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,reader);\n}));\n\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__40208,reader){\nvar map__40209 \x3d p__40208;\nvar map__40209__$1 \x3d cljs.core.__destructure_map(map__40209);\nvar opts \x3d map__40209__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40209__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nvar eof_error_QMARK_ \x3d (!(cljs.core.contains_QMARK_(opts,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237))));\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(reader,eof_error_QMARK_,eof,opts);\n}));\n\n(cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4 \x3d (function (reader,eof_error_QMARK_,eof,opts){\ntry{while(true){\nvar ch \x3d cljs.tools.reader.reader_types.read_char(reader);\nif(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)){\ncontinue;\n} else {\nif((ch \x3d\x3d null)){\nif(cljs.core.truth_(eof_error_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(reader,null);\n} else {\nreturn eof;\n}\n} else {\nif(cljs.tools.reader.impl.commons.number_literal_QMARK_(reader,ch)){\nreturn cljs.tools.reader.edn.read_number(reader,ch,opts);\n} else {\nvar f \x3d cljs.tools.reader.edn.macros(ch);\nif(cljs.core.truth_(f)){\nvar res \x3d (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(reader,ch,opts) : f.call(null,reader,ch,opts));\nif((res \x3d\x3d\x3d reader)){\ncontinue;\n} else {\nreturn res;\n}\n} else {\nreturn cljs.tools.reader.edn.read_symbol(reader,ch);\n}\n\n}\n}\n}\nbreak;\n}\n}catch (e40218){if((e40218 instanceof Error)){\nvar e \x3d e40218;\nif(cljs.tools.reader.impl.utils.ex_info_QMARK_(e)){\nvar d \x3d cljs.core.ex_data(e);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d))){\nthrow e;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),d,((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(reader),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),cljs.tools.reader.reader_types.get_column_number(reader),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(reader)], null):null)], 0)),e);\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(null,\x22reader-exception\x22,\x22reader-exception\x22,-1938323098)], null),((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.tools.reader.reader_types.get_line_number(reader),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),cljs.tools.reader.reader_types.get_column_number(reader),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.tools.reader.reader_types.get_file_name(reader)], null):null)], 0)),e);\n}\n} else {\nthrow e40218;\n\n}\n}}));\n\n(cljs.tools.reader.edn.read.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * opts is a map as per cljs.tools.reader.edn/read\n */\ncljs.tools.reader.edn.read_string \x3d (function cljs$tools$reader$edn$read_string(var_args){\nvar G__40234 \x3d arguments.length;\nswitch (G__40234) {\ncase 1:\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),null], null),s);\n}));\n\n(cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d s;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(s,\x22\x22);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(opts,cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n} else {\nreturn null;\n}\n}));\n\n(cljs.tools.reader.edn.read_string.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("cljs.reader.js", true, "goog.provide(\x27cljs.reader\x27);\ngoog.scope(function(){\n cljs.reader.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\ncljs.reader.zero_fill_right_and_truncate \x3d (function cljs$reader$zero_fill_right_and_truncate(s,width){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(width,cljs.core.count(s))){\nreturn s;\n} else {\nif((width \x3c cljs.core.count(s))){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),width);\n} else {\nvar b \x3d (new goog.string.StringBuffer(s));\nwhile(true){\nif((b.getLength() \x3c width)){\nvar G__40875 \x3d b.append(\x220\x22);\nb \x3d G__40875;\ncontinue;\n} else {\nreturn b.toString();\n}\nbreak;\n}\n\n}\n}\n});\ncljs.reader.divisible_QMARK_ \x3d (function cljs$reader$divisible_QMARK_(num,div){\nreturn (cljs.core.mod(num,div) \x3d\x3d\x3d (0));\n});\ncljs.reader.indivisible_QMARK_ \x3d (function cljs$reader$indivisible_QMARK_(num,div){\nreturn (!(cljs.reader.divisible_QMARK_(num,div)));\n});\ncljs.reader.leap_year_QMARK_ \x3d (function cljs$reader$leap_year_QMARK_(year){\nreturn ((cljs.reader.divisible_QMARK_(year,(4))) \x26\x26 (((cljs.reader.indivisible_QMARK_(year,(100))) || (cljs.reader.divisible_QMARK_(year,(400))))));\n});\ncljs.reader.days_in_month \x3d (function (){var dim_norm \x3d new cljs.core.PersistentVector(null, 13, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,(31),(28),(31),(30),(31),(30),(31),(31),(30),(31),(30),(31)], null);\nvar dim_leap \x3d new cljs.core.PersistentVector(null, 13, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,(31),(29),(31),(30),(31),(30),(31),(31),(30),(31),(30),(31)], null);\nreturn (function (month,leap_year_QMARK_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(leap_year_QMARK_)?dim_leap:dim_norm),month);\n});\n})();\ncljs.reader.timestamp_regex \x3d /(\\d\\d\\d\\d)(?:-(\\d\\d)(?:-(\\d\\d)(?:[T](\\d\\d)(?::(\\d\\d)(?::(\\d\\d)(?:[.](\\d+))?)?)?)?)?)?(?:[Z]|([-+])(\\d\\d):(\\d\\d))?/;\ncljs.reader.parse_int \x3d (function cljs$reader$parse_int(s){\nvar n \x3d parseInt(s,(10));\nif(cljs.core.not(isNaN(n))){\nreturn n;\n} else {\nreturn null;\n}\n});\ncljs.reader.check \x3d (function cljs$reader$check(low,n,high,msg){\nif((((low \x3c\x3d n)) \x26\x26 ((n \x3c\x3d high)))){\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(msg),\x22 Failed: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(low),\x22\x3c\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22\x3c\x3d\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(high)].join(\x27\x27)));\n}\n\nreturn n;\n});\ncljs.reader.parse_and_validate_timestamp \x3d (function cljs$reader$parse_and_validate_timestamp(s){\nvar vec__40829 \x3d cljs.core.re_matches(cljs.reader.timestamp_regex,s);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(0),null);\nvar years \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(1),null);\nvar months \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(2),null);\nvar days \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(3),null);\nvar hours \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(4),null);\nvar minutes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(5),null);\nvar seconds \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(6),null);\nvar fraction \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(7),null);\nvar offset_sign \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(8),null);\nvar offset_hours \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(9),null);\nvar offset_minutes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40829,(10),null);\nvar v \x3d vec__40829;\nif(cljs.core.not(v)){\nthrow (new Error([\x22Unrecognized date/time syntax: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(s)].join(\x27\x27)));\n} else {\nvar years__$1 \x3d cljs.reader.parse_int(years);\nvar months__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(months);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})();\nvar days__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(days);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (1);\n}\n})();\nvar hours__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(hours);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar minutes__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(minutes);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar seconds__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(seconds);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar fraction__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(cljs.reader.zero_fill_right_and_truncate(fraction,(3)));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar offset_sign__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(offset_sign,\x22-\x22))?(-1):(1));\nvar offset_hours__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(offset_hours);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar offset_minutes__$1 \x3d (function (){var or__5025__auto__ \x3d cljs.reader.parse_int(offset_minutes);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (0);\n}\n})();\nvar offset \x3d (offset_sign__$1 * ((offset_hours__$1 * (60)) + offset_minutes__$1));\nreturn new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [years__$1,cljs.reader.check((1),months__$1,(12),\x22timestamp month field must be in range 1..12\x22),cljs.reader.check((1),days__$1,cljs.reader.days_in_month(months__$1,cljs.reader.leap_year_QMARK_(years__$1)),\x22timestamp day field must be in range 1..last day in month\x22),cljs.reader.check((0),hours__$1,(23),\x22timestamp hour field must be in range 0..23\x22),cljs.reader.check((0),minutes__$1,(59),\x22timestamp minute field must be in range 0..59\x22),cljs.reader.check((0),seconds__$1,((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(minutes__$1,(59)))?(60):(59)),\x22timestamp second field must be in range 0..60\x22),cljs.reader.check((0),fraction__$1,(999),\x22timestamp millisecond field must be in range 0..999\x22),offset], null);\n}\n});\ncljs.reader.parse_timestamp \x3d (function cljs$reader$parse_timestamp(ts){\nvar temp__5821__auto__ \x3d cljs.reader.parse_and_validate_timestamp(ts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__40836 \x3d temp__5821__auto__;\nvar years \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(0),null);\nvar months \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(1),null);\nvar days \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(2),null);\nvar hours \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(3),null);\nvar minutes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(4),null);\nvar seconds \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(5),null);\nvar ms \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(6),null);\nvar offset \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40836,(7),null);\nreturn (new Date((Date.UTC(years,(months - (1)),days,hours,minutes,seconds,ms) - ((offset * (60)) * (1000)))));\n} else {\nthrow (new Error([\x22Unrecognized date/time syntax: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ts)].join(\x27\x27)));\n}\n});\ncljs.reader.read_date \x3d (function cljs$reader$read_date(s){\nif(typeof s \x3d\x3d\x3d \x27string\x27){\nreturn cljs.reader.parse_timestamp(s);\n} else {\nthrow (new Error(\x22Instance literal expects a string for its timestamp.\x22));\n}\n});\ncljs.reader.read_queue \x3d (function cljs$reader$read_queue(elems){\nif(cljs.core.vector_QMARK_(elems)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentQueue.EMPTY,elems);\n} else {\nthrow (new Error(\x22Queue literal expects a vector for its elements.\x22));\n}\n});\ncljs.reader.read_js \x3d (function cljs$reader$read_js(form){\nif(cljs.core.vector_QMARK_(form)){\nvar arr \x3d [];\nvar seq__40845_40877 \x3d cljs.core.seq(form);\nvar chunk__40846_40878 \x3d null;\nvar count__40847_40879 \x3d (0);\nvar i__40848_40880 \x3d (0);\nwhile(true){\nif((i__40848_40880 \x3c count__40847_40879)){\nvar x_40885 \x3d chunk__40846_40878.cljs$core$IIndexed$_nth$arity$2(null,i__40848_40880);\narr.push(x_40885);\n\n\nvar G__40886 \x3d seq__40845_40877;\nvar G__40887 \x3d chunk__40846_40878;\nvar G__40888 \x3d count__40847_40879;\nvar G__40889 \x3d (i__40848_40880 + (1));\nseq__40845_40877 \x3d G__40886;\nchunk__40846_40878 \x3d G__40887;\ncount__40847_40879 \x3d G__40888;\ni__40848_40880 \x3d G__40889;\ncontinue;\n} else {\nvar temp__5823__auto___40890 \x3d cljs.core.seq(seq__40845_40877);\nif(temp__5823__auto___40890){\nvar seq__40845_40891__$1 \x3d temp__5823__auto___40890;\nif(cljs.core.chunked_seq_QMARK_(seq__40845_40891__$1)){\nvar c__5548__auto___40892 \x3d cljs.core.chunk_first(seq__40845_40891__$1);\nvar G__40893 \x3d cljs.core.chunk_rest(seq__40845_40891__$1);\nvar G__40894 \x3d c__5548__auto___40892;\nvar G__40895 \x3d cljs.core.count(c__5548__auto___40892);\nvar G__40896 \x3d (0);\nseq__40845_40877 \x3d G__40893;\nchunk__40846_40878 \x3d G__40894;\ncount__40847_40879 \x3d G__40895;\ni__40848_40880 \x3d G__40896;\ncontinue;\n} else {\nvar x_40897 \x3d cljs.core.first(seq__40845_40891__$1);\narr.push(x_40897);\n\n\nvar G__40898 \x3d cljs.core.next(seq__40845_40891__$1);\nvar G__40899 \x3d null;\nvar G__40900 \x3d (0);\nvar G__40901 \x3d (0);\nseq__40845_40877 \x3d G__40898;\nchunk__40846_40878 \x3d G__40899;\ncount__40847_40879 \x3d G__40900;\ni__40848_40880 \x3d G__40901;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn arr;\n} else {\nif(cljs.core.map_QMARK_(form)){\nvar obj \x3d ({});\nvar seq__40851_40902 \x3d cljs.core.seq(form);\nvar chunk__40852_40903 \x3d null;\nvar count__40853_40904 \x3d (0);\nvar i__40854_40905 \x3d (0);\nwhile(true){\nif((i__40854_40905 \x3c count__40853_40904)){\nvar vec__40863_40906 \x3d chunk__40852_40903.cljs$core$IIndexed$_nth$arity$2(null,i__40854_40905);\nvar k_40907 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40863_40906,(0),null);\nvar v_40908 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40863_40906,(1),null);\ncljs.reader.goog$module$goog$object.set(obj,cljs.core.name(k_40907),v_40908);\n\n\nvar G__40909 \x3d seq__40851_40902;\nvar G__40910 \x3d chunk__40852_40903;\nvar G__40911 \x3d count__40853_40904;\nvar G__40912 \x3d (i__40854_40905 + (1));\nseq__40851_40902 \x3d G__40909;\nchunk__40852_40903 \x3d G__40910;\ncount__40853_40904 \x3d G__40911;\ni__40854_40905 \x3d G__40912;\ncontinue;\n} else {\nvar temp__5823__auto___40913 \x3d cljs.core.seq(seq__40851_40902);\nif(temp__5823__auto___40913){\nvar seq__40851_40914__$1 \x3d temp__5823__auto___40913;\nif(cljs.core.chunked_seq_QMARK_(seq__40851_40914__$1)){\nvar c__5548__auto___40915 \x3d cljs.core.chunk_first(seq__40851_40914__$1);\nvar G__40916 \x3d cljs.core.chunk_rest(seq__40851_40914__$1);\nvar G__40917 \x3d c__5548__auto___40915;\nvar G__40918 \x3d cljs.core.count(c__5548__auto___40915);\nvar G__40919 \x3d (0);\nseq__40851_40902 \x3d G__40916;\nchunk__40852_40903 \x3d G__40917;\ncount__40853_40904 \x3d G__40918;\ni__40854_40905 \x3d G__40919;\ncontinue;\n} else {\nvar vec__40866_40920 \x3d cljs.core.first(seq__40851_40914__$1);\nvar k_40921 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40866_40920,(0),null);\nvar v_40922 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40866_40920,(1),null);\ncljs.reader.goog$module$goog$object.set(obj,cljs.core.name(k_40921),v_40922);\n\n\nvar G__40923 \x3d cljs.core.next(seq__40851_40914__$1);\nvar G__40924 \x3d null;\nvar G__40925 \x3d (0);\nvar G__40926 \x3d (0);\nseq__40851_40902 \x3d G__40923;\nchunk__40852_40903 \x3d G__40924;\ncount__40853_40904 \x3d G__40925;\ni__40854_40905 \x3d G__40926;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nreturn obj;\n} else {\nthrow (new Error([\x22JS literal expects a vector or map containing \x22,\x22only string or unqualified keyword keys\x22].join(\x27\x27)));\n\n}\n}\n});\ncljs.reader.read_uuid \x3d (function cljs$reader$read_uuid(uuid){\nif(typeof uuid \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.uuid(uuid);\n} else {\nthrow (new Error(\x22UUID literal expects a string as its representation.\x22));\n}\n});\ncljs.reader._STAR_default_data_reader_fn_STAR_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null);\ncljs.reader._STAR_tag_table_STAR_ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22inst\x22,\x22inst\x22,-2008473268,null),cljs.reader.read_date,new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.reader.read_uuid,new cljs.core.Symbol(null,\x22queue\x22,\x22queue\x22,-1198599890,null),cljs.reader.read_queue,new cljs.core.Symbol(null,\x22js\x22,\x22js\x22,-886355190,null),cljs.reader.read_js], null),cljs.core.PersistentArrayMap.EMPTY], 0)));\n/**\n * Reads the first object from an cljs.tools.reader.reader-types/IPushbackReader.\n * Returns the object read. If EOF, throws if eof-error? is true otherwise returns eof.\n * If no reader is provided, *in* will be used.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * cljs.tools.reader.edn/read doesn\x27t depend on dynamic Vars, all configuration\n * is done by passing an opt map.\n * \n * opts is a map that can include the following keys:\n * :eof - value to return on end-of-file. When not supplied, eof throws an exception.\n * :readers - a map of tag symbols to data-reader functions to be considered before default-data-readers.\n * When not supplied, only the default-data-readers will be used.\n * :default - A function of two args, that will, if present and no reader is found for a tag,\n * be called with the tag and the value.\n */\ncljs.reader.read \x3d (function cljs$reader$read(var_args){\nvar G__40870 \x3d arguments.length;\nswitch (G__40870) {\ncase 1:\nreturn cljs.reader.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.reader.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 4:\nreturn cljs.reader.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.reader.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_),new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),null], null),reader);\n}));\n\n(cljs.reader.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (p__40871,reader){\nvar map__40872 \x3d p__40871;\nvar map__40872__$1 \x3d cljs.core.__destructure_map(map__40872);\nvar opts \x3d map__40872__$1;\nvar eof \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__40872__$1,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([opts,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_)], null)], 0)),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (m){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),m], 0));\n})),reader);\n}));\n\n(cljs.reader.read.cljs$core$IFn$_invoke$arity$4 \x3d (function (reader,eof_error_QMARK_,eof,opts){\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$4(reader,eof_error_QMARK_,eof,cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([opts,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_)], null)], 0)),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (m){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),m], 0));\n})));\n}));\n\n(cljs.reader.read.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Reads one object from the string s.\n * Returns nil when s is nil or empty.\n * \n * Reads data in the edn format (subset of Clojure data):\n * http://edn-format.org\n * \n * opts is a map as per cljs.tools.reader.edn/read\n */\ncljs.reader.read_string \x3d (function cljs$reader$read_string(var_args){\nvar G__40874 \x3d arguments.length;\nswitch (G__40874) {\ncase 1:\nreturn cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn cljs.reader.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(cljs.reader.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_),new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),null], null),s);\n}));\n\n(cljs.reader.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nreturn cljs.tools.reader.edn.read_string.cljs$core$IFn$_invoke$arity$2(cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_)], null),opts], 0)),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (m){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),m], 0));\n})),s);\n}));\n\n(cljs.reader.read_string.cljs$lang$maxFixedArity \x3d 2);\n\ncljs.reader.register_tag_parser_BANG_ \x3d (function cljs$reader$register_tag_parser_BANG_(tag,f){\nvar old_parser \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),tag);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.reader._STAR_tag_table_STAR_,cljs.core.assoc,tag,f);\n\nreturn old_parser;\n});\ncljs.reader.deregister_tag_parser_BANG_ \x3d (function cljs$reader$deregister_tag_parser_BANG_(tag){\nvar old_parser \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.reader._STAR_tag_table_STAR_),tag);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.reader._STAR_tag_table_STAR_,cljs.core.dissoc,tag);\n\nreturn old_parser;\n});\ncljs.reader.register_default_tag_parser_BANG_ \x3d (function cljs$reader$register_default_tag_parser_BANG_(f){\nvar old_parser \x3d cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.reader._STAR_default_data_reader_fn_STAR_,(function (_){\nreturn f;\n}));\n\nreturn old_parser;\n});\ncljs.reader.deregister_default_tag_parser_BANG_ \x3d (function cljs$reader$deregister_default_tag_parser_BANG_(){\nvar old_parser \x3d cljs.core.deref(cljs.reader._STAR_default_data_reader_fn_STAR_);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.reader._STAR_default_data_reader_fn_STAR_,(function (_){\nreturn null;\n}));\n\nreturn old_parser;\n});\n");
SHADOW_ENV.evalLoad("edamame.impl.ns_parser.js", true, "goog.provide(\x27edamame.impl.ns_parser\x27);\n/**\n * Returns true if x is a libspec\n */\nedamame.impl.ns_parser.libspec_QMARK_ \x3d (function edamame$impl$ns_parser$libspec_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) || (((cljs.core.vector_QMARK_(x)) \x26\x26 ((((cljs.core.second(x) \x3d\x3d null)) || ((cljs.core.second(x) instanceof cljs.core.Keyword)))))));\n});\n/**\n * Prepends a symbol or a seq to coll\n */\nedamame.impl.ns_parser.prependss \x3d (function edamame$impl$ns_parser$prependss(x,coll){\nif((x instanceof cljs.core.Symbol)){\nreturn cljs.core.cons(x,coll);\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,coll);\n}\n});\nedamame.impl.ns_parser.load_lib \x3d (function edamame$impl$ns_parser$load_lib(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39136 \x3d arguments.length;\nvar i__5750__auto___39137 \x3d (0);\nwhile(true){\nif((i__5750__auto___39137 \x3c len__5749__auto___39136)){\nargs__5755__auto__.push((arguments[i__5750__auto___39137]));\n\nvar G__39138 \x3d (i__5750__auto___39137 + (1));\ni__5750__auto___39137 \x3d G__39138;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn edamame.impl.ns_parser.load_lib.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(edamame.impl.ns_parser.load_lib.cljs$core$IFn$_invoke$arity$variadic \x3d (function (prefix,lib,options){\nvar lib__$1 \x3d (cljs.core.truth_(prefix)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib)].join(\x27\x27)):lib);\nvar opts \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22lib\x22,\x22lib\x22,191808726),lib__$1);\n}));\n\n(edamame.impl.ns_parser.load_lib.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(edamame.impl.ns_parser.load_lib.cljs$lang$applyTo \x3d (function (seq39087){\nvar G__39088 \x3d cljs.core.first(seq39087);\nvar seq39087__$1 \x3d cljs.core.next(seq39087);\nvar G__39089 \x3d cljs.core.first(seq39087__$1);\nvar seq39087__$2 \x3d cljs.core.next(seq39087__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39088,G__39089,seq39087__$2);\n}));\n\nedamame.impl.ns_parser.load_libs \x3d (function edamame$impl$ns_parser$load_libs(kw,args){\nvar args_STAR_ \x3d cljs.core.cons(kw,args);\nvar flags \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword_QMARK_,args_STAR_);\nvar opts \x3d cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(flags,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(true));\nvar args_STAR___$1 \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(cljs.core.keyword_QMARK_),args_STAR_);\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (arg){\nif(edamame.impl.ns_parser.libspec_QMARK_(arg)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$3(edamame.impl.ns_parser.load_lib,null,edamame.impl.ns_parser.prependss(arg,opts))], null);\n} else {\nvar vec__39092 \x3d arg;\nvar seq__39093 \x3d cljs.core.seq(vec__39092);\nvar first__39094 \x3d cljs.core.first(seq__39093);\nvar seq__39093__$1 \x3d cljs.core.next(seq__39093);\nvar prefix \x3d first__39094;\nvar args_STAR___$2 \x3d seq__39093__$1;\nif((prefix \x3d\x3d null)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22prefix cannot be nil\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22args\x22,\x22args\x22,1315556576),args], null));\n} else {\n}\n\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (arg__$1){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.apply.cljs$core$IFn$_invoke$arity$3(edamame.impl.ns_parser.load_lib,prefix,edamame.impl.ns_parser.prependss(arg__$1,opts))], null);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args_STAR___$2], 0));\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args_STAR___$1], 0));\n});\nedamame.impl.ns_parser._ns \x3d (function edamame$impl$ns_parser$_ns(p__39102){\nvar vec__39103 \x3d p__39102;\nvar seq__39104 \x3d cljs.core.seq(vec__39103);\nvar first__39105 \x3d cljs.core.first(seq__39104);\nvar seq__39104__$1 \x3d cljs.core.next(seq__39104);\nvar _ns \x3d first__39105;\nvar first__39105__$1 \x3d cljs.core.first(seq__39104__$1);\nvar seq__39104__$2 \x3d cljs.core.next(seq__39104__$1);\nvar name \x3d first__39105__$1;\nvar references \x3d seq__39104__$2;\nvar docstring \x3d ((typeof cljs.core.first(references) \x3d\x3d\x3d \x27string\x27)?cljs.core.first(references):null);\nvar references__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.next(references):references);\nvar name__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):name);\nvar metadata \x3d ((cljs.core.map_QMARK_(cljs.core.first(references__$1)))?cljs.core.first(references__$1):null);\nvar references__$2 \x3d (cljs.core.truth_(metadata)?cljs.core.next(references__$1):references__$1);\nvar references__$3 \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.seq_QMARK_,references__$2);\nvar references__$4 \x3d cljs.core.group_by(cljs.core.first,references__$3);\nvar requires \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__39100_SHARP_){\nreturn edamame.impl.ns_parser.load_libs(new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333),cljs.core.rest(p1__39100_SHARP_));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333).cljs$core$IFn$_invoke$arity$1(references__$4)], 0));\nvar imports \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p__39117){\nvar vec__39118 \x3d p__39117;\nvar seq__39119 \x3d cljs.core.seq(vec__39118);\nvar first__39120 \x3d cljs.core.first(seq__39119);\nvar seq__39119__$1 \x3d cljs.core.next(seq__39119);\nvar _ \x3d first__39120;\nvar specs \x3d seq__39119__$1;\nreturn cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (spec){\nif((spec instanceof cljs.core.Symbol)){\nvar last_dot_idx \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec),\x22.\x22);\nvar spec_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec);\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22full-classname\x22,\x22full-classname\x22,-750434875),spec,new cljs.core.Keyword(null,\x22classname\x22,\x22classname\x22,777390796),(cljs.core.truth_(last_dot_idx)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(spec_str,(last_dot_idx + (1)))):spec),new cljs.core.Keyword(null,\x22package\x22,\x22package\x22,1189062786),(cljs.core.truth_(last_dot_idx)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(spec_str,(0),last_dot_idx)):null)], null)], null);\n} else {\nvar vec__39126 \x3d spec;\nvar seq__39127 \x3d cljs.core.seq(vec__39126);\nvar first__39128 \x3d cljs.core.first(seq__39127);\nvar seq__39127__$1 \x3d cljs.core.next(seq__39127);\nvar pkg \x3d first__39128;\nvar classes \x3d seq__39127__$1;\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (clazz){\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22full-classname\x22,\x22full-classname\x22,-750434875),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(pkg),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(clazz)].join(\x27\x27)),new cljs.core.Keyword(null,\x22package\x22,\x22package\x22,1189062786),pkg,new cljs.core.Keyword(null,\x22classname\x22,\x22classname\x22,777390796),clazz], null);\n}),classes);\n}\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([specs], 0));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22import\x22,\x22import\x22,-1399500709).cljs$core$IFn$_invoke$arity$1(references__$4)], 0));\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),name__$1,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),metadata,new cljs.core.Keyword(null,\x22requires\x22,\x22requires\x22,-1201390927),requires,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,require){\nvar temp__5821__auto__ \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(require);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22as-alias\x22,\x22as-alias\x22,82482467).cljs$core$IFn$_invoke$arity$1(require);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar alias \x3d temp__5821__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,alias,new cljs.core.Keyword(null,\x22lib\x22,\x22lib\x22,191808726).cljs$core$IFn$_invoke$arity$1(require));\n} else {\nreturn acc;\n}\n}),cljs.core.PersistentArrayMap.EMPTY,requires),new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),imports], null);\n});\nedamame.impl.ns_parser.parse_ns_form \x3d (function edamame$impl$ns_parser$parse_ns_form(ns_form){\nreturn edamame.impl.ns_parser._ns(ns_form);\n});\n");
SHADOW_ENV.evalLoad("cljs.tagged_literals.js", true, "goog.provide(\x27cljs.tagged_literals\x27);\ncljs.tagged_literals.read_queue \x3d (function cljs$tagged_literals$read_queue(form){\nif(cljs.core.vector_QMARK_(form)){\n} else {\nthrow (new Error(\x22Queue literal expects a vector for its elements.\x22));\n}\n\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22into\x22,\x22cljs.core/into\x22,1879938733,null),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22cljs.core.PersistentQueue.EMPTY\x22,\x22cljs.core.PersistentQueue.EMPTY\x22,399917828,null),(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null));\n});\ncljs.tagged_literals.read_uuid \x3d (function cljs$tagged_literals$read_uuid(form){\nif(typeof form \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22UUID literal expects a string as its representation.\x22));\n}\n\ntry{return cljs.core.uuid(form);\n}catch (e40927){var e \x3d e40927;\nthrow (new Error(e.message));\n}});\ncljs.tagged_literals.read_inst \x3d (function cljs$tagged_literals$read_inst(form){\nif(typeof form \x3d\x3d\x3d \x27string\x27){\n} else {\nthrow (new Error(\x22Instance literal expects a string for its timestamp.\x22));\n}\n\ntry{var fexpr__40932 \x3d new cljs.core.Var(function(){return cljs.reader.read_date;},new cljs.core.Symbol(\x22cljs.reader\x22,\x22read-date\x22,\x22cljs.reader/read-date\x22,1663417238,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.reader\x22,\x22cljs.reader\x22,1327473948,null),new cljs.core.Symbol(null,\x22read-date\x22,\x22read-date\x22,1874308181,null),\x22cljs/reader.cljs\x22,26,1,92,92,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),null,(cljs.core.truth_(cljs.reader.read_date)?cljs.reader.read_date.cljs$lang$test:null)]));\nreturn (fexpr__40932.cljs$core$IFn$_invoke$arity$1 ? fexpr__40932.cljs$core$IFn$_invoke$arity$1(form) : fexpr__40932.call(null,form));\n}catch (e40930){var e \x3d e40930;\nthrow (new Error(e.message));\n}});\ncljs.tagged_literals.valid_js_literal_key_QMARK_ \x3d (function cljs$tagged_literals$valid_js_literal_key_QMARK_(k){\nreturn ((typeof k \x3d\x3d\x3d \x27string\x27) || ((((k instanceof cljs.core.Keyword)) \x26\x26 ((cljs.core.namespace(k) \x3d\x3d null)))));\n});\n\n/**\n* @constructor\n*/\ncljs.tagged_literals.JSValue \x3d (function (val){\nthis.val \x3d val;\n});\n\n(cljs.tagged_literals.JSValue.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null);\n}));\n\n(cljs.tagged_literals.JSValue.cljs$lang$type \x3d true);\n\n(cljs.tagged_literals.JSValue.cljs$lang$ctorStr \x3d \x22cljs.tagged-literals/JSValue\x22);\n\n(cljs.tagged_literals.JSValue.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22cljs.tagged-literals/JSValue\x22);\n}));\n\n/**\n * Positional factory function for cljs.tagged-literals/JSValue.\n */\ncljs.tagged_literals.__GT_JSValue \x3d (function cljs$tagged_literals$__GT_JSValue(val){\nreturn (new cljs.tagged_literals.JSValue(val));\n});\n\ncljs.tagged_literals.read_js \x3d (function cljs$tagged_literals$read_js(form){\nif(((cljs.core.vector_QMARK_(form)) || (cljs.core.map_QMARK_(form)))){\n} else {\nthrow (new Error(\x22JavaScript literal must use map or vector notation\x22));\n}\n\nif((((!(cljs.core.map_QMARK_(form)))) || (cljs.core.every_QMARK_(cljs.tagged_literals.valid_js_literal_key_QMARK_,cljs.core.keys(form))))){\n} else {\nthrow (new Error(\x22JavaScript literal keys must be strings or unqualified keywords\x22));\n}\n\nreturn (new cljs.tagged_literals.JSValue(form));\n});\ncljs.tagged_literals._STAR_cljs_data_readers_STAR_ \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22queue\x22,\x22queue\x22,-1198599890,null),cljs.tagged_literals.read_queue,new cljs.core.Symbol(null,\x22uuid\x22,\x22uuid\x22,-504564192,null),cljs.tagged_literals.read_uuid,new cljs.core.Symbol(null,\x22inst\x22,\x22inst\x22,-2008473268,null),cljs.tagged_literals.read_inst,new cljs.core.Symbol(null,\x22js\x22,\x22js\x22,-886355190,null),cljs.tagged_literals.read_js], null)], 0));\n");
SHADOW_ENV.evalLoad("edamame.impl.macros.js", true, "goog.provide(\x27edamame.impl.macros\x27);\n");
SHADOW_ENV.evalLoad("edamame.impl.read_fn.js", true, "goog.provide(\x27edamame.impl.read_fn\x27);\n/**\n * Preserves metadata, unlike clojure.walk/walk.\n */\nedamame.impl.read_fn.walk_STAR_ \x3d (function edamame$impl$read_fn$walk_STAR_(inner,outer,form){\nif(cljs.core.list_QMARK_(form)){\nreturn cljs.core.with_meta((function (){var G__39285 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39285) : outer.call(null,G__39285));\n})(),cljs.core.meta(form));\n} else {\nif(cljs.core.map_entry_QMARK_(form)){\nvar G__39291 \x3d (new cljs.core.MapEntry((function (){var G__39293 \x3d cljs.core.key(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__39293) : inner.call(null,G__39293));\n})(),(function (){var G__39294 \x3d cljs.core.val(form);\nreturn (inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(G__39294) : inner.call(null,G__39294));\n})(),null));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39291) : outer.call(null,G__39291));\n} else {\nif(cljs.core.seq_QMARK_(form)){\nreturn cljs.core.with_meta((function (){var G__39295 \x3d cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39295) : outer.call(null,G__39295));\n})(),cljs.core.meta(form));\n} else {\nif(cljs.core.record_QMARK_(form)){\nvar G__39297 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (r,x){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(r,(inner.cljs$core$IFn$_invoke$arity$1 ? inner.cljs$core$IFn$_invoke$arity$1(x) : inner.call(null,x)));\n}),form,form);\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39297) : outer.call(null,G__39297));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nvar G__39301 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(form),cljs.core.map.cljs$core$IFn$_invoke$arity$2(inner,form));\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(G__39301) : outer.call(null,G__39301));\n} else {\nreturn (outer.cljs$core$IFn$_invoke$arity$1 ? outer.cljs$core$IFn$_invoke$arity$1(form) : outer.call(null,form));\n\n}\n}\n}\n}\n}\n});\n/**\n * Preserves metadata, unlike clojure.walk/postwalk.\n */\nedamame.impl.read_fn.postwalk_STAR_ \x3d (function edamame$impl$read_fn$postwalk_STAR_(f,form){\nreturn edamame.impl.read_fn.walk_STAR_(cljs.core.partial.cljs$core$IFn$_invoke$arity$2(edamame.impl.read_fn.postwalk_STAR_,f),f,form);\n});\nedamame.impl.read_fn.read_fn \x3d (function edamame$impl$read_fn$read_fn(expr){\nvar state \x3d cljs.core.volatile_BANG_(new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),(0),new cljs.core.Keyword(null,\x22var-args?\x22,\x22var-args?\x22,-1630678710),false], null));\nvar expr__$1 \x3d edamame.impl.read_fn.postwalk_STAR_((function (elt){\nif((elt instanceof cljs.core.Symbol)){\nvar temp__5821__auto__ \x3d cljs.core.re_matches(/^%(.*)/,cljs.core.name(elt));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__39312 \x3d temp__5821__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39312,(0),null);\nvar m \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39312,(1),null);\nif(cljs.core.empty_QMARK_(m)){\nstate.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.update.cljs$core$IFn$_invoke$arity$4(state.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),cljs.core.max,(1)));\n\nreturn new cljs.core.Symbol(null,\x22%1\x22,\x22%1\x22,1309450150,null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x26\x22,m)){\nstate.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(state.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22var-args?\x22,\x22var-args?\x22,-1630678710),true));\n\nreturn elt;\n} else {\nvar n_39325 \x3d parseInt(m);\nstate.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,cljs.core.update.cljs$core$IFn$_invoke$arity$4(state.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),cljs.core.max,n_39325));\n\nreturn elt;\n\n}\n}\n} else {\nreturn elt;\n}\n} else {\nreturn elt;\n}\n}),expr);\nvar map__39311 \x3d cljs.core.deref(state);\nvar map__39311__$1 \x3d cljs.core.__destructure_map(map__39311);\nvar max_fixed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39311__$1,new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124));\nvar var_args_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39311__$1,new cljs.core.Keyword(null,\x22var-args?\x22,\x22var-args?\x22,-1630678710));\nvar fixed_names \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__39309_SHARP_){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22%\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__39309_SHARP_)].join(\x27\x27));\n}),cljs.core.range.cljs$core$IFn$_invoke$arity$2((1),(max_fixed + (1))));\nvar var_args_sym \x3d new cljs.core.Symbol(null,\x22%\x26\x22,\x22%\x26\x22,-728707069,null);\nvar arg_list \x3d cljs.core.vec(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(fixed_names,(cljs.core.truth_(var_args_QMARK_)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),var_args_sym], null):null)));\nvar form \x3d (new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),(new cljs.core.List(null,arg_list,(new cljs.core.List(null,expr__$1,null,(1),null)),(2),null)),(3),null));\nreturn form;\n});\n");
SHADOW_ENV.evalLoad("edamame.impl.syntax_quote.js", true, "goog.provide(\x27edamame.impl.syntax_quote\x27);\nedamame.impl.syntax_quote.unquote_QMARK_ \x3d (function edamame$impl$syntax_quote$unquote_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null))));\n});\nedamame.impl.syntax_quote.unquote_splicing_QMARK_ \x3d (function edamame$impl$syntax_quote$unquote_splicing_QMARK_(form){\nreturn ((cljs.core.seq_QMARK_(form)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(form),new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null))));\n});\n/**\n * Expand a list by resolving its syntax quotes and unquotes\n */\nedamame.impl.syntax_quote.expand_list \x3d (function edamame$impl$syntax_quote$expand_list(ctx,reader,s){\nvar s__$1 \x3d cljs.core.seq(s);\nvar r \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s__$1){\nvar item \x3d cljs.core.first(s__$1);\nvar ret \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(r,((edamame.impl.syntax_quote.unquote_QMARK_(item))?(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,cljs.core.second(item),null,(1),null)),(2),null)):((edamame.impl.syntax_quote.unquote_splicing_QMARK_(item))?cljs.core.second(item):(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null),(new cljs.core.List(null,(edamame.impl.syntax_quote.syntax_quote.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.syntax_quote.syntax_quote.cljs$core$IFn$_invoke$arity$3(ctx,reader,item) : edamame.impl.syntax_quote.syntax_quote.call(null,ctx,reader,item)),null,(1),null)),(2),null))\n)));\nvar G__39430 \x3d cljs.core.next(s__$1);\nvar G__39431 \x3d ret;\ns__$1 \x3d G__39430;\nr \x3d G__39431;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(r));\n}\nbreak;\n}\n});\nedamame.impl.syntax_quote.syntax_quote_coll \x3d (function edamame$impl$syntax_quote$syntax_quote_coll(ctx,reader,type,coll){\nvar res \x3d (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22sequence\x22,\x22clojure.core/sequence\x22,1998774218,null),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22seq\x22,\x22clojure.core/seq\x22,-1551838743,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22concat\x22,\x22clojure.core/concat\x22,-1236478952,null),edamame.impl.syntax_quote.expand_list(ctx,reader,coll)),null,(1),null)),(2),null)),null,(1),null)),(2),null));\nif(cljs.core.truth_(type)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22apply\x22,\x22clojure.core/apply\x22,1654646389,null),(new cljs.core.List(null,type,(new cljs.core.List(null,res,null,(1),null)),(2),null)),(3),null));\n} else {\nreturn res;\n}\n});\n/**\n * Decide which map type to use, array-map if less than 16 elements\n */\nedamame.impl.syntax_quote.map_func \x3d (function edamame$impl$syntax_quote$map_func(coll){\nif((cljs.core.count(coll) \x3e\x3d (16))){\nreturn new cljs.core.Symbol(\x22clojure.core\x22,\x22hash-map\x22,\x22clojure.core/hash-map\x22,338908405,null);\n} else {\nreturn new cljs.core.Symbol(\x22clojure.core\x22,\x22array-map\x22,\x22clojure.core/array-map\x22,-1351833961,null);\n}\n});\n/**\n * Flatten a map into a seq of alternate keys and values\n */\nedamame.impl.syntax_quote.flatten_map \x3d (function edamame$impl$syntax_quote$flatten_map(form){\nvar s \x3d cljs.core.seq(form);\nvar key_vals \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif(s){\nvar e \x3d cljs.core.first(s);\nvar G__39434 \x3d cljs.core.next(s);\nvar G__39435 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(key_vals,cljs.core.key(e)),cljs.core.val(e));\ns \x3d G__39434;\nkey_vals \x3d G__39435;\ncontinue;\n} else {\nreturn cljs.core.seq(cljs.core.persistent_BANG_(key_vals));\n}\nbreak;\n}\n});\nedamame.impl.syntax_quote.syntax_quote_STAR_ \x3d (function edamame$impl$syntax_quote$syntax_quote_STAR_(p__39404,reader,form){\nvar map__39406 \x3d p__39404;\nvar map__39406__$1 \x3d cljs.core.__destructure_map(map__39406);\nvar ctx \x3d map__39406__$1;\nvar gensyms \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__39406__$1,new cljs.core.Keyword(null,\x22gensyms\x22,\x22gensyms\x22,248713782));\nif(cljs.core.special_symbol_QMARK_(form)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null));\n} else {\nif((form instanceof cljs.core.Symbol)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,(function (){var sym_name \x3d cljs.core.name(form);\nif(cljs.core.special_symbol_QMARK_(form)){\nreturn form;\n} else {\nif(clojure.string.ends_with_QMARK_(sym_name,\x22#\x22)){\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(gensyms),form);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar generated \x3d temp__5821__auto__;\nreturn generated;\n} else {\nvar n \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_name,(0),(((sym_name).length) - (1)));\nvar generated \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1([n,\x22__\x22].join(\x27\x27));\nvar generated__$1 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.name(generated),\x22__auto__\x22].join(\x27\x27));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(gensyms,cljs.core.assoc,form,generated__$1);\n\nreturn generated__$1;\n}\n} else {\nvar f \x3d new cljs.core.Keyword(null,\x22resolve-symbol\x22,\x22resolve-symbol\x22,-319166964).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx));\nvar f__$1 \x3d (function (){var or__5025__auto__ \x3d f;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5821__auto__ \x3d (function (){var G__39412 \x3d ctx;\nvar G__39412__$1 \x3d (((G__39412 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(G__39412));\nif((G__39412__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.deref(G__39412__$1);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns_state \x3d temp__5821__auto__;\nreturn (function (sym){\nvar temp__5821__auto____$1 \x3d (function (){var G__39416 \x3d cljs.core.namespace(sym);\nif((G__39416 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__39416);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar alias \x3d temp__5821__auto____$1;\nvar temp__5821__auto____$2 \x3d (ns_state.cljs$core$IFn$_invoke$arity$1 ? ns_state.cljs$core$IFn$_invoke$arity$1(alias) : ns_state.call(null,alias));\nif(cljs.core.truth_(temp__5821__auto____$2)){\nvar expanded_alias \x3d temp__5821__auto____$2;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(expanded_alias),sym_name);\n} else {\nreturn sym;\n}\n} else {\nreturn sym;\n}\n});\n} else {\nreturn cljs.core.identity;\n}\n}\n})();\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(form) : f__$1.call(null,form));\n\n}\n}\n})(),null,(1),null)),(2),null));\n} else {\nif(edamame.impl.syntax_quote.unquote_QMARK_(form)){\nreturn cljs.core.second(form);\n} else {\nif(edamame.impl.syntax_quote.unquote_splicing_QMARK_(form)){\nthrow (new Error(\x22unquote-splice not in list\x22));\n} else {\nif(cljs.core.coll_QMARK_(form)){\nif((form instanceof cljs.core.IRecord)){\nreturn form;\n} else {\nif(cljs.core.map_QMARK_(form)){\nreturn edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,edamame.impl.syntax_quote.map_func(form),edamame.impl.syntax_quote.flatten_map(form));\n} else {\nif(cljs.core.vector_QMARK_(form)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22vec\x22,\x22clojure.core/vec\x22,146271141,null),(new cljs.core.List(null,edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,null,form),null,(1),null)),(2),null));\n} else {\nif(cljs.core.set_QMARK_(form)){\nreturn edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,new cljs.core.Symbol(\x22clojure.core\x22,\x22hash-set\x22,\x22clojure.core/hash-set\x22,1229125967,null),form);\n} else {\nif(((cljs.core.seq_QMARK_(form)) || (cljs.core.list_QMARK_(form)))){\nvar seq \x3d cljs.core.seq(form);\nif(seq){\nreturn edamame.impl.syntax_quote.syntax_quote_coll(ctx,reader,null,seq);\n} else {\nreturn cljs.core.list(new cljs.core.Symbol(\x22clojure.core\x22,\x22list\x22,\x22clojure.core/list\x22,-1119203325,null));\n}\n} else {\nthrow (new Error(\x22Unknown Collection type\x22));\n\n}\n}\n}\n}\n}\n} else {\nif((((form instanceof cljs.core.Keyword)) || (((typeof form \x3d\x3d\x3d \x27number\x27) || (((cljs.core.char_QMARK_(form)) || (((typeof form \x3d\x3d\x3d \x27string\x27) || ((((form \x3d\x3d null)) || (((cljs.core.boolean_QMARK_(form)) || (cljs.core.regexp_QMARK_(form)))))))))))))){\nreturn form;\n} else {\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,form,null,(1),null)),(2),null));\n\n}\n}\n}\n}\n}\n}\n});\nedamame.impl.syntax_quote.add_meta \x3d (function edamame$impl$syntax_quote$add_meta(ctx,reader,form,ret){\nif((function (){var and__5023__auto__ \x3d (((!((form \x3d\x3d null))))?(((((form.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d form.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5023__auto__){\nreturn cljs.core.seq(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(form),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(ctx),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(ctx)], 0)));\n} else {\nreturn and__5023__auto__;\n}\n})()){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),(new cljs.core.List(null,ret,(new cljs.core.List(null,edamame.impl.syntax_quote.syntax_quote_STAR_(ctx,reader,cljs.core.meta(form)),null,(1),null)),(2),null)),(3),null));\n} else {\nreturn ret;\n}\n});\nedamame.impl.syntax_quote.syntax_quote \x3d (function edamame$impl$syntax_quote$syntax_quote(ctx,reader,form){\nvar ret \x3d edamame.impl.syntax_quote.syntax_quote_STAR_(ctx,reader,form);\nreturn edamame.impl.syntax_quote.add_meta(ctx,reader,form,ret);\n});\n");
SHADOW_ENV.evalLoad("edamame.impl.parser.js", true, "goog.provide(\x27edamame.impl.parser\x27);\nedamame.impl.parser.eof \x3d (new Object());\nedamame.impl.parser.continue$ \x3d (new Object());\nedamame.impl.parser.expected_delimiter \x3d (new Object());\nedamame.impl.parser.Exception \x3d Error;\n/**\n * Throw reader exception, including line line/column. line/column is\n * read from the reader but it can be overriden by passing loc\n * optional parameter.\n */\nedamame.impl.parser.throw_reader \x3d (function edamame$impl$parser$throw_reader(var_args){\nvar G__41403 \x3d arguments.length;\nswitch (G__41403) {\ncase 3:\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,msg){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,msg,null);\n}));\n\n(edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,reader,msg,data){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,msg,data,null);\n}));\n\n(edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,reader,msg,data,loc){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar c \x3d ((ir_QMARK_)?new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$2(loc,cljs.tools.reader.reader_types.get_column_number(reader)):null);\nvar l \x3d ((ir_QMARK_)?new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$2(loc,cljs.tools.reader.reader_types.get_line_number(reader)):null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(msg,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22edamame\x22,\x22error\x22,\x22edamame/error\x22,882529634)], null),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),l,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),c], 0)),data], 0)));\n}));\n\n(edamame.impl.parser.throw_reader.cljs$lang$maxFixedArity \x3d 5);\n\nedamame.impl.parser.dispatch_macro_QMARK_ \x3d (function edamame$impl$parser$dispatch_macro_QMARK_(ch){\nvar G__41410 \x3d ch;\nswitch (G__41410) {\ncase \x22^\x22:\ncase \x22\x27\x22:\ncase \x22(\x22:\ncase \x22{\x22:\ncase \x22\\\x22\x22:\ncase \x22!\x22:\ncase \x22_\x22:\ncase \x22?\x22:\ncase \x22:\x22:\ncase \x22#\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nedamame.impl.parser.macro_QMARK_ \x3d (function edamame$impl$parser$macro_QMARK_(ch){\nvar G__41414 \x3d ch;\nswitch (G__41414) {\ncase \x22:\x22:\ncase \x22;\x22:\ncase \x22\x27\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\ncase \x22%\x22:\ncase \x22#\x22:\ncase \x22\\\x22\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nedamame.impl.parser.macro_terminating_QMARK_ \x3d (function edamame$impl$parser$macro_terminating_QMARK_(ch){\nvar G__41416 \x3d ch;\nswitch (G__41416) {\ncase \x22\\\x22\x22:\ncase \x22;\x22:\ncase \x22@\x22:\ncase \x22^\x22:\ncase \x22`\x22:\ncase \x22~\x22:\ncase \x22(\x22:\ncase \x22)\x22:\ncase \x22[\x22:\ncase \x22]\x22:\ncase \x22{\x22:\ncase \x22}\x22:\ncase \x22\\\\\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\nedamame.impl.parser.whitespace_QMARK_ \x3d (function edamame$impl$parser$whitespace_QMARK_(c){\nvar and__5023__auto__ \x3d c;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((-1) \x3c [\x22\\r\x22,\x22\\n\x22,\x22\\t\x22,\x22 \x22,\x22,\x22].indexOf(c));\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Read in a single logical token from the reader\n */\nedamame.impl.parser.read_token \x3d (function edamame$impl$parser$read_token(rdr,_kind,initch){\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d initch;\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d edamame.impl.parser.whitespace_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d edamame.impl.parser.macro_terminating_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nif(cljs.core.truth_(ch)){\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n} else {\n}\n\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nvar G__41778 \x3d sb.append(ch);\nvar G__41779 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__41778;\nch \x3d G__41779;\ncontinue;\n}\nbreak;\n}\n});\nedamame.impl.parser.str_len \x3d (function edamame$impl$parser$str_len(s){\nreturn s.length;\n});\n/**\n * Parses char to num\n */\nedamame.impl.parser.parse_long_STAR_ \x3d (function edamame$impl$parser$parse_long_STAR_(c){\nvar x \x3d parseInt(c);\nif(cljs.core.NaN_QMARK_(x)){\nreturn null;\n} else {\nreturn x;\n}\n});\nedamame.impl.parser.array_dim \x3d (function edamame$impl$parser$array_dim(sym){\nif(((1) \x3d\x3d\x3d edamame.impl.parser.str_len(sym))){\nvar temp__5823__auto__ \x3d edamame.impl.parser.parse_long_STAR_(sym.charAt((0)));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar i \x3d temp__5823__auto__;\nif((i \x3e (0))){\nreturn i;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n/**\n * Parses a string into a vector of the namespace and symbol\n */\nedamame.impl.parser.parse_symbol \x3d (function edamame$impl$parser$parse_symbol(token){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,token);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d token.endsWith(\x22:\x22);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn token.startsWith(\x22::\x22);\n}\n}\n})())){\nreturn null;\n} else {\nvar ns_idx \x3d token.indexOf(\x22/\x22);\nvar temp__5821__auto__ \x3d (function (){var and__5023__auto__ \x3d (ns_idx \x3e (0));\nif(and__5023__auto__){\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(token,(0),ns_idx);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns \x3d temp__5821__auto__;\nvar ns_idx__$1 \x3d (ns_idx + (1));\nif((ns_idx__$1 \x3d\x3d\x3d edamame.impl.parser.str_len(token))){\nreturn null;\n} else {\nif(cljs.core.truth_(ns.endsWith(\x22:\x22))){\nreturn null;\n} else {\nvar sym \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,ns_idx__$1);\nif(cljs.core.truth_(edamame.impl.parser.array_dim(sym))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nif((((!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,sym)))) \x26\x26 (((cljs.core.not(edamame.impl.parser.parse_long_STAR_(sym.charAt((0))))) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,sym)) || (((-1) \x3d\x3d\x3d sym.indexOf(\x22/\x22))))))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns,sym], null);\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22/\x22,token)) || (((-1) \x3d\x3d\x3d token.indexOf(\x22/\x22))))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,token], null);\n} else {\nreturn null;\n}\n}\n}\n});\nedamame.impl.parser.number_literal_QMARK_ \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.impl.commons.number_literal_QMARK_;},new cljs.core.Symbol(\x22cljs.tools.reader.impl.commons\x22,\x22number-literal?\x22,\x22cljs.tools.reader.impl.commons/number-literal?\x22,-1450304800,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.tools.reader.impl.commons\x22,\x22cljs.tools.reader.impl.commons\x22,1569241026,null),new cljs.core.Symbol(null,\x22number-literal?\x22,\x22number-literal?\x22,843787662,null),\x22cljs/tools/reader/impl/commons.cljs\x22,31,1,20,20,new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22reader\x22,\x22reader\x22,1810192380,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Symbol(null,\x22not-native\x22,\x22not-native\x22,-236392494,null)], null)),new cljs.core.Symbol(null,\x22initch\x22,\x22initch\x22,946908919,null)], null)),\x22Checks whether the reader is at the start of a number literal\x22,((cljs.tools.reader.impl.commons.number_literal_QMARK_)?cljs.tools.reader.impl.commons.number_literal_QMARK_.cljs$lang$test:null)])));\nedamame.impl.parser.escape_char \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.edn.escape_char;},new cljs.core.Symbol(\x22cljs.tools.reader.edn\x22,\x22escape-char\x22,\x22cljs.tools.reader.edn/escape-char\x22,17562632,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.tools.reader.edn\x22,\x22cljs.tools.reader.edn\x22,-1275821532,null),new cljs.core.Symbol(null,\x22escape-char\x22,\x22escape-char\x22,-2072670949,null),\x22cljs/tools/reader/edn.cljs\x22,19,1,220,220,cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22sb\x22,\x22sb\x22,-1249746442,null),new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null)], null)),null,(cljs.core.truth_(cljs.tools.reader.edn.escape_char)?cljs.tools.reader.edn.escape_char.cljs$lang$test:null)])));\nedamame.impl.parser.read_char_STAR_ \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.edn.read_char_STAR_;},new cljs.core.Symbol(\x22cljs.tools.reader.edn\x22,\x22read-char*\x22,\x22cljs.tools.reader.edn/read-char*\x22,-606185164,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.tools.reader.edn\x22,\x22cljs.tools.reader.edn\x22,-1275821532,null),new cljs.core.Symbol(null,\x22read-char*\x22,\x22read-char*\x22,1494526523,null),\x22cljs/tools/reader/edn.cljs\x22,18,1,120,120,cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.Symbol(null,\x22backslash\x22,\x22backslash\x22,-863649243,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null)], null)),null,(cljs.core.truth_(cljs.tools.reader.edn.read_char_STAR_)?cljs.tools.reader.edn.read_char_STAR_.cljs$lang$test:null)])));\nedamame.impl.parser.read_symbolic_value \x3d cljs.core.deref(new cljs.core.Var(function(){return cljs.tools.reader.edn.read_symbolic_value;},new cljs.core.Symbol(\x22cljs.tools.reader.edn\x22,\x22read-symbolic-value\x22,\x22cljs.tools.reader.edn/read-symbolic-value\x22,111468855,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[true,new cljs.core.Symbol(null,\x22cljs.tools.reader.edn\x22,\x22cljs.tools.reader.edn\x22,-1275821532,null),new cljs.core.Symbol(null,\x22read-symbolic-value\x22,\x22read-symbolic-value\x22,-100790078,null),\x22cljs/tools/reader/edn.cljs\x22,27,1,327,327,cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rdr\x22,\x22rdr\x22,190007785,null),new cljs.core.Symbol(null,\x22_\x22,\x22_\x22,-1201019570,null),new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null)], null)),null,(cljs.core.truth_(cljs.tools.reader.edn.read_symbolic_value)?cljs.tools.reader.edn.read_symbolic_value.cljs$lang$test:null)])));\nedamame.impl.parser.read_number \x3d (function edamame$impl$parser$read_number(ctx,rdr,initch){\nvar sb \x3d (function (){var G__41437 \x3d (new goog.string.StringBuffer());\nG__41437.append(initch);\n\nreturn G__41437;\n})();\nvar ch \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d edamame.impl.parser.whitespace_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d edamame.impl.parser.macro_QMARK_(ch);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn (ch \x3d\x3d null);\n}\n}\n})())){\nvar s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nvar or__5025__auto__ \x3d cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,rdr,[\x22Invalid number: \x22,s].join(\x27\x27));\n}\n} else {\nvar G__41783 \x3d (function (){var G__41438 \x3d sb;\nG__41438.append(ch);\n\nreturn G__41438;\n})();\nvar G__41784 \x3d rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__41783;\nch \x3d G__41784;\ncontinue;\n}\nbreak;\n}\n});\nedamame.impl.parser.edn_read \x3d (function edamame$impl$parser$edn_read(ctx,reader){\nvar tools_reader_opts \x3d new cljs.core.Keyword(\x22tools.reader\x22,\x22opts\x22,\x22tools.reader/opts\x22,-2121810901).cljs$core$IFn$_invoke$arity$1(ctx);\nreturn cljs.tools.reader.edn.read.cljs$core$IFn$_invoke$arity$2(tools_reader_opts,reader);\n});\nedamame.impl.parser.parse_string_STAR_ \x3d (function edamame$impl$parser$parse_string_STAR_(ctx,reader){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar row \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null):null);\nvar col \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null):null);\nvar opened \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nvar G__41439 \x3d ch;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__41439)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,[\x22EOF while reading, expected \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(row),\x22,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null)], null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\\\x22,G__41439)){\nvar G__41786 \x3d (function (){var G__41440 \x3d sb;\nG__41440.append((edamame.impl.parser.escape_char.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.escape_char.cljs$core$IFn$_invoke$arity$2(sb,reader) : edamame.impl.parser.escape_char.call(null,sb,reader)));\n\nreturn G__41440;\n})();\nvar G__41787 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__41786;\nch \x3d G__41787;\ncontinue;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__41439)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nvar G__41788 \x3d (function (){var G__41441 \x3d sb;\nG__41441.append(ch);\n\nreturn G__41441;\n})();\nvar G__41789 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb \x3d G__41788;\nch \x3d G__41789;\ncontinue;\n\n}\n}\n}\nbreak;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nedamame.impl.parser.Loc \x3d (function (row,col,__meta,__extmap,__hash){\nthis.row \x3d row;\nthis.col \x3d col;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(edamame.impl.parser.Loc.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k41443,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__41447 \x3d k41443;\nvar G__41447__$1 \x3d (((G__41447 instanceof cljs.core.Keyword))?G__41447.fqn:null);\nswitch (G__41447__$1) {\ncase \x22row\x22:\nreturn self__.row;\n\nbreak;\ncase \x22col\x22:\nreturn self__.col;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k41443,else__5326__auto__);\n\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__41448){\nvar vec__41449 \x3d p__41448;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41449,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41449,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#edamame.impl.parser.Loc{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),self__.row],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),self__.col],null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__41442){\nvar self__ \x3d this;\nvar G__41442__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__41442__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1435872067 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this41444,other41445){\nvar self__ \x3d this;\nvar this41444__$1 \x3d this;\nreturn (((!((other41445 \x3d\x3d null)))) \x26\x26 ((((this41444__$1.constructor \x3d\x3d\x3d other41445.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41444__$1.row,other41445.row)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41444__$1.col,other41445.col)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41444__$1.__extmap,other41445.__extmap)))))))));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),null,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k41443){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__41453 \x3d k41443;\nvar G__41453__$1 \x3d (((G__41453 instanceof cljs.core.Keyword))?G__41453.fqn:null);\nswitch (G__41453__$1) {\ncase \x22row\x22:\ncase \x22col\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k41443);\n\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__41442){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__41454 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__41455 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__41454.cljs$core$IFn$_invoke$arity$2 ? pred__41454.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),expr__41455) : pred__41454.call(null,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),expr__41455)))){\nreturn (new edamame.impl.parser.Loc(G__41442,self__.col,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41454.cljs$core$IFn$_invoke$arity$2 ? pred__41454.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),expr__41455) : pred__41454.call(null,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),expr__41455)))){\nreturn (new edamame.impl.parser.Loc(self__.row,G__41442,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__41442),null));\n}\n}\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),self__.row,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),self__.col,null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__41442){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Loc(self__.row,self__.col,G__41442,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Loc.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(edamame.impl.parser.Loc.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22row\x22,\x22row\x22,1070392006,null),new cljs.core.Symbol(null,\x22col\x22,\x22col\x22,-318831557,null)], null);\n}));\n\n(edamame.impl.parser.Loc.cljs$lang$type \x3d true);\n\n(edamame.impl.parser.Loc.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22edamame.impl.parser/Loc\x22,null,(1),null));\n}));\n\n(edamame.impl.parser.Loc.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22edamame.impl.parser/Loc\x22);\n}));\n\n/**\n * Positional factory function for edamame.impl.parser/Loc.\n */\nedamame.impl.parser.__GT_Loc \x3d (function edamame$impl$parser$__GT_Loc(row,col){\nreturn (new edamame.impl.parser.Loc(row,col,null,null,null));\n});\n\n/**\n * Factory function for edamame.impl.parser/Loc, taking a map of keywords to field values.\n */\nedamame.impl.parser.map__GT_Loc \x3d (function edamame$impl$parser$map__GT_Loc(G__41446){\nvar extmap__5365__auto__ \x3d (function (){var G__41459 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__41446,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084)], 0));\nif(cljs.core.record_QMARK_(G__41446)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__41459);\n} else {\nreturn G__41459;\n}\n})();\nreturn (new edamame.impl.parser.Loc(new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$1(G__41446),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(G__41446),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nedamame.impl.parser.location \x3d (function edamame$impl$parser$location(reader){\nreturn edamame.impl.parser.__GT_Loc(reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null));\n});\nedamame.impl.parser.parse_comment \x3d (function edamame$impl$parser$parse_comment(reader){\ncljs.tools.reader.reader_types.read_line(reader);\n\nreturn edamame.impl.parser.continue$;\n});\n/**\n * Skips whitespace. Returns :none or :some depending on whitespace\n * read. If end of stream is reached, returns nil.\n */\nedamame.impl.parser.skip_whitespace \x3d (function edamame$impl$parser$skip_whitespace(_ctx,reader){\nvar read \x3d new cljs.core.Keyword(null,\x22none\x22,\x22none\x22,1333468478);\nwhile(true){\nvar temp__5823__auto__ \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar c \x3d temp__5823__auto__;\nif(cljs.core.truth_(edamame.impl.parser.whitespace_QMARK_(c))){\nvar G__41797 \x3d new cljs.core.Keyword(null,\x22some\x22,\x22some\x22,-1951079573);\nread \x3d G__41797;\ncontinue;\n} else {\nreader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,c);\n\nreturn read;\n}\n} else {\nreturn null;\n}\nbreak;\n}\n});\nedamame.impl.parser.non_match \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22non-match\x22);\nedamame.impl.parser.non_match_QMARK_ \x3d (function edamame$impl$parser$non_match_QMARK_(v){\nreturn (v \x3d\x3d\x3d edamame.impl.parser.non_match);\n});\nedamame.impl.parser.throw_eof_while_reading \x3d (function edamame$impl$parser$throw_eof_while_reading(ctx,reader){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22EOF while reading\x22);\n});\nedamame.impl.parser.parse_to_delimiter \x3d (function edamame$impl$parser$parse_to_delimiter(var_args){\nvar G__41462 \x3d arguments.length;\nswitch (G__41462) {\ncase 3:\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,delimiter){\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$4(ctx,reader,delimiter,cljs.core.PersistentVector.EMPTY);\n}));\n\n(edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,reader,delimiter,into){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar row \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null):null);\nvar col \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null):null);\nvar opened \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),delimiter),new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586),opened,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null));\nvar vals \x3d cljs.core.transient$(into);\nwhile(true){\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx__$1,reader) : edamame.impl.parser.parse_next.call(null,ctx__$1,reader));\nvar cond_splice_QMARK_ \x3d (function (){var G__41464 \x3d next_val;\nvar G__41464__$1 \x3d (((G__41464 \x3d\x3d null))?null:cljs.core.meta(G__41464));\nif((G__41464__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22cond-splice\x22,\x22edamame.impl.parser/cond-splice\x22,1534599765).cljs$core$IFn$_invoke$arity$1(G__41464__$1);\n}\n})();\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx__$1,reader,[\x22EOF while reading, expected \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter),\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(row),\x22,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col),\x22]\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(opened),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null)], null));\n} else {\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d next_val)){\nreturn cljs.core.persistent_BANG_(vals);\n} else {\nif(cljs.core.truth_(cond_splice_QMARK_)){\nvar vals__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj_BANG_,vals,next_val);\nvar G__41805 \x3d vals__$1;\nvals \x3d G__41805;\ncontinue;\n} else {\nif(edamame.impl.parser.non_match_QMARK_(next_val)){\nvar G__41806 \x3d vals;\nvals \x3d G__41806;\ncontinue;\n} else {\nvar G__41807 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vals,next_val);\nvals \x3d G__41807;\ncontinue;\n\n}\n}\n}\n}\nbreak;\n}\n}));\n\n(edamame.impl.parser.parse_to_delimiter.cljs$lang$maxFixedArity \x3d 4);\n\nedamame.impl.parser.parse_list \x3d (function edamame$impl$parser$parse_list(ctx,reader){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22)\x22));\n});\n/**\n * Modeled after tools.reader/read-regex.\n */\nedamame.impl.parser.read_regex_pattern \x3d (function edamame$impl$parser$read_regex_pattern(ctx,reader){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar sb \x3d (new goog.string.StringBuffer());\nvar ch \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((\x22\\\x22\x22 \x3d\x3d\x3d ch)){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n} else {\nif((ch \x3d\x3d null)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Error while parsing regex\x22);\n} else {\nsb.append(ch);\n\nif((\x22\\\\\x22 \x3d\x3d\x3d ch)){\nvar ch_41808__$1 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((ch_41808__$1 \x3d\x3d null)){\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Error while parsing regex\x22);\n} else {\n}\n\nsb.append(ch_41808__$1);\n} else {\n}\n\nvar G__41809 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch \x3d G__41809;\ncontinue;\n}\n}\nbreak;\n}\n});\nedamame.impl.parser.duplicate_keys_error \x3d (function edamame$impl$parser$duplicate_keys_error(msg,coll){\nvar duplicates \x3d (function edamame$impl$parser$duplicate_keys_error_$_duplicates(seq){\nvar iter__5503__auto__ \x3d (function edamame$impl$parser$duplicate_keys_error_$_duplicates_$_iter__41484(s__41485){\nreturn (new cljs.core.LazySeq(null,(function (){\nvar s__41485__$1 \x3d s__41485;\nwhile(true){\nvar temp__5823__auto__ \x3d cljs.core.seq(s__41485__$1);\nif(temp__5823__auto__){\nvar s__41485__$2 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(s__41485__$2)){\nvar c__5501__auto__ \x3d cljs.core.chunk_first(s__41485__$2);\nvar size__5502__auto__ \x3d cljs.core.count(c__5501__auto__);\nvar b__41487 \x3d cljs.core.chunk_buffer(size__5502__auto__);\nif((function (){var i__41486 \x3d (0);\nwhile(true){\nif((i__41486 \x3c size__5502__auto__)){\nvar vec__41490 \x3d cljs.core._nth(c__5501__auto__,i__41486);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41490,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41490,(1),null);\nif((freq \x3e (1))){\ncljs.core.chunk_append(b__41487,id);\n\nvar G__41810 \x3d (i__41486 + (1));\ni__41486 \x3d G__41810;\ncontinue;\n} else {\nvar G__41811 \x3d (i__41486 + (1));\ni__41486 \x3d G__41811;\ncontinue;\n}\n} else {\nreturn true;\n}\nbreak;\n}\n})()){\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__41487),edamame$impl$parser$duplicate_keys_error_$_duplicates_$_iter__41484(cljs.core.chunk_rest(s__41485__$2)));\n} else {\nreturn cljs.core.chunk_cons(cljs.core.chunk(b__41487),null);\n}\n} else {\nvar vec__41494 \x3d cljs.core.first(s__41485__$2);\nvar id \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41494,(0),null);\nvar freq \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41494,(1),null);\nif((freq \x3e (1))){\nreturn cljs.core.cons(id,edamame$impl$parser$duplicate_keys_error_$_duplicates_$_iter__41484(cljs.core.rest(s__41485__$2)));\n} else {\nvar G__41812 \x3d cljs.core.rest(s__41485__$2);\ns__41485__$1 \x3d G__41812;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\nbreak;\n}\n}),null,null));\n});\nreturn iter__5503__auto__(cljs.core.frequencies(seq));\n});\nvar dups \x3d duplicates(coll);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,msg,(((cljs.core.count(dups) \x3e (1)))?\x22s\x22:null),\x22: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22, \x22,dups));\n});\nedamame.impl.parser.throw_dup_keys \x3d (function edamame$impl$parser$throw_dup_keys(ctx,reader,loc,kind,ks){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,edamame.impl.parser.duplicate_keys_error([clojure.string.capitalize(cljs.core.name(kind)),\x22 literal contains duplicate key\x22].join(\x27\x27),ks),null,loc);\n});\nedamame.impl.parser.parse_set \x3d (function edamame$impl$parser$parse_set(ctx,reader){\nvar start_loc \x3d ((cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader))?edamame.impl.parser.location(reader):null);\nvar coll \x3d edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22}\x22);\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar sf \x3d temp__5821__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(sf,coll);\n} else {\nvar the_set \x3d cljs.core.set(coll);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\nedamame.impl.parser.throw_dup_keys(ctx,reader,start_loc,new cljs.core.Keyword(null,\x22set\x22,\x22set\x22,304602554),coll);\n}\n\nreturn the_set;\n}\n});\nedamame.impl.parser.parse_first_matching_condition \x3d (function edamame$impl$parser$parse_first_matching_condition(ctx,reader){\nvar features \x3d new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(ctx);\nvar match \x3d edamame.impl.parser.non_match;\nwhile(true){\nvar k \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d k)){\nreturn match;\n} else {\nif((k instanceof cljs.core.Keyword)){\n} else {\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,[\x22Feature should be a keyword: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27));\n}\n\nvar next_is_match_QMARK_ \x3d ((edamame.impl.parser.non_match_QMARK_(match)) \x26\x26 (((cljs.core.contains_QMARK_(features,k)) || (cljs.core.keyword_identical_QMARK_(k,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328))))));\nif(next_is_match_QMARK_){\nvar match__$1 \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),true);\nwhile(true){\nvar next_val_41817 \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx__$1,reader) : edamame.impl.parser.parse_next.call(null,ctx__$1,reader));\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d next_val_41817)){\n} else {\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val_41817)){\nvar delimiter_41818 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx__$1);\nvar map__41509_41819 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx__$1);\nvar map__41509_41820__$1 \x3d cljs.core.__destructure_map(map__41509_41819);\nvar row_41821 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41509_41820__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col_41822 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41509_41820__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char_41823 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41509_41820__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx__$1,reader,[\x22EOF while reading, expected \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter_41818),\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char_41823),\x22 at [\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(row_41821),\x22,\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(col_41822),\x22]\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(delimiter_41818),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char_41823)], null));\n} else {\ncontinue;\n}\n}\nbreak;\n}\n\nreturn match__$1;\n} else {\nvar G__41510_41829 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),true);\nvar G__41511_41830 \x3d reader;\n(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(G__41510_41829,G__41511_41830) : edamame.impl.parser.parse_next.call(null,G__41510_41829,G__41511_41830));\n\nvar G__41833 \x3d match;\nmatch \x3d G__41833;\ncontinue;\n}\n}\nbreak;\n}\n});\nedamame.impl.parser.parse_reader_conditional \x3d (function edamame$impl$parser$parse_reader_conditional(ctx,reader){\nedamame.impl.parser.skip_whitespace(ctx,reader);\n\nvar opt \x3d new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(ctx);\nvar splice_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null));\nif(splice_QMARK_){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n} else {\n}\n\nedamame.impl.parser.skip_whitespace(ctx,reader);\n\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22preserve\x22,\x22preserve\x22,1276846509),opt)){\nreturn cljs.tools.reader.impl.utils.reader_conditional((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),splice_QMARK_);\n} else {\nif(cljs.core.fn_QMARK_(opt)){\nvar G__41513 \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),cljs.core.assoc,new cljs.core.Keyword(\x22edamame\x22,\x22read-cond-splicing\x22,\x22edamame/read-cond-splicing\x22,-1992728777),splice_QMARK_);\nreturn (opt.cljs$core$IFn$_invoke$arity$1 ? opt.cljs$core$IFn$_invoke$arity$1(G__41513) : opt.call(null,G__41513));\n} else {\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar row \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null):null);\nvar col \x3d ((ir_QMARK_)?reader.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null):null);\nvar opened \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),\x22)\x22),new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586),opened,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null));\nvar match \x3d edamame.impl.parser.parse_first_matching_condition(ctx__$1,reader);\nif(edamame.impl.parser.non_match_QMARK_(match)){\nreturn edamame.impl.parser.continue$;\n} else {\nif(splice_QMARK_){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(match,(function (p1__41512_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__41512_SHARP_,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22cond-splice\x22,\x22edamame.impl.parser/cond-splice\x22,1534599765),true);\n}));\n} else {\nreturn match;\n\n}\n}\n\n}\n}\n});\nedamame.impl.parser.get_auto_resolve \x3d (function edamame$impl$parser$get_auto_resolve(var_args){\nvar G__41515 \x3d arguments.length;\nswitch (G__41515) {\ncase 3:\nreturn edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,next_val){\nreturn edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4(ctx,reader,next_val,null);\n}));\n\n(edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,reader,next_val,msg){\nvar temp__5821__auto__ \x3d (function (){var ar \x3d new cljs.core.Keyword(null,\x22auto-resolve\x22,\x22auto-resolve\x22,1851201983).cljs$core$IFn$_invoke$arity$1(ctx);\nvar temp__5821__auto__ \x3d (function (){var G__41516 \x3d ctx;\nvar G__41516__$1 \x3d (((G__41516 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(G__41516));\nif((G__41516__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.deref(G__41516__$1);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns_state \x3d temp__5821__auto__;\nreturn (function (alias){\nvar or__5025__auto__ \x3d (ns_state.cljs$core$IFn$_invoke$arity$1 ? ns_state.cljs$core$IFn$_invoke$arity$1(alias) : ns_state.call(null,alias));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.truth_(ar)){\nreturn (ar.cljs$core$IFn$_invoke$arity$1 ? ar.cljs$core$IFn$_invoke$arity$1(alias) : ar.call(null,alias));\n} else {\nreturn null;\n}\n}\n});\n} else {\nreturn ar;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreturn v;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,(function (){var or__5025__auto__ \x3d msg;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn \x22Use `:auto-resolve` to resolve aliases.\x22;\n}\n})(),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22expr\x22,\x22expr\x22,745722291),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(next_val)].join(\x27\x27)], null));\n}\n}));\n\n(edamame.impl.parser.get_auto_resolve.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Returns namespace for given alias.\n */\nedamame.impl.parser.auto_resolve \x3d (function edamame$impl$parser$auto_resolve(var_args){\nvar G__41518 \x3d arguments.length;\nswitch (G__41518) {\ncase 5:\nreturn edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 6:\nreturn edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,m,kns,reader,next_val){\nreturn edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6(ctx,m,kns,reader,next_val,null);\n}));\n\n(edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6 \x3d (function (ctx,m,kns,reader,next_val,msg){\nvar temp__5821__auto__ \x3d (m.cljs$core$IFn$_invoke$arity$1 ? m.cljs$core$IFn$_invoke$arity$1(kns) : m.call(null,kns));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar kns__$1 \x3d temp__5821__auto__;\nreturn kns__$1;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,(function (){var or__5025__auto__ \x3d msg;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn [\x22Alias `\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(kns)),\x22` not found in `:auto-resolve`\x22].join(\x27\x27);\n}\n})(),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22expr\x22,\x22expr\x22,745722291),[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(next_val)].join(\x27\x27)], null));\n}\n}));\n\n(edamame.impl.parser.auto_resolve.cljs$lang$maxFixedArity \x3d 6);\n\nedamame.impl.parser.read_symbol \x3d (function edamame$impl$parser$read_symbol(var_args){\nvar G__41528 \x3d arguments.length;\nswitch (G__41528) {\ncase 2:\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3(ctx,reader,reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null));\n}));\n\n(edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,initch){\nvar temp__5823__auto__ \x3d edamame.impl.parser.read_token(reader,new cljs.core.Keyword(null,\x22symbol\x22,\x22symbol\x22,-1038572696),initch);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar token \x3d temp__5823__auto__;\nvar G__41530 \x3d token;\nswitch (G__41530) {\ncase \x22nil\x22:\nreturn null;\n\nbreak;\ncase \x22true\x22:\nreturn true;\n\nbreak;\ncase \x22false\x22:\nreturn false;\n\nbreak;\ncase \x22/\x22:\nreturn new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null);\n\nbreak;\ndefault:\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto____$1 \x3d edamame.impl.parser.parse_symbol(token);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar p \x3d temp__5823__auto____$1;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((0)) : p.call(null,(0))),(p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1((1)) : p.call(null,(1))));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$4(ctx,reader,[\x22Invalid symbol: \x22,token].join(\x27\x27),cljs.core.update.cljs$core$IFn$_invoke$arity$4(edamame.impl.parser.location(reader),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),cljs.core._,((token).length)));\n}\n\n}\n} else {\nreturn null;\n}\n}));\n\n(edamame.impl.parser.read_symbol.cljs$lang$maxFixedArity \x3d 3);\n\nedamame.impl.parser.parse_namespaced_map \x3d (function edamame$impl$parser$parse_namespaced_map(ctx,reader){\nvar peeked_char \x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nvar whitespace_before_QMARK_ \x3d edamame.impl.parser.whitespace_QMARK_(peeked_char);\nvar auto_resolved_QMARK_ \x3d (((\x22:\x22 \x3d\x3d\x3d peeked_char))?(function (){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn true;\n})()\n:null);\nvar whitespace_after_QMARK_ \x3d cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22some\x22,\x22some\x22,-1951079573),edamame.impl.parser.skip_whitespace(ctx,reader));\nvar current_ns_QMARK_ \x3d (cljs.core.truth_(auto_resolved_QMARK_)?(\x22{\x22 \x3d\x3d\x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null)):null);\nvar _ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(current_ns_QMARK_);\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d whitespace_before_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn whitespace_after_QMARK_;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Namespaced map must specify a namespace\x22):null);\nvar prefix \x3d (cljs.core.truth_(auto_resolved_QMARK_)?(cljs.core.truth_(current_ns_QMARK_)?null:edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2(ctx,reader)):edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$2(ctx,reader));\nvar the_map \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(cljs.core.truth_(auto_resolved_QMARK_)){\nvar ns \x3d (cljs.core.truth_(current_ns_QMARK_)?new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603):cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(prefix)));\nvar f \x3d edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3(ctx,reader,ns);\nvar resolved_ns \x3d edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5(ctx,f,ns,reader,prefix);\nreturn cljs.core.zipmap(cljs.tools.reader.impl.utils.namespace_keys(cljs.core.str.cljs$core$IFn$_invoke$arity$1(resolved_ns),cljs.core.keys(the_map)),cljs.core.vals(the_map));\n} else {\nvar resolved_ns \x3d cljs.core.name(prefix);\nreturn cljs.core.zipmap(cljs.tools.reader.impl.utils.namespace_keys(resolved_ns,cljs.core.keys(the_map)),cljs.core.vals(the_map));\n}\n});\nedamame.impl.parser.parse_sharp \x3d (function edamame$impl$parser$parse_sharp(ctx,reader){\nvar c \x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nvar G__41547 \x3d c;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__41547)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Unexpected EOF.\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22!\x22,G__41547)){\nedamame.impl.parser.parse_comment(reader);\n\nreturn edamame.impl.parser.continue$;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__41547)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nvar pat \x3d edamame.impl.parser.read_regex_pattern(ctx,reader);\nif(v \x3d\x3d\x3d true){\nreturn cljs.core.re_pattern(pat);\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(pat) : v.call(null,pat));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Regex not allowed. Use the `:regex` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,G__41547)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn (edamame.impl.parser.read_symbolic_value.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.read_symbolic_value.cljs$core$IFn$_invoke$arity$3(reader,null,null) : edamame.impl.parser.read_symbolic_value.call(null,reader,null,null));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,G__41547)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nedamame.impl.parser.throw_eof_while_reading(ctx,reader);\n} else {\n}\n\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Var literal not allowed. Use the `:var` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22(\x22,G__41547)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nif(cljs.core.truth_(new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22fn-literal\x22,\x22edamame.impl.parser/fn-literal\x22,-1835933155).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Nested fn literals not allowed.\x22);\n} else {\nvar fn_expr \x3d (function (){var G__41550 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22fn-literal\x22,\x22edamame.impl.parser/fn-literal\x22,-1835933155),true);\nvar G__41551 \x3d reader;\nreturn (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(G__41550,G__41551) : edamame.impl.parser.parse_next.call(null,G__41550,G__41551));\n})();\nif(v \x3d\x3d\x3d true){\nreturn edamame.impl.read_fn.read_fn(fn_expr);\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(fn_expr) : v.call(null,fn_expr));\n}\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Function literal not allowed. Use the `:fn` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,G__41547)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.parse_namespaced_map(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22{\x22,G__41547)){\nreturn edamame.impl.parser.parse_set(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x3d\x22,G__41547)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22edamame.core\x22,\x22read-eval\x22,\x22edamame.core/read-eval\x22,1461005554,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Read-eval not allowed. Use the `:read-eval` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22^\x22,G__41547)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar meta_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,true) : edamame.impl.parser.parse_next.call(null,ctx,reader,true));\nvar val_val \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),cljs.core.merge,meta_val);\nreturn val_val;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22?\x22,G__41547)){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(ctx))){\n} else {\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Conditional read not allowed.\x22);\n}\n\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.parse_reader_conditional(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22_\x22,G__41547)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar uneval_fn \x3d new cljs.core.Keyword(null,\x22uneval\x22,\x22uneval\x22,1932037707).cljs$core$IFn$_invoke$arity$1(ctx);\nvar uneval \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(cljs.core.truth_(uneval_fn)){\nvar val_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.eof \x3d\x3d\x3d val_val)){\nreturn edamame.impl.parser.eof;\n} else {\nvar G__41556 \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22uneval\x22,\x22uneval\x22,1932037707),uneval,new cljs.core.Keyword(null,\x22next\x22,\x22next\x22,-117701485),val_val], null);\nreturn (uneval_fn.cljs$core$IFn$_invoke$arity$1 ? uneval_fn.cljs$core$IFn$_invoke$arity$1(G__41556) : uneval_fn.call(null,G__41556));\n}\n} else {\nreturn edamame.impl.parser.continue$;\n}\n} else {\nif(cljs.core.truth_(edamame.impl.parser.dispatch_macro_QMARK_(c))){\nreader.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,\x22#\x22);\n\nreturn edamame.impl.parser.edn_read(ctx,reader);\n} else {\nvar suppress_QMARK_ \x3d new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(suppress_QMARK_)){\nreturn cljs.core.tagged_literal((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)));\n} else {\nvar sym \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nvar data \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nvar f \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar readers \x3d temp__5823__auto__;\nreturn (readers.cljs$core$IFn$_invoke$arity$1 ? readers.cljs$core$IFn$_invoke$arity$1(sym) : readers.call(null,sym));\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.tagged_literals._STAR_cljs_data_readers_STAR_.call(null,sym);\n}\n})();\nif(cljs.core.truth_(f)){\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(data) : f.call(null,data));\n} else {\nthrow (new Error([\x22No reader function for tag \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)));\n}\n}\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nedamame.impl.parser.throw_odd_map \x3d (function edamame$impl$parser$throw_odd_map(ctx,reader,loc,elements){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22The map literal starting with \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.inspect.inspect.cljs$core$IFn$_invoke$arity$1(cljs.core.first(elements))),\x22 contains \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.count(elements)),\x22 form(s). Map literals must contain an even number of forms.\x22].join(\x27\x27),null,loc);\n});\nedamame.impl.parser.parse_map \x3d (function edamame$impl$parser$parse_map(ctx,reader){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar start_loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nvar elements \x3d edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22}\x22);\nvar c \x3d cljs.core.count(elements);\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar mf \x3d temp__5821__auto__;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(mf,elements);\n} else {\nif((c \x3e (0))){\nif(cljs.core.odd_QMARK_(c)){\nedamame.impl.parser.throw_odd_map(ctx,reader,start_loc,elements);\n} else {\n}\n\nvar ks_41886 \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),elements);\nif(cljs.core.truth_(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.distinct_QMARK_,ks_41886))){\n} else {\nedamame.impl.parser.throw_dup_keys(ctx,reader,start_loc,new cljs.core.Keyword(null,\x22map\x22,\x22map\x22,1371690461),ks_41886);\n}\n} else {\n}\n\nif((c \x3c\x3d (16))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,elements);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,elements);\n}\n}\n});\nedamame.impl.parser.parse_keyword \x3d (function edamame$impl$parser$parse_keyword(ctx,reader){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar init_c \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(edamame.impl.parser.whitespace_QMARK_(init_c))){\nedamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Invalid token: :\x22);\n} else {\n}\n\nvar token \x3d edamame.impl.parser.read_token(reader,new cljs.core.Keyword(null,\x22keyword\x22,\x22keyword\x22,811389747),init_c);\nif(clojure.string.blank_QMARK_(token)){\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Invalid keyword: :\x22);\n} else {\nvar s \x3d edamame.impl.parser.parse_symbol(token);\nif(cljs.core.truth_(s)){\nvar auto_resolve_QMARK_ \x3d (\x22:\x22 \x3d\x3d\x3d token.charAt((0)));\nif(auto_resolve_QMARK_){\nvar token__$1 \x3d ((auto_resolve_QMARK_)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,(1)):token);\nvar vec__41565 \x3d s;\nvar token_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41565,(0),null);\nvar token_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41565,(1),null);\nif(cljs.core.truth_(token_ns)){\nvar f \x3d edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$3(ctx,reader,token__$1);\nvar kns \x3d edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$5(ctx,f,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token_ns,(1))),reader,token_ns);\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(kns),token_name);\n} else {\nvar f \x3d edamame.impl.parser.get_auto_resolve.cljs$core$IFn$_invoke$arity$4(ctx,reader,token__$1,\x22Use `:auto-resolve` + `:current` to resolve current namespace.\x22);\nvar kns \x3d edamame.impl.parser.auto_resolve.cljs$core$IFn$_invoke$arity$6(ctx,f,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),reader,token__$1,\x22Use `:auto-resolve` + `:current` to resolve current namespace.\x22);\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(kns),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token_name,(1)));\n}\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(token);\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,[\x22Invalid keyword: :\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(token),\x22.\x22].join(\x27\x27));\n}\n}\n});\n/**\n * Resolves syntactical sugar in metadata\n */\nedamame.impl.parser.desugar_meta \x3d (function edamame$impl$parser$desugar_meta(var_args){\nvar G__41573 \x3d arguments.length;\nswitch (G__41573) {\ncase 1:\nreturn edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([f,true]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),f], null);\n} else {\nif(cljs.core.vector_QMARK_(f)){\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169),f], null);\n} else {\nreturn f;\n\n}\n}\n}\n}\n}));\n\n(edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$2 \x3d (function (f,postprocess){\nif((f instanceof cljs.core.Keyword)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f)),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(true) : postprocess.call(null,true))]);\n} else {\nif((f instanceof cljs.core.Symbol)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223)) : postprocess.call(null,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223))),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f))]);\n} else {\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223)) : postprocess.call(null,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223))),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f))]);\n} else {\nif(cljs.core.vector_QMARK_(f)){\nreturn cljs.core.PersistentArrayMap.createAsIfByAssoc([(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169)) : postprocess.call(null,new cljs.core.Keyword(null,\x22param-tags\x22,\x22param-tags\x22,250134169))),(postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(f) : postprocess.call(null,f))]);\n} else {\nreturn f;\n\n}\n}\n}\n}\n}));\n\n(edamame.impl.parser.desugar_meta.cljs$lang$maxFixedArity \x3d 2);\n\nedamame.impl.parser.dispatch \x3d (function edamame$impl$parser$dispatch(ctx,reader,c){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar sharp_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22#\x22,c);\nif(sharp_QMARK_){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.parse_sharp(ctx,reader);\n} else {\nvar G__41577 \x3d c;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(null,G__41577)){\nreturn edamame.impl.parser.eof;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22@\x22,G__41577)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22deref\x22,\x22clojure.core/deref\x22,188719157,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Deref not allowed. Use the `:deref` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22`\x22,G__41577)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(((v \x3d\x3d\x3d true) || (cljs.core.map_QMARK_(v)))){\nvar gensyms \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22gensyms\x22,\x22gensyms\x22,248713782),gensyms);\nvar ret \x3d edamame.impl.syntax_quote.syntax_quote(ctx__$1,reader,next_val);\nreturn ret;\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Syntax quote not allowed. Use the `:syntax-quote` option\x22);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\x22\x22,G__41577)){\nreturn edamame.impl.parser.parse_string_STAR_(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x27\x22,G__41577)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nedamame.impl.parser.throw_eof_while_reading(ctx,reader);\n} else {\n}\n\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.edn_read(ctx,reader);\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22(\x22,G__41577)){\nreturn edamame.impl.parser.parse_list(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22)\x22,G__41577)){\nvar expected \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(expected,c)){\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22Unmatched delimiter: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),(cljs.core.truth_(expected)?[\x22, expected: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected),(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar map__41587 \x3d temp__5823__auto__;\nvar map__41587__$1 \x3d cljs.core.__destructure_map(map__41587);\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41587__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41587__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41587__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nreturn [\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),\x22 at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [row,col], null))].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27):null)].join(\x27\x27),(function (){var map__41589 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nvar map__41589__$1 \x3d cljs.core.__destructure_map(map__41589);\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41589__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41589__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41589__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null),new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected)], null);\n})(),loc);\n} else {\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.expected_delimiter;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22:\x22,G__41577)){\nreturn edamame.impl.parser.parse_keyword(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22;\x22,G__41577)){\nreturn edamame.impl.parser.parse_comment(reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22[\x22,G__41577)){\nreturn edamame.impl.parser.parse_to_delimiter.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22]\x22);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22{\x22,G__41577)){\nreturn edamame.impl.parser.parse_map(ctx,reader);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\\\\\x22,G__41577)){\nvar G__41590 \x3d reader;\nvar G__41591 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__41592 \x3d null;\nreturn (edamame.impl.parser.read_char_STAR_.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.read_char_STAR_.cljs$core$IFn$_invoke$arity$3(G__41590,G__41591,G__41592) : edamame.impl.parser.read_char_STAR_.call(null,G__41590,G__41591,G__41592));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22]\x22,G__41577)){\nvar expected \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(expected,c)){\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22Unmatched delimiter: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),(cljs.core.truth_(expected)?[\x22, expected: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected),(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar map__41599 \x3d temp__5823__auto__;\nvar map__41599__$1 \x3d cljs.core.__destructure_map(map__41599);\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41599__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41599__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41599__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nreturn [\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),\x22 at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [row,col], null))].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27):null)].join(\x27\x27),(function (){var map__41600 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nvar map__41600__$1 \x3d cljs.core.__destructure_map(map__41600);\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41600__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41600__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41600__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null),new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected)], null);\n})(),loc);\n} else {\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.expected_delimiter;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22}\x22,G__41577)){\nvar expected \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(expected,c)){\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$5(ctx,reader,[\x22Unmatched delimiter: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(c),(cljs.core.truth_(expected)?[\x22, expected: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected),(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar map__41605 \x3d temp__5823__auto__;\nvar map__41605__$1 \x3d cljs.core.__destructure_map(map__41605);\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41605__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41605__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41605__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nreturn [\x22 to match \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),\x22 at \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [row,col], null))].join(\x27\x27);\n} else {\nreturn null;\n}\n})()].join(\x27\x27):null)].join(\x27\x27),(function (){var map__41606 \x3d new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22opened-delimiter\x22,\x22edamame.impl.parser/opened-delimiter\x22,1199661648).cljs$core$IFn$_invoke$arity$1(ctx);\nvar map__41606__$1 \x3d cljs.core.__destructure_map(map__41606);\nvar char$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41606__$1,new cljs.core.Keyword(null,\x22char\x22,\x22char\x22,-641587586));\nvar row \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41606__$1,new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521));\nvar col \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41606__$1,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084));\nreturn new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter\x22,\x22edamame/opened-delimiter\x22,-1906008305),cljs.core.str.cljs$core$IFn$_invoke$arity$1(char$),new cljs.core.Keyword(\x22edamame\x22,\x22opened-delimiter-loc\x22,\x22edamame/opened-delimiter-loc\x22,443885208),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521),row,new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084),col], null),new cljs.core.Keyword(\x22edamame\x22,\x22expected-delimiter\x22,\x22edamame/expected-delimiter\x22,93379254),cljs.core.str.cljs$core$IFn$_invoke$arity$1(expected)], null);\n})(),loc);\n} else {\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nreturn edamame.impl.parser.expected_delimiter;\n}\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22^\x22,G__41577)){\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar meta_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,true) : edamame.impl.parser.parse_next.call(null,ctx,reader,true));\nvar val_val \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader)),cljs.core.merge,meta_val);\nreturn val_val;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22~\x22,G__41577)){\nvar temp__5821__auto__ \x3d (function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn true;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar nc \x3d reader.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif((nc \x3d\x3d\x3d \x22@\x22)){\nvar temp__5821__auto____$1 \x3d (function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn true;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar v__$1 \x3d temp__5821__auto____$1;\nreader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v__$1 \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote-splicing\x22,\x22clojure.core/unquote-splicing\x22,-552003150,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v__$1.cljs$core$IFn$_invoke$arity$1 ? v__$1.cljs$core$IFn$_invoke$arity$1(next_val) : v__$1.call(null,next_val));\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Syntax unquote splice not allowed. Use the `:syntax-quote` option\x22);\n}\n} else {\nvar next_val \x3d (edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader) : edamame.impl.parser.parse_next.call(null,ctx,reader));\nif(v \x3d\x3d\x3d true){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22unquote\x22,\x22clojure.core/unquote\x22,843087510,null),(new cljs.core.List(null,next_val,null,(1),null)),(2),null));\n} else {\nreturn (v.cljs$core$IFn$_invoke$arity$1 ? v.cljs$core$IFn$_invoke$arity$1(next_val) : v.call(null,next_val));\n}\n}\n} else {\nreturn edamame.impl.parser.throw_reader.cljs$core$IFn$_invoke$arity$3(ctx,reader,\x22Syntax unquote not allowed. Use the `:syntax-quote` option\x22);\n}\n} else {\nvar c__$1 \x3d reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_((edamame.impl.parser.number_literal_QMARK_.cljs$core$IFn$_invoke$arity$2 ? edamame.impl.parser.number_literal_QMARK_.cljs$core$IFn$_invoke$arity$2(reader,c__$1) : edamame.impl.parser.number_literal_QMARK_.call(null,reader,c__$1)))){\nreturn edamame.impl.parser.read_number(ctx,reader,c__$1);\n} else {\nreturn edamame.impl.parser.read_symbol.cljs$core$IFn$_invoke$arity$3(ctx,reader,c__$1);\n\n}\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nedamame.impl.parser.iobj_QMARK_ \x3d (function edamame$impl$parser$iobj_QMARK_(obj){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IWithMeta$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n}\n});\nedamame.impl.parser.buf \x3d (function edamame$impl$parser$buf(reader){\nreturn new cljs.core.Keyword(null,\x22buffer\x22,\x22buffer\x22,617295198).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(reader.frames));\n});\nedamame.impl.parser.parse_next \x3d (function edamame$impl$parser$parse_next(var_args){\nvar G__41613 \x3d arguments.length;\nswitch (G__41613) {\ncase 2:\nreturn edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,null);\n}));\n\n(edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,desugar){\nwhile(true){\nvar ir_QMARK_ \x3d cljs.tools.reader.reader_types.indexing_reader_QMARK_(reader);\nvar temp__5821__auto__ \x3d (function (){var and__5023__auto__ \x3d edamame.impl.parser.skip_whitespace(ctx,reader);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn cljs.tools.reader.reader_types.peek_char(reader);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar c \x3d temp__5821__auto__;\nvar loc \x3d ((ir_QMARK_)?edamame.impl.parser.location(reader):null);\nvar log_QMARK_ \x3d new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1(ctx);\nvar buf \x3d (cljs.core.truth_(log_QMARK_)?edamame.impl.parser.buf(reader):null);\nvar offset \x3d (cljs.core.truth_(log_QMARK_)?buf.getLength():null);\nvar obj \x3d (cljs.core.truth_(log_QMARK_)?cljs.tools.reader.reader_types.log_source_STAR_(reader,((function (ctx,reader,desugar,loc,log_QMARK_,buf,offset,c,temp__5821__auto__,ir_QMARK_){\nreturn (function (){\nreturn edamame.impl.parser.dispatch(ctx,reader,c);\n});})(ctx,reader,desugar,loc,log_QMARK_,buf,offset,c,temp__5821__auto__,ir_QMARK_))\n):edamame.impl.parser.dispatch(ctx,reader,c));\nif((edamame.impl.parser.continue$ \x3d\x3d\x3d obj)){\nvar G__41915 \x3d ctx;\nvar G__41916 \x3d reader;\nvar G__41917 \x3d desugar;\nctx \x3d G__41915;\nreader \x3d G__41916;\ndesugar \x3d G__41917;\ncontinue;\n} else {\nif((edamame.impl.parser.expected_delimiter \x3d\x3d\x3d obj)){\nreturn obj;\n} else {\nvar auto_resolve_ns \x3d new cljs.core.Keyword(null,\x22auto-resolve-ns\x22,\x22auto-resolve-ns\x22,-417488467).cljs$core$IFn$_invoke$arity$1(ctx);\nvar _ \x3d (cljs.core.truth_(auto_resolve_ns)?(function (){var temp__5823__auto__ \x3d ((((cljs.core.seq_QMARK_(obj)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),cljs.core.first(obj)))))?(function (){try{return edamame.impl.ns_parser.parse_ns_form(obj);\n}catch (e41614){if((e41614 instanceof edamame.impl.parser.Exception)){\nvar _ \x3d e41614;\nreturn null;\n} else {\nthrow e41614;\n\n}\n}})():null);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ns_parsed \x3d temp__5823__auto__;\nvar temp__5823__auto____$1 \x3d new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar ns_state \x3d temp__5823__auto____$1;\nreturn cljs.core.reset_BANG_(ns_state,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714).cljs$core$IFn$_invoke$arity$1(ns_parsed),new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603).cljs$core$IFn$_invoke$arity$1(ns_parsed)));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})():null);\nvar postprocess \x3d new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881).cljs$core$IFn$_invoke$arity$1(ctx);\nvar location_QMARK_ \x3d new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086).cljs$core$IFn$_invoke$arity$1(ctx);\nvar end_loc_QMARK_ \x3d new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467).cljs$core$IFn$_invoke$arity$1(ctx);\nvar iobj_QMARK__QMARK_ \x3d edamame.impl.parser.iobj_QMARK_(obj);\nvar src \x3d (cljs.core.truth_(log_QMARK_)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(buf),offset).trim():null);\nvar loc_QMARK_ \x3d (function (){var and__5023__auto__ \x3d ir_QMARK_;\nif(and__5023__auto__){\nvar or__5025__auto__ \x3d (function (){var and__5023__auto____$1 \x3d iobj_QMARK__QMARK_;\nif(and__5023__auto____$1){\nvar or__5025__auto__ \x3d cljs.core.not(location_QMARK_);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn (location_QMARK_.cljs$core$IFn$_invoke$arity$1 ? location_QMARK_.cljs$core$IFn$_invoke$arity$1(obj) : location_QMARK_.call(null,obj));\n}\n} else {\nreturn and__5023__auto____$1;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn postprocess;\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar end_loc \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d ir_QMARK_;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d loc_QMARK_;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn end_loc_QMARK_;\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?edamame.impl.parser.location(reader):null);\nvar row \x3d (cljs.core.truth_(loc_QMARK_)?new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$1(loc):null);\nvar end_row \x3d (cljs.core.truth_(end_loc_QMARK_)?new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521).cljs$core$IFn$_invoke$arity$1(end_loc):null);\nvar col \x3d (cljs.core.truth_(loc_QMARK_)?new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(loc):null);\nvar end_col \x3d (cljs.core.truth_(end_loc_QMARK_)?new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084).cljs$core$IFn$_invoke$arity$1(end_loc):null);\nvar postprocess_fn \x3d (cljs.core.truth_(postprocess)?((function (ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,loc,log_QMARK_,buf,offset,obj,c,temp__5821__auto__,ir_QMARK_){\nreturn (function (p1__41609_SHARP_){\nvar G__41628 \x3d (function (){var G__41629 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),p1__41609_SHARP_], null);\nvar G__41629__$1 \x3d (cljs.core.truth_(loc_QMARK_)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41629,new cljs.core.Keyword(null,\x22loc\x22,\x22loc\x22,-584284901),(function (){var G__41634 \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),row,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),col]);\nif(cljs.core.truth_(end_loc_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(G__41634,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(ctx),end_row,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(ctx),end_col], 0));\n} else {\nreturn G__41634;\n}\n})()):G__41629);\nif(cljs.core.truth_(src)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41629__$1,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539);\n}\n})(),src);\n} else {\nreturn G__41629__$1;\n}\n})();\nreturn (postprocess.cljs$core$IFn$_invoke$arity$1 ? postprocess.cljs$core$IFn$_invoke$arity$1(G__41628) : postprocess.call(null,G__41628));\n});})(ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,loc,log_QMARK_,buf,offset,obj,c,temp__5821__auto__,ir_QMARK_))\n:null);\nvar obj__$1 \x3d (cljs.core.truth_(desugar)?(cljs.core.truth_(postprocess_fn)?edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$2(obj,postprocess_fn):edamame.impl.parser.desugar_meta.cljs$core$IFn$_invoke$arity$1(obj)):obj);\nvar obj__$2 \x3d (cljs.core.truth_(postprocess)?(postprocess_fn.cljs$core$IFn$_invoke$arity$1 ? postprocess_fn.cljs$core$IFn$_invoke$arity$1(obj__$1) : postprocess_fn.call(null,obj__$1)):(cljs.core.truth_(loc_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(obj__$1,((function (ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,postprocess_fn,obj__$1,loc,log_QMARK_,buf,offset,obj,c,temp__5821__auto__,ir_QMARK_){\nreturn (function (p1__41611_SHARP_){\nvar G__41665 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__41611_SHARP_,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(ctx),row),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(ctx),col);\nvar G__41665__$1 \x3d (cljs.core.truth_(end_loc_QMARK_)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41665,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(ctx),end_row),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(ctx),end_col):G__41665);\nif(cljs.core.truth_(src)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41665__$1,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(ctx),src);\n} else {\nreturn G__41665__$1;\n}\n});})(ctx,reader,desugar,auto_resolve_ns,_,postprocess,location_QMARK_,end_loc_QMARK_,iobj_QMARK__QMARK_,src,loc_QMARK_,end_loc,row,end_row,col,end_col,postprocess_fn,obj__$1,loc,log_QMARK_,buf,offset,obj,c,temp__5821__auto__,ir_QMARK_))\n):obj__$1\n));\nreturn obj__$2;\n}\n}\n} else {\nreturn edamame.impl.parser.eof;\n}\nbreak;\n}\n}));\n\n(edamame.impl.parser.parse_next.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Create reader for strings.\n */\nedamame.impl.parser.string_reader \x3d (function edamame$impl$parser$string_reader(s){\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nedamame.impl.parser.Options \x3d (function (dispatch,deref,syntax_quote,unquote,unquote_splicing,quote,fn,var$,read_eval,regex,row_key,col_key,end_row_key,end_col_key,source,source_key,postprocess,location_QMARK_,end_location,ns_state,suppress_read,__meta,__extmap,__hash){\nthis.dispatch \x3d dispatch;\nthis.deref \x3d deref;\nthis.syntax_quote \x3d syntax_quote;\nthis.unquote \x3d unquote;\nthis.unquote_splicing \x3d unquote_splicing;\nthis.quote \x3d quote;\nthis.fn \x3d fn;\nthis.var$ \x3d var$;\nthis.read_eval \x3d read_eval;\nthis.regex \x3d regex;\nthis.row_key \x3d row_key;\nthis.col_key \x3d col_key;\nthis.end_row_key \x3d end_row_key;\nthis.end_col_key \x3d end_col_key;\nthis.source \x3d source;\nthis.source_key \x3d source_key;\nthis.postprocess \x3d postprocess;\nthis.location_QMARK_ \x3d location_QMARK_;\nthis.end_location \x3d end_location;\nthis.ns_state \x3d ns_state;\nthis.suppress_read \x3d suppress_read;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(edamame.impl.parser.Options.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k41668,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__41674 \x3d k41668;\nvar G__41674__$1 \x3d (((G__41674 instanceof cljs.core.Keyword))?G__41674.fqn:null);\nswitch (G__41674__$1) {\ncase \x22dispatch\x22:\nreturn self__.dispatch;\n\nbreak;\ncase \x22deref\x22:\nreturn self__.deref;\n\nbreak;\ncase \x22syntax-quote\x22:\nreturn self__.syntax_quote;\n\nbreak;\ncase \x22unquote\x22:\nreturn self__.unquote;\n\nbreak;\ncase \x22unquote-splicing\x22:\nreturn self__.unquote_splicing;\n\nbreak;\ncase \x22quote\x22:\nreturn self__.quote;\n\nbreak;\ncase \x22fn\x22:\nreturn self__.fn;\n\nbreak;\ncase \x22var\x22:\nreturn self__.var$;\n\nbreak;\ncase \x22read-eval\x22:\nreturn self__.read_eval;\n\nbreak;\ncase \x22regex\x22:\nreturn self__.regex;\n\nbreak;\ncase \x22row-key\x22:\nreturn self__.row_key;\n\nbreak;\ncase \x22col-key\x22:\nreturn self__.col_key;\n\nbreak;\ncase \x22end-row-key\x22:\nreturn self__.end_row_key;\n\nbreak;\ncase \x22end-col-key\x22:\nreturn self__.end_col_key;\n\nbreak;\ncase \x22source\x22:\nreturn self__.source;\n\nbreak;\ncase \x22source-key\x22:\nreturn self__.source_key;\n\nbreak;\ncase \x22postprocess\x22:\nreturn self__.postprocess;\n\nbreak;\ncase \x22location?\x22:\nreturn self__.location_QMARK_;\n\nbreak;\ncase \x22end-location\x22:\nreturn self__.end_location;\n\nbreak;\ncase \x22ns-state\x22:\nreturn self__.ns_state;\n\nbreak;\ncase \x22suppress-read\x22:\nreturn self__.suppress_read;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k41668,else__5326__auto__);\n\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__41678){\nvar vec__41679 \x3d p__41678;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41679,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41679,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#edamame.impl.parser.Options{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),self__.dispatch],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),self__.deref],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),self__.syntax_quote],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),self__.unquote],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),self__.unquote_splicing],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),self__.quote],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),self__.fn],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),self__.var$],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),self__.read_eval],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),self__.regex],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),self__.row_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),self__.col_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),self__.end_row_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),self__.end_col_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),self__.source],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),self__.source_key],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),self__.postprocess],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),self__.location_QMARK_],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),self__.end_location],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),self__.ns_state],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),self__.suppress_read],null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__41667){\nvar self__ \x3d this;\nvar G__41667__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__41667__$1,21,new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (21 + cljs.core.count(self__.__extmap));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (-1037796634 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this41669,other41670){\nvar self__ \x3d this;\nvar this41669__$1 \x3d this;\nreturn (((!((other41670 \x3d\x3d null)))) \x26\x26 ((((this41669__$1.constructor \x3d\x3d\x3d other41670.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.dispatch,other41670.dispatch)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.deref,other41670.deref)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.syntax_quote,other41670.syntax_quote)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.unquote,other41670.unquote)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.unquote_splicing,other41670.unquote_splicing)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.quote,other41670.quote)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.fn,other41670.fn)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.var,other41670.var)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.read_eval,other41670.read_eval)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.regex,other41670.regex)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.row_key,other41670.row_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.col_key,other41670.col_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.end_row_key,other41670.end_row_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.end_col_key,other41670.end_col_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.source,other41670.source)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.source_key,other41670.source_key)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.postprocess,other41670.postprocess)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.location_QMARK_,other41670.location_QMARK_)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.end_location,other41670.end_location)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.ns_state,other41670.ns_state)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.suppress_read,other41670.suppress_read)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this41669__$1.__extmap,other41670.__extmap)))))))))))))))))))))))))))))))))))))))))))))));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 21, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),null,new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),null,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),null,new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),null,new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),null,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),null,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),null,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),null,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),null,new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),null,new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),null,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),null,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),null,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),null,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),null,new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),null,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),null,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),null,new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),null,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),null,new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k41668){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__41717 \x3d k41668;\nvar G__41717__$1 \x3d (((G__41717 instanceof cljs.core.Keyword))?G__41717.fqn:null);\nswitch (G__41717__$1) {\ncase \x22dispatch\x22:\ncase \x22deref\x22:\ncase \x22syntax-quote\x22:\ncase \x22unquote\x22:\ncase \x22unquote-splicing\x22:\ncase \x22quote\x22:\ncase \x22fn\x22:\ncase \x22var\x22:\ncase \x22read-eval\x22:\ncase \x22regex\x22:\ncase \x22row-key\x22:\ncase \x22col-key\x22:\ncase \x22end-row-key\x22:\ncase \x22end-col-key\x22:\ncase \x22source\x22:\ncase \x22source-key\x22:\ncase \x22postprocess\x22:\ncase \x22location?\x22:\ncase \x22end-location\x22:\ncase \x22ns-state\x22:\ncase \x22suppress-read\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k41668);\n\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__41667){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__41722 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__41723 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),expr__41723)))){\nreturn (new edamame.impl.parser.Options(G__41667,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,G__41667,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,G__41667,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,G__41667,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,G__41667,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,G__41667,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,G__41667,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,G__41667,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,G__41667,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,G__41667,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,G__41667,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,G__41667,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,G__41667,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,G__41667,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,G__41667,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,G__41667,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,G__41667,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,G__41667,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,G__41667,self__.ns_state,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,G__41667,self__.suppress_read,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__41722.cljs$core$IFn$_invoke$arity$2 ? pred__41722.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),expr__41723) : pred__41722.call(null,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),expr__41723)))){\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,G__41667,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__41667),null));\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),self__.dispatch,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),self__.deref,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),self__.syntax_quote,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),self__.unquote,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),self__.unquote_splicing,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),self__.quote,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),self__.fn,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),self__.var$,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),self__.read_eval,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),self__.regex,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),self__.row_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),self__.col_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),self__.end_row_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),self__.end_col_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),self__.source,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),self__.source_key,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),self__.postprocess,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),self__.location_QMARK_,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),self__.end_location,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),self__.ns_state,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),self__.suppress_read,null))], null),self__.__extmap));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__41667){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new edamame.impl.parser.Options(self__.dispatch,self__.deref,self__.syntax_quote,self__.unquote,self__.unquote_splicing,self__.quote,self__.fn,self__.var$,self__.read_eval,self__.regex,self__.row_key,self__.col_key,self__.end_row_key,self__.end_col_key,self__.source,self__.source_key,self__.postprocess,self__.location_QMARK_,self__.end_location,self__.ns_state,self__.suppress_read,G__41667,self__.__extmap,self__.__hash));\n}));\n\n(edamame.impl.parser.Options.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(edamame.impl.parser.Options.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 21, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22dispatch\x22,\x22dispatch\x22,-1335098760,null),new cljs.core.Symbol(null,\x22deref\x22,\x22deref\x22,1494944732,null),new cljs.core.Symbol(null,\x22syntax-quote\x22,\x22syntax-quote\x22,407366680,null),new cljs.core.Symbol(null,\x22unquote\x22,\x22unquote\x22,-1004694737,null),new cljs.core.Symbol(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,-1359168213,null),new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),new cljs.core.Symbol(null,\x22read-eval\x22,\x22read-eval\x22,-865701837,null),new cljs.core.Symbol(null,\x22regex\x22,\x22regex\x22,-1714946913,null),new cljs.core.Symbol(null,\x22row-key\x22,\x22row-key\x22,451520815,null),new cljs.core.Symbol(null,\x22col-key\x22,\x22col-key\x22,-369144239,null),new cljs.core.Symbol(null,\x22end-row-key\x22,\x22end-row-key\x22,513868847,null),new cljs.core.Symbol(null,\x22end-col-key\x22,\x22end-col-key\x22,1722344831,null),new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),new cljs.core.Symbol(null,\x22source-key\x22,\x22source-key\x22,314655985,null),new cljs.core.Symbol(null,\x22postprocess\x22,\x22postprocess\x22,-223231354,null),new cljs.core.Symbol(null,\x22location?\x22,\x22location?\x22,2066409613,null),new cljs.core.Symbol(null,\x22end-location\x22,\x22end-location\x22,441082060,null),new cljs.core.Symbol(null,\x22ns-state\x22,\x22ns-state\x22,1108260756,null),new cljs.core.Symbol(null,\x22suppress-read\x22,\x22suppress-read\x22,19684481,null)], null);\n}));\n\n(edamame.impl.parser.Options.cljs$lang$type \x3d true);\n\n(edamame.impl.parser.Options.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22edamame.impl.parser/Options\x22,null,(1),null));\n}));\n\n(edamame.impl.parser.Options.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22edamame.impl.parser/Options\x22);\n}));\n\n/**\n * Positional factory function for edamame.impl.parser/Options.\n */\nedamame.impl.parser.__GT_Options \x3d (function edamame$impl$parser$__GT_Options(dispatch,deref,syntax_quote,unquote,unquote_splicing,quote,fn,var$,read_eval,regex,row_key,col_key,end_row_key,end_col_key,source,source_key,postprocess,location_QMARK_,end_location,ns_state,suppress_read){\nreturn (new edamame.impl.parser.Options(dispatch,deref,syntax_quote,unquote,unquote_splicing,quote,fn,var$,read_eval,regex,row_key,col_key,end_row_key,end_col_key,source,source_key,postprocess,location_QMARK_,end_location,ns_state,suppress_read,null,null,null));\n});\n\n/**\n * Factory function for edamame.impl.parser/Options, taking a map of keywords to field values.\n */\nedamame.impl.parser.map__GT_Options \x3d (function edamame$impl$parser$map__GT_Options(G__41672){\nvar extmap__5365__auto__ \x3d (function (){var G__41739 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__41672,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046)], 0));\nif(cljs.core.record_QMARK_(G__41672)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__41739);\n} else {\nreturn G__41739;\n}\n})();\nreturn (new edamame.impl.parser.Options(new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22postprocess\x22,\x22postprocess\x22,-1863762881).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771).cljs$core$IFn$_invoke$arity$1(G__41672),new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046).cljs$core$IFn$_invoke$arity$1(G__41672),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nedamame.impl.parser.normalize_opts \x3d (function edamame$impl$parser$normalize_opts(opts){\nvar opts__$1 \x3d (function (){var temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar dispatch \x3d temp__5821__auto__;\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22dispatch\x22,\x22dispatch\x22,1319337009)),new cljs.core.PersistentVector(null, 9, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22@\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22`\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22~\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nif(cljs.core.fn_QMARK_(v)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),v], null);\n} else {\nvar temp__5823__auto____$1 \x3d new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328).cljs$core$IFn$_invoke$arity$1(v);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar v__$1 \x3d temp__5823__auto____$1;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22unquote\x22,\x22unquote\x22,1649741032),v__$1], null);\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22~\x22,\x22@\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22unquote-splicing\x22,\x22unquote-splicing\x22,1295267556),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22\x27\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22(\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22\x27\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22\x3d\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),v], null);\n} else {\nreturn null;\n}\n})(),(function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(dispatch,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [\x22#\x22,\x22\\\x22\x22], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),v], null);\n} else {\nreturn null;\n}\n})()], null));\n} else {\nreturn opts;\n}\n})();\nvar opts__$2 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742).cljs$core$IFn$_invoke$arity$1(opts__$1))?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,\x22deref\x22,\x22deref\x22,-145586795),true,new cljs.core.Keyword(null,\x22fn\x22,\x22fn\x22,-1175266204),true,new cljs.core.Keyword(null,\x22quote\x22,\x22quote\x22,-262615245),true,new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),true,new cljs.core.Keyword(null,\x22regex\x22,\x22regex\x22,939488856),true,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),true,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),true], null),opts__$1], 0)):opts__$1);\nvar opts__$3 \x3d (function (){var G__41747 \x3d opts__$2;\nvar G__41747__$1 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41747,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22row\x22,\x22row\x22,-570139521)):G__41747);\nvar G__41747__$2 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41747__$1,new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22col\x22,\x22col\x22,-1959363084)):G__41747__$1);\nvar G__41747__$3 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41747__$2,new cljs.core.Keyword(null,\x22end-row-key\x22,\x22end-row-key\x22,-1126662680),new cljs.core.Keyword(null,\x22end-row\x22,\x22end-row\x22,-545103581)):G__41747__$2);\nvar G__41747__$4 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41747__$3,new cljs.core.Keyword(null,\x22end-col-key\x22,\x22end-col-key\x22,81813304),new cljs.core.Keyword(null,\x22end-col\x22,\x22end-col\x22,-724155879)):G__41747__$3);\nvar G__41747__$5 \x3d ((cljs.core.not(new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542).cljs$core$IFn$_invoke$arity$1(opts__$2)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41747__$4,new cljs.core.Keyword(null,\x22source-key\x22,\x22source-key\x22,-1325875542),new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539)):G__41747__$4);\nif((!(cljs.core.contains_QMARK_(opts__$2,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467))))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41747__$5,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),true);\n} else {\nreturn G__41747__$5;\n}\n})();\nvar opts__$4 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$3,new cljs.core.Keyword(null,\x22ns-state\x22,\x22ns-state\x22,-532270771),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(null));\nreturn edamame.impl.parser.map__GT_Options(opts__$4);\n});\nedamame.impl.parser.parse_string \x3d (function edamame$impl$parser$parse_string(s,opts){\nvar opts__$1 \x3d edamame.impl.parser.normalize_opts(opts);\nvar src_QMARK_ \x3d opts__$1.source;\nvar r \x3d (cljs.core.truth_(src_QMARK_)?cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(s):edamame.impl.parser.string_reader(s));\nvar ctx \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$1,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),null);\nvar v \x3d edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,r);\nif((edamame.impl.parser.eof \x3d\x3d\x3d v)){\nreturn null;\n} else {\nreturn v;\n}\n});\nedamame.impl.parser.parse_string_all \x3d (function edamame$impl$parser$parse_string_all(s,opts){\nvar opts__$1 \x3d edamame.impl.parser.normalize_opts(opts);\nvar src_QMARK_ \x3d opts__$1.source;\nvar r \x3d (cljs.core.truth_(src_QMARK_)?cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(s):edamame.impl.parser.string_reader(s));\nvar ctx \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$1,new cljs.core.Keyword(\x22edamame.impl.parser\x22,\x22expected-delimiter\x22,\x22edamame.impl.parser/expected-delimiter\x22,2057965803),null);\nvar ret \x3d cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar next_val \x3d edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,r);\nif((edamame.impl.parser.eof \x3d\x3d\x3d next_val)){\nreturn cljs.core.persistent_BANG_(ret);\n} else {\nvar G__41960 \x3d cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(ret,next_val);\nret \x3d G__41960;\ncontinue;\n}\nbreak;\n}\n});\nedamame.impl.parser.reader \x3d (function edamame$impl$parser$reader(x){\nvar string_reader \x3d cljs.tools.reader.reader_types.string_reader(x);\nvar buf_len \x3d (1);\nvar pushback_reader \x3d (new cljs.tools.reader.reader_types.PushbackReader(string_reader,cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\nreturn cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(pushback_reader);\n});\nedamame.impl.parser.get_line_number \x3d (function edamame$impl$parser$get_line_number(reader){\nreturn cljs.tools.reader.reader_types.get_line_number(reader);\n});\nedamame.impl.parser.get_column_number \x3d (function edamame$impl$parser$get_column_number(reader){\nreturn cljs.tools.reader.reader_types.get_column_number(reader);\n});\nedamame.impl.parser.source_logging_reader \x3d (function edamame$impl$parser$source_logging_reader(x){\nvar string_reader \x3d cljs.tools.reader.reader_types.string_reader(x);\nvar buf_len \x3d (1);\nvar pushback_reader \x3d (new cljs.tools.reader.reader_types.PushbackReader(string_reader,cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(pushback_reader);\n});\n");
SHADOW_ENV.evalLoad("edamame.core.js", true, "goog.provide(\x27edamame.core\x27);\n/**\n * Parses first EDN value from string.\n * \n * Supported parsing options can be `true` for default behavior or a function\n * that is called on the form and returns a form in its place:\n * \n * `:deref`: parse forms starting with `@`. If `true`, the resulting\n * expression will be parsed as `(deref expr)`.\n * \n * `:fn`: parse function literals (`#(inc %)`). If `true`, will be parsed as `(fn [%1] (inc %))`.\n * \n * `:quote`: parse quoted expression `\x27foo`. If `true`, will be parsed as `(quote foo)`.\n * \n * `:read-eval`: parse read-eval (`#\x3d(+ 1 2 3)`). If `true`, the\n * resulting expression will be parsed as `(read-eval (+ 1 2 3))`.\n * \n * `:regex`: parse regex literals (`#\x22foo\x22`). If `true`, defaults to\n * `re-pattern`.\n * \n * `:var`: parse var literals (`#\x27foo`). If `true`, the resulting\n * expression will be parsed as `(var foo)`.\n * \n * `:map`: parse map literal using a custom function, e.g. `flatland.ordered.map/ordered-map`\n * \n * `:set`: parse set literal using a custom function, e.g. `flatland.ordered.set/ordered-set`\n * \n * `:syntax-quote`: parse syntax-quote (`(+ 1 2 3)`). Symbols get\n * qualified using `:resolve-symbol` which defaults to `identity`:\n * ```clojure\n * (parse-string \x22`x\x22 {:syntax-quote {:resolve-symbol #(symbol \x22user\x22 (str %))}})\n * ;;\x3d\x3e (quote user/x)\n * ```\n * By default, also parses `unquote` and `unquote-splicing` literals,\n * resolving them accordingly.\n * \n * `:unquote`: parse unquote (`~x`). Requires `:syntax-quote` to be set.\n * If `true` and not inside `syntax-quote`, defaults to `clojure.core/unquote`.\n * \n * `:unquote-splicing`: parse unquote-splicing (`~@x`). Requires `:syntax-quote`\n * to be set. If `true` and not inside `syntax-quote`, defaults\n * to `clojure.core/unquote-splicing`.\n * \n * `:all`: when `true`, the above options will be set to `true` unless\n * explicitly provided.\n * \n * Supported options for processing reader conditionals:\n * \n * `:read-cond`: - `:allow` to process reader conditionals, or\n * `:preserve` to keep all branches\n * `:features`: - persistent set of feature keywords for reader conditionals (e.g. `#{:clj}`).\n * \n * `:auto-resolve`: map of alias to namespace symbols for\n * auto-resolving keywords. Use `:current` as the alias for the current\n * namespace.\n * \n * `:readers`: data readers.\n * \n * `:postprocess`: a function that is called with a map containing\n * `:obj`, the read value, and `:loc`, the location metadata. This can\n * be used to handle objects that cannot carry metadata differently. If\n * this option is provided, attaching location metadata is not\n * automatically added to the object.\n * \n * `:location?`: a predicate that is called with the parsed\n * object. Should return a truthy value to determine if location\n * information will be added.\n * \n * `:uneval`: a function of a map with `:uneval` and `:next` to preserve `#_` expressions by combining them with next value.\n * \n * `:suppress-read`: counterpart to *suppress-read* in clojure\n * \n * Additional arguments to tools.reader may be passed with\n * `:tools.reader/opts`, like `:readers` for passing reader tag functions.\n * \n */\nedamame.core.parse_string \x3d (function edamame$core$parse_string(var_args){\nvar G__41814 \x3d arguments.length;\nswitch (G__41814) {\ncase 1:\nreturn edamame.core.parse_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn edamame.impl.parser.parse_string(s,null);\n}));\n\n(edamame.core.parse_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nreturn edamame.impl.parser.parse_string(s,opts);\n}));\n\n(edamame.core.parse_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Like `parse-string` but parses all values from string and returns them\n * in a vector.\n */\nedamame.core.parse_string_all \x3d (function edamame$core$parse_string_all(var_args){\nvar G__41826 \x3d arguments.length;\nswitch (G__41826) {\ncase 1:\nreturn edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn edamame.impl.parser.parse_string_all(s,null);\n}));\n\n(edamame.core.parse_string_all.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nreturn edamame.impl.parser.parse_string_all(s,opts);\n}));\n\n(edamame.core.parse_string_all.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Coerces x into indexing pushback-reader to be used with\n * parse-next. Accepts string or `java.io.Reader`\n */\nedamame.core.reader \x3d (function edamame$core$reader(x){\nreturn edamame.impl.parser.reader(x);\n});\n/**\n * Coerces x into source-logging-reader to be used with\n * parse-next. Accepts string or `java.io.Reader`\n */\nedamame.core.source_reader \x3d (function edamame$core$source_reader(x){\nreturn edamame.impl.parser.source_logging_reader(x);\n});\nedamame.core.get_line_number \x3d (function edamame$core$get_line_number(reader){\nreturn edamame.impl.parser.get_line_number(reader);\n});\nedamame.core.get_column_number \x3d (function edamame$core$get_column_number(reader){\nreturn edamame.impl.parser.get_column_number(reader);\n});\n/**\n * Expands `opts` into normalized opts, e.g. `:all true` is expanded\n * into explicit options.\n */\nedamame.core.normalize_opts \x3d (function edamame$core$normalize_opts(opts){\nreturn edamame.impl.parser.normalize_opts(opts);\n});\n/**\n * Parses next form from reader. Accepts same opts as `parse-string`,\n * but must be normalized with `normalize-opts` first.\n */\nedamame.core.parse_next \x3d (function edamame$core$parse_next(var_args){\nvar G__41845 \x3d arguments.length;\nswitch (G__41845) {\ncase 1:\nreturn edamame.core.parse_next.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_next.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2(reader,edamame.impl.parser.normalize_opts(cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (reader,normalized_opts){\nif(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)){\nvar buf_41876 \x3d edamame.impl.parser.buf(reader);\nbuf_41876.clear();\n} else {\n}\n\nvar v \x3d edamame.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(normalized_opts,reader);\nif((edamame.impl.parser.eof \x3d\x3d\x3d v)){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(normalized_opts,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22edamame.core\x22,\x22eof\x22,\x22edamame.core/eof\x22,1855384188);\n}\n} else {\nreturn v;\n}\n}));\n\n(edamame.core.parse_next.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Parses next form from reader. Accepts same opts as `parse-string`,\n * but must be normalized with `normalize-opts` first.\n * Returns read value + string read (whitespace-trimmed).\n */\nedamame.core.parse_next_PLUS_string \x3d (function edamame$core$parse_next_PLUS_string(var_args){\nvar G__41856 \x3d arguments.length;\nswitch (G__41856) {\ncase 1:\nreturn edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (reader){\nreturn edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2(reader,edamame.impl.parser.normalize_opts(cljs.core.PersistentArrayMap.EMPTY));\n}));\n\n(edamame.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (reader,normalized_opts){\nif(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)){\nvar v \x3d edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2(reader,normalized_opts);\nvar s \x3d clojure.string.trim(cljs.core.str.cljs$core$IFn$_invoke$arity$1(edamame.impl.parser.buf(reader)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,s], null);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22parse-next+string must be called with source-reader\x22,cljs.core.PersistentArrayMap.EMPTY);\n}\n}));\n\n(edamame.core.parse_next_PLUS_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Returns true if obj can carry metadata.\n */\nedamame.core.iobj_QMARK_ \x3d (function edamame$core$iobj_QMARK_(obj){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IWithMeta$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IWithMeta,obj);\n}\n});\n/**\n * Parses `ns-form`, an s-expression, into map with:\n * - `:name`: the name of the namespace\n * - `:aliases`: a map of aliases to lib names\n */\nedamame.core.parse_ns_form \x3d (function edamame$core$parse_ns_form(ns_form){\nreturn edamame.impl.ns_parser.parse_ns_form(ns_form);\n});\n/**\n * Singleton value to be used as return value in `:read-cond` fn to indicate to continue parsing the next form\n */\nedamame.core.continue$ \x3d edamame.impl.parser.continue$;\n");
SHADOW_ENV.evalLoad("sci.ctx_store.js", true, "goog.provide(\x27sci.ctx_store\x27);\n/**\n * Dynamic var in which context is stored. Don\x27t use directly, but only\n * via public API.\n */\nsci.ctx_store._STAR_ctx_STAR_ \x3d null;\n/**\n * Store `ctx`\n */\nsci.ctx_store.reset_ctx_BANG_ \x3d (function sci$ctx_store$reset_ctx_BANG_(ctx){\nreturn (sci.ctx_store._STAR_ctx_STAR_ \x3d ctx);\n});\n/**\n * Update `ctx` using `f` and `args`\n */\nsci.ctx_store.swap_ctx_BANG_ \x3d (function sci$ctx_store$swap_ctx_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___39877 \x3d arguments.length;\nvar i__5750__auto___39878 \x3d (0);\nwhile(true){\nif((i__5750__auto___39878 \x3c len__5749__auto___39877)){\nargs__5755__auto__.push((arguments[i__5750__auto___39878]));\n\nvar G__39880 \x3d (i__5750__auto___39878 + (1));\ni__5750__auto___39878 \x3d G__39880;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (f,args){\nreturn (sci.ctx_store._STAR_ctx_STAR_ \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,sci.ctx_store._STAR_ctx_STAR_,args));\n}));\n\n(sci.ctx_store.swap_ctx_BANG_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.ctx_store.swap_ctx_BANG_.cljs$lang$applyTo \x3d (function (seq39853){\nvar G__39855 \x3d cljs.core.first(seq39853);\nvar seq39853__$1 \x3d cljs.core.next(seq39853);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39855,seq39853__$1);\n}));\n\n/**\n * Retrieve stored ctx or throw an exception.\n */\nsci.ctx_store.get_ctx \x3d (function sci$ctx_store$get_ctx(){\nvar or__5025__auto__ \x3d sci.ctx_store._STAR_ctx_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar msg \x3d \x22No context found in: sci.ctx-store/*ctx*. Please set it using sci.ctx-store/reset-ctx!\x22;\nthrow (new Error(msg));\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.types.js", true, "goog.provide(\x27sci.impl.types\x27);\n\n/**\n * @interface\n */\nsci.impl.types.IBox \x3d function(){};\n\nvar sci$impl$types$IBox$setVal$dyn_39986 \x3d (function (_this,_v){\nvar x__5373__auto__ \x3d (((_this \x3d\x3d null))?null:_this);\nvar m__5374__auto__ \x3d (sci.impl.types.setVal[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(_this,_v) : m__5374__auto__.call(null,_this,_v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.setVal[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(_this,_v) : m__5372__auto__.call(null,_this,_v));\n} else {\nthrow cljs.core.missing_protocol(\x22IBox.setVal\x22,_this);\n}\n}\n});\nsci.impl.types.setVal \x3d (function sci$impl$types$setVal(_this,_v){\nif((((!((_this \x3d\x3d null)))) \x26\x26 ((!((_this.sci$impl$types$IBox$setVal$arity$2 \x3d\x3d null)))))){\nreturn _this.sci$impl$types$IBox$setVal$arity$2(_this,_v);\n} else {\nreturn sci$impl$types$IBox$setVal$dyn_39986(_this,_v);\n}\n});\n\nvar sci$impl$types$IBox$getVal$dyn_39988 \x3d (function (_this){\nvar x__5373__auto__ \x3d (((_this \x3d\x3d null))?null:_this);\nvar m__5374__auto__ \x3d (sci.impl.types.getVal[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_this) : m__5374__auto__.call(null,_this));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getVal[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_this) : m__5372__auto__.call(null,_this));\n} else {\nthrow cljs.core.missing_protocol(\x22IBox.getVal\x22,_this);\n}\n}\n});\nsci.impl.types.getVal \x3d (function sci$impl$types$getVal(_this){\nif((((!((_this \x3d\x3d null)))) \x26\x26 ((!((_this.sci$impl$types$IBox$getVal$arity$1 \x3d\x3d null)))))){\nreturn _this.sci$impl$types$IBox$getVal$arity$1(_this);\n} else {\nreturn sci$impl$types$IBox$getVal$dyn_39988(_this);\n}\n});\n\n\n/**\n * @interface\n */\nsci.impl.types.IReified \x3d function(){};\n\nvar sci$impl$types$IReified$getInterfaces$dyn_39990 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getInterfaces[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getInterfaces[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22IReified.getInterfaces\x22,_);\n}\n}\n});\nsci.impl.types.getInterfaces \x3d (function sci$impl$types$getInterfaces(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$IReified$getInterfaces$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$IReified$getInterfaces$arity$1(_);\n} else {\nreturn sci$impl$types$IReified$getInterfaces$dyn_39990(_);\n}\n});\n\nvar sci$impl$types$IReified$getMethods$dyn_39992 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getMethods[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getMethods[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22IReified.getMethods\x22,_);\n}\n}\n});\nsci.impl.types.getMethods \x3d (function sci$impl$types$getMethods(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$IReified$getMethods$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$IReified$getMethods$arity$1(_);\n} else {\nreturn sci$impl$types$IReified$getMethods$dyn_39992(_);\n}\n});\n\nvar sci$impl$types$IReified$getProtocols$dyn_39999 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getProtocols[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getProtocols[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22IReified.getProtocols\x22,_);\n}\n}\n});\nsci.impl.types.getProtocols \x3d (function sci$impl$types$getProtocols(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$IReified$getProtocols$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$IReified$getProtocols$arity$1(_);\n} else {\nreturn sci$impl$types$IReified$getProtocols$dyn_39999(_);\n}\n});\n\n\n/**\n* @constructor\n * @implements {sci.impl.types.IReified}\n*/\nsci.impl.types.Reified \x3d (function (interfaces,meths,protocols){\nthis.interfaces \x3d interfaces;\nthis.meths \x3d meths;\nthis.protocols \x3d protocols;\n});\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$getInterfaces$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.interfaces;\n}));\n\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$getMethods$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meths;\n}));\n\n(sci.impl.types.Reified.prototype.sci$impl$types$IReified$getProtocols$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.protocols;\n}));\n\n(sci.impl.types.Reified.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22interfaces\x22,\x22interfaces\x22,1469182407,null),new cljs.core.Symbol(null,\x22meths\x22,\x22meths\x22,1226876764,null),new cljs.core.Symbol(null,\x22protocols\x22,\x22protocols\x22,1634915631,null)], null);\n}));\n\n(sci.impl.types.Reified.cljs$lang$type \x3d true);\n\n(sci.impl.types.Reified.cljs$lang$ctorStr \x3d \x22sci.impl.types/Reified\x22);\n\n(sci.impl.types.Reified.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.types/Reified\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.types/Reified.\n */\nsci.impl.types.__GT_Reified \x3d (function sci$impl$types$__GT_Reified(interfaces,meths,protocols){\nreturn (new sci.impl.types.Reified(interfaces,meths,protocols));\n});\n\n\n/**\n * @interface\n */\nsci.impl.types.SciTypeInstance \x3d function(){};\n\nvar sci$impl$types$SciTypeInstance$_get_type$dyn_40006 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types._get_type[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types._get_type[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22SciTypeInstance.-get-type\x22,_);\n}\n}\n});\nsci.impl.types._get_type \x3d (function sci$impl$types$_get_type(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$SciTypeInstance$_get_type$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$SciTypeInstance$_get_type$arity$1(_);\n} else {\nreturn sci$impl$types$SciTypeInstance$_get_type$dyn_40006(_);\n}\n});\n\nvar sci$impl$types$SciTypeInstance$_mutate$dyn_40009 \x3d (function (_,k,v){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types._mutate[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$3(_,k,v) : m__5374__auto__.call(null,_,k,v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types._mutate[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$3 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$3(_,k,v) : m__5372__auto__.call(null,_,k,v));\n} else {\nthrow cljs.core.missing_protocol(\x22SciTypeInstance.-mutate\x22,_);\n}\n}\n});\nsci.impl.types._mutate \x3d (function sci$impl$types$_mutate(_,k,v){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$SciTypeInstance$_mutate$arity$3 \x3d\x3d null)))))){\nreturn _.sci$impl$types$SciTypeInstance$_mutate$arity$3(_,k,v);\n} else {\nreturn sci$impl$types$SciTypeInstance$_mutate$dyn_40009(_,k,v);\n}\n});\n\n/**\n * Must be varargs because used in multimethods\n * Only for internal use!\n */\nsci.impl.types.type_impl \x3d (function sci$impl$types$type_impl(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___40010 \x3d arguments.length;\nvar i__5750__auto___40011 \x3d (0);\nwhile(true){\nif((i__5750__auto___40011 \x3c len__5749__auto___40010)){\nargs__5755__auto__.push((arguments[i__5750__auto___40011]));\n\nvar G__40012 \x3d (i__5750__auto___40011 + (1));\ni__5750__auto___40011 \x3d G__40012;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.types.type_impl.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.types.type_impl.cljs$core$IFn$_invoke$arity$variadic \x3d (function (x,_){\nvar or__5025__auto__ \x3d (((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$IReified$))))?true:false):false))?new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396):null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$SciTypeInstance$))))?true:false):false))?x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var G__39881 \x3d x;\nvar G__39881__$1 \x3d (((G__39881 \x3d\x3d null))?null:cljs.core.meta(G__39881));\nif((G__39881__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__39881__$1);\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn cljs.core.type(x);\n}\n}\n}\n}));\n\n(sci.impl.types.type_impl.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.types.type_impl.cljs$lang$applyTo \x3d (function (seq39865){\nvar G__39866 \x3d cljs.core.first(seq39865);\nvar seq39865__$1 \x3d cljs.core.next(seq39865);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__39866,seq39865__$1);\n}));\n\n/**\n * Externally available type implementation.\n */\nsci.impl.types.type_impl2 \x3d (function sci$impl$types$type_impl2(x){\nvar or__5025__auto__ \x3d (function (){var G__39884 \x3d x;\nvar G__39884__$1 \x3d (((G__39884 \x3d\x3d null))?null:cljs.core.meta(G__39884));\nif((G__39884__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(G__39884__$1);\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$SciTypeInstance$))))?true:false):false))?x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn cljs.core.type(x);\n}\n}\n});\n\n/**\n* @constructor\n * @implements {sci.impl.types.IBox}\n*/\nsci.impl.types.EvalForm \x3d (function (form){\nthis.form \x3d form;\n});\n(sci.impl.types.EvalForm.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.types.EvalForm.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.form;\n}));\n\n(sci.impl.types.EvalForm.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null);\n}));\n\n(sci.impl.types.EvalForm.cljs$lang$type \x3d true);\n\n(sci.impl.types.EvalForm.cljs$lang$ctorStr \x3d \x22sci.impl.types/EvalForm\x22);\n\n(sci.impl.types.EvalForm.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.types/EvalForm\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.types/EvalForm.\n */\nsci.impl.types.__GT_EvalForm \x3d (function sci$impl$types$__GT_EvalForm(form){\nreturn (new sci.impl.types.EvalForm(form));\n});\n\n\n/**\n * @interface\n */\nsci.impl.types.Stack \x3d function(){};\n\nvar sci$impl$types$Stack$stack$dyn_40014 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.types.stack[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.stack[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22Stack.stack\x22,this$);\n}\n}\n});\nsci.impl.types.stack \x3d (function sci$impl$types$stack(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$types$Stack$stack$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$types$Stack$stack$arity$1(this$);\n} else {\nreturn sci$impl$types$Stack$stack$dyn_40014(this$);\n}\n});\n\n(sci.impl.types.Stack[\x22_\x22] \x3d true);\n\n(sci.impl.types.stack[\x22_\x22] \x3d (function (_this){\nreturn null;\n}));\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {sci.impl.types.Stack}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nsci.impl.types.NodeR \x3d (function (f,stack,__meta,__extmap,__hash){\nthis.f \x3d f;\nthis.stack \x3d stack;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(sci.impl.types.NodeR.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k39926,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__39940 \x3d k39926;\nvar G__39940__$1 \x3d (((G__39940 instanceof cljs.core.Keyword))?G__39940.fqn:null);\nswitch (G__39940__$1) {\ncase \x22f\x22:\nreturn self__.f;\n\nbreak;\ncase \x22stack\x22:\nreturn self__.stack;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k39926,else__5326__auto__);\n\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__39942){\nvar vec__39943 \x3d p__39942;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39943,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__39943,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#sci.impl.types.NodeR{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),self__.f],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),self__.stack],null))], null),self__.__extmap));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__39925){\nvar self__ \x3d this;\nvar G__39925__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__39925__$1,2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (2 + cljs.core.count(self__.__extmap));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (256596302 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this39927,other39928){\nvar self__ \x3d this;\nvar this39927__$1 \x3d this;\nreturn (((!((other39928 \x3d\x3d null)))) \x26\x26 ((((this39927__$1.constructor \x3d\x3d\x3d other39928.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39927__$1.f,other39928.f)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39927__$1.stack,other39928.stack)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this39927__$1.__extmap,other39928.__extmap)))))))));\n}));\n\n(sci.impl.types.NodeR.prototype.sci$impl$types$Stack$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.types.NodeR.prototype.sci$impl$types$Stack$stack$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.stack;\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),null,new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k39926){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__39957 \x3d k39926;\nvar G__39957__$1 \x3d (((G__39957 instanceof cljs.core.Keyword))?G__39957.fqn:null);\nswitch (G__39957__$1) {\ncase \x22f\x22:\ncase \x22stack\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k39926);\n\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__39925){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__39960 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__39961 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__39960.cljs$core$IFn$_invoke$arity$2 ? pred__39960.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),expr__39961) : pred__39960.call(null,new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),expr__39961)))){\nreturn (new sci.impl.types.NodeR(G__39925,self__.stack,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__39960.cljs$core$IFn$_invoke$arity$2 ? pred__39960.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),expr__39961) : pred__39960.call(null,new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),expr__39961)))){\nreturn (new sci.impl.types.NodeR(self__.f,G__39925,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__39925),null));\n}\n}\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),self__.f,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930),self__.stack,null))], null),self__.__extmap));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__39925){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new sci.impl.types.NodeR(self__.f,self__.stack,G__39925,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.types.NodeR.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(sci.impl.types.NodeR.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22stack\x22,\x22stack\x22,847125597,null)], null);\n}));\n\n(sci.impl.types.NodeR.cljs$lang$type \x3d true);\n\n(sci.impl.types.NodeR.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22sci.impl.types/NodeR\x22,null,(1),null));\n}));\n\n(sci.impl.types.NodeR.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22sci.impl.types/NodeR\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.types/NodeR.\n */\nsci.impl.types.__GT_NodeR \x3d (function sci$impl$types$__GT_NodeR(f,stack){\nreturn (new sci.impl.types.NodeR(f,stack,null,null,null));\n});\n\n/**\n * Factory function for sci.impl.types/NodeR, taking a map of keywords to field values.\n */\nsci.impl.types.map__GT_NodeR \x3d (function sci$impl$types$map__GT_NodeR(G__39930){\nvar extmap__5365__auto__ \x3d (function (){var G__39971 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__39930,new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930)], 0));\nif(cljs.core.record_QMARK_(G__39930)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__39971);\n} else {\nreturn G__39971;\n}\n})();\nreturn (new sci.impl.types.NodeR(new cljs.core.Keyword(null,\x22f\x22,\x22f\x22,-1597136552).cljs$core$IFn$_invoke$arity$1(G__39930),new cljs.core.Keyword(null,\x22stack\x22,\x22stack\x22,-793405930).cljs$core$IFn$_invoke$arity$1(G__39930),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nsci.impl.types.eval \x3d (function sci$impl$types$eval(expr,ctx,bindings){\nif((expr instanceof sci.impl.types.NodeR)){\nvar fexpr__39974 \x3d expr.f;\nreturn (fexpr__39974.cljs$core$IFn$_invoke$arity$3 ? fexpr__39974.cljs$core$IFn$_invoke$arity$3(expr,ctx,bindings) : fexpr__39974.call(null,expr,ctx,bindings));\n} else {\nreturn expr;\n}\n});\nsci.impl.types.__GT_constant \x3d (function sci$impl$types$__GT_constant(x){\nreturn x;\n});\n\n/**\n * @interface\n */\nsci.impl.types.HasName \x3d function(){};\n\nvar sci$impl$types$HasName$getName$dyn_40029 \x3d (function (_){\nvar x__5373__auto__ \x3d (((_ \x3d\x3d null))?null:_);\nvar m__5374__auto__ \x3d (sci.impl.types.getName[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5374__auto__.call(null,_));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.types.getName[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(_) : m__5372__auto__.call(null,_));\n} else {\nthrow cljs.core.missing_protocol(\x22HasName.getName\x22,_);\n}\n}\n});\nsci.impl.types.getName \x3d (function sci$impl$types$getName(_){\nif((((!((_ \x3d\x3d null)))) \x26\x26 ((!((_.sci$impl$types$HasName$getName$arity$1 \x3d\x3d null)))))){\nreturn _.sci$impl$types$HasName$getName$arity$1(_);\n} else {\nreturn sci$impl$types$HasName$getName$dyn_40029(_);\n}\n});\n\n");
SHADOW_ENV.evalLoad("sci.impl.macros.js", true, "goog.provide(\x27sci.impl.macros\x27);\n");
SHADOW_ENV.evalLoad("sci.impl.unrestrict.js", true, "goog.provide(\x27sci.impl.unrestrict\x27);\nsci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d false;\n");
SHADOW_ENV.evalLoad("sci.impl.vars.js", true, "goog.provide(\x27sci.impl.vars\x27);\n\n/**\n* @constructor\n*/\nsci.impl.vars.Frame \x3d (function (bindings,prev){\nthis.bindings \x3d bindings;\nthis.prev \x3d prev;\n});\n\n(sci.impl.vars.Frame.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22prev\x22,\x22prev\x22,43462301,null)], null);\n}));\n\n(sci.impl.vars.Frame.cljs$lang$type \x3d true);\n\n(sci.impl.vars.Frame.cljs$lang$ctorStr \x3d \x22sci.impl.vars/Frame\x22);\n\n(sci.impl.vars.Frame.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.vars/Frame\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.vars/Frame.\n */\nsci.impl.vars.__GT_Frame \x3d (function sci$impl$vars$__GT_Frame(bindings,prev){\nreturn (new sci.impl.vars.Frame(bindings,prev));\n});\n\nsci.impl.vars.top_frame \x3d (new sci.impl.vars.Frame(cljs.core.PersistentArrayMap.EMPTY,null));\nsci.impl.vars.dvals \x3d cljs.core.volatile_BANG_(sci.impl.vars.top_frame);\nsci.impl.vars.get_thread_binding_frame \x3d (function sci$impl$vars$get_thread_binding_frame(){\nreturn cljs.core.deref(sci.impl.vars.dvals);\n});\n\n/**\n* @constructor\n * @implements {sci.impl.types.IBox}\n*/\nsci.impl.vars.TBox \x3d (function (thread,val){\nthis.thread \x3d thread;\nthis.val \x3d val;\n});\n(sci.impl.vars.TBox.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.vars.TBox.prototype.sci$impl$types$IBox$setVal$arity$2 \x3d (function (_this,v){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn (self__.val \x3d v);\n}));\n\n(sci.impl.vars.TBox.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.val;\n}));\n\n(sci.impl.vars.TBox.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22thread\x22,\x22thread\x22,-1707434245,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.impl.vars.TBox.cljs$lang$type \x3d true);\n\n(sci.impl.vars.TBox.cljs$lang$ctorStr \x3d \x22sci.impl.vars/TBox\x22);\n\n(sci.impl.vars.TBox.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.vars/TBox\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.vars/TBox.\n */\nsci.impl.vars.__GT_TBox \x3d (function sci$impl$vars$__GT_TBox(thread,val){\nreturn (new sci.impl.vars.TBox(thread,val));\n});\n\nsci.impl.vars.clone_thread_binding_frame \x3d (function sci$impl$vars$clone_thread_binding_frame(){\nvar f \x3d cljs.core.deref(sci.impl.vars.dvals);\nreturn (new sci.impl.vars.Frame(f.bindings,null));\n});\nsci.impl.vars.reset_thread_binding_frame \x3d (function sci$impl$vars$reset_thread_binding_frame(frame){\nreturn cljs.core.vreset_BANG_(sci.impl.vars.dvals,frame);\n});\n\n/**\n * @interface\n */\nsci.impl.vars.IVar \x3d function(){};\n\nvar sci$impl$vars$IVar$bindRoot$dyn_40938 \x3d (function (this$,v){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.bindRoot[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5374__auto__.call(null,this$,v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.bindRoot[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5372__auto__.call(null,this$,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.bindRoot\x22,this$);\n}\n}\n});\nsci.impl.vars.bindRoot \x3d (function sci$impl$vars$bindRoot(this$,v){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$bindRoot$arity$2 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$bindRoot$arity$2(this$,v);\n} else {\nreturn sci$impl$vars$IVar$bindRoot$dyn_40938(this$,v);\n}\n});\n\nvar sci$impl$vars$IVar$getRawRoot$dyn_40939 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.getRawRoot[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.getRawRoot[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.getRawRoot\x22,this$);\n}\n}\n});\nsci.impl.vars.getRawRoot \x3d (function sci$impl$vars$getRawRoot(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$getRawRoot$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$getRawRoot$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$getRawRoot$dyn_40939(this$);\n}\n});\n\nvar sci$impl$vars$IVar$toSymbol$dyn_40940 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.toSymbol[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.toSymbol[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.toSymbol\x22,this$);\n}\n}\n});\nsci.impl.vars.toSymbol \x3d (function sci$impl$vars$toSymbol(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$toSymbol$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$toSymbol$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$toSymbol$dyn_40940(this$);\n}\n});\n\nvar sci$impl$vars$IVar$isMacro$dyn_40941 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.isMacro[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.isMacro[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.isMacro\x22,this$);\n}\n}\n});\nsci.impl.vars.isMacro \x3d (function sci$impl$vars$isMacro(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$isMacro$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$isMacro$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$isMacro$dyn_40941(this$);\n}\n});\n\nvar sci$impl$vars$IVar$hasRoot$dyn_40942 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.hasRoot[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.hasRoot[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.hasRoot\x22,this$);\n}\n}\n});\nsci.impl.vars.hasRoot \x3d (function sci$impl$vars$hasRoot(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$hasRoot$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$hasRoot$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$hasRoot$dyn_40942(this$);\n}\n});\n\nvar sci$impl$vars$IVar$setThreadBound$dyn_40943 \x3d (function (this$,v){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.setThreadBound[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5374__auto__.call(null,this$,v));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.setThreadBound[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(this$,v) : m__5372__auto__.call(null,this$,v));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.setThreadBound\x22,this$);\n}\n}\n});\nsci.impl.vars.setThreadBound \x3d (function sci$impl$vars$setThreadBound(this$,v){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$setThreadBound$arity$2 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$setThreadBound$arity$2(this$,v);\n} else {\nreturn sci$impl$vars$IVar$setThreadBound$dyn_40943(this$,v);\n}\n});\n\nvar sci$impl$vars$IVar$unbind$dyn_40944 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.unbind[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.unbind[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22IVar.unbind\x22,this$);\n}\n}\n});\nsci.impl.vars.unbind \x3d (function sci$impl$vars$unbind(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$IVar$unbind$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$IVar$unbind$arity$1(this$);\n} else {\nreturn sci$impl$vars$IVar$unbind$dyn_40944(this$);\n}\n});\n\n\n/**\n * @interface\n */\nsci.impl.vars.DynVar \x3d function(){};\n\nvar sci$impl$vars$DynVar$dynamic_QMARK_$dyn_40947 \x3d (function (this$){\nvar x__5373__auto__ \x3d (((this$ \x3d\x3d null))?null:this$);\nvar m__5374__auto__ \x3d (sci.impl.vars.dynamic_QMARK_[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5374__auto__.call(null,this$));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.vars.dynamic_QMARK_[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$1 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__5372__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\x22DynVar.dynamic?\x22,this$);\n}\n}\n});\nsci.impl.vars.dynamic_QMARK_ \x3d (function sci$impl$vars$dynamic_QMARK_(this$){\nif((((!((this$ \x3d\x3d null)))) \x26\x26 ((!((this$.sci$impl$vars$DynVar$dynamic_QMARK_$arity$1 \x3d\x3d null)))))){\nreturn this$.sci$impl$vars$DynVar$dynamic_QMARK_$arity$1(this$);\n} else {\nreturn sci$impl$vars$DynVar$dynamic_QMARK_$dyn_40947(this$);\n}\n});\n\n(sci.impl.vars.DynVar[\x22_\x22] \x3d true);\n\n(sci.impl.vars.dynamic_QMARK_[\x22_\x22] \x3d (function (_){\nreturn false;\n}));\nsci.impl.vars.push_thread_bindings \x3d (function sci$impl$vars$push_thread_bindings(bindings){\nvar frame \x3d sci.impl.vars.get_thread_binding_frame();\nvar bmap \x3d frame.bindings;\nvar bmap__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,p__40832){\nvar vec__40833 \x3d p__40832;\nvar var_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40833,(0),null);\nvar val_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40833,(1),null);\nif(cljs.core.not(sci.impl.vars.dynamic_QMARK_(var_STAR_))){\nthrow (new Error([\x22Can\x27t dynamically bind non-dynamic var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_STAR_)].join(\x27\x27)));\n} else {\n}\n\nsci.impl.vars.setThreadBound(var_STAR_,true);\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(acc,var_STAR_,(new sci.impl.vars.TBox(null,val_STAR_)));\n}),bmap,bindings);\nreturn sci.impl.vars.reset_thread_binding_frame((new sci.impl.vars.Frame(bmap__$1,frame)));\n});\nsci.impl.vars.pop_thread_bindings \x3d (function sci$impl$vars$pop_thread_bindings(){\nvar temp__5821__auto__ \x3d sci.impl.vars.get_thread_binding_frame().prev;\nif(cljs.core.truth_(temp__5821__auto__)){\nvar f \x3d temp__5821__auto__;\nif((sci.impl.vars.top_frame \x3d\x3d\x3d f)){\nreturn cljs.core.vreset_BANG_(sci.impl.vars.dvals,sci.impl.vars.top_frame);\n} else {\nreturn sci.impl.vars.reset_thread_binding_frame(f);\n}\n} else {\nthrow (new Error(\x22No frame to pop.\x22));\n}\n});\nsci.impl.vars.get_thread_bindings \x3d (function sci$impl$vars$get_thread_bindings(){\nvar f \x3d sci.impl.vars.get_thread_binding_frame();\nvar ret \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar kvs \x3d cljs.core.seq(f.bindings);\nwhile(true){\nif(kvs){\nvar vec__40842 \x3d cljs.core.first(kvs);\nvar var_STAR_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40842,(0),null);\nvar tbox \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__40842,(1),null);\nvar tbox_val \x3d tbox.sci$impl$types$IBox$getVal$arity$1(null);\nvar G__40950 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_STAR_,tbox_val);\nvar G__40952 \x3d cljs.core.next(kvs);\nret \x3d G__40950;\nkvs \x3d G__40952;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nsci.impl.vars.get_thread_binding \x3d (function sci$impl$vars$get_thread_binding(sci_var){\nvar temp__5823__auto__ \x3d cljs.core.deref(sci.impl.vars.dvals);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar f \x3d temp__5823__auto__;\nreturn f.bindings.get(sci_var);\n} else {\nreturn null;\n}\n});\nsci.impl.vars.binding_conveyor_fn \x3d (function sci$impl$vars$binding_conveyor_fn(f){\nvar frame \x3d sci.impl.vars.clone_thread_binding_frame();\nreturn (function() {\nvar G__40954 \x3d null;\nvar G__40954__0 \x3d (function (){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n});\nvar G__40954__1 \x3d (function (x){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));\n});\nvar G__40954__2 \x3d (function (x,y){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));\n});\nvar G__40954__3 \x3d (function (x,y,z){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z));\n});\nvar G__40954__4 \x3d (function() { \nvar G__40956__delegate \x3d function (x,y,z,args){\nsci.impl.vars.reset_thread_binding_frame(frame);\n\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args);\n};\nvar G__40956 \x3d function (x,y,z,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__40957__i \x3d 0, G__40957__a \x3d new Array(arguments.length - 3);\nwhile (G__40957__i \x3c G__40957__a.length) {G__40957__a[G__40957__i] \x3d arguments[G__40957__i + 3]; ++G__40957__i;}\n args \x3d new cljs.core.IndexedSeq(G__40957__a,0,null);\n} \nreturn G__40956__delegate.call(this,x,y,z,args);};\nG__40956.cljs$lang$maxFixedArity \x3d 3;\nG__40956.cljs$lang$applyTo \x3d (function (arglist__40958){\nvar x \x3d cljs.core.first(arglist__40958);\narglist__40958 \x3d cljs.core.next(arglist__40958);\nvar y \x3d cljs.core.first(arglist__40958);\narglist__40958 \x3d cljs.core.next(arglist__40958);\nvar z \x3d cljs.core.first(arglist__40958);\nvar args \x3d cljs.core.rest(arglist__40958);\nreturn G__40956__delegate(x,y,z,args);\n});\nG__40956.cljs$core$IFn$_invoke$arity$variadic \x3d G__40956__delegate;\nreturn G__40956;\n})()\n;\nG__40954 \x3d function(x,y,z,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 0:\nreturn G__40954__0.call(this);\ncase 1:\nreturn G__40954__1.call(this,x);\ncase 2:\nreturn G__40954__2.call(this,x,y);\ncase 3:\nreturn G__40954__3.call(this,x,y,z);\ndefault:\nvar G__40960 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__40961__i \x3d 0, G__40961__a \x3d new Array(arguments.length - 3);\nwhile (G__40961__i \x3c G__40961__a.length) {G__40961__a[G__40961__i] \x3d arguments[G__40961__i + 3]; ++G__40961__i;}\nG__40960 \x3d new cljs.core.IndexedSeq(G__40961__a,0,null);\n}\nreturn G__40954__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__40960);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__40954.cljs$lang$maxFixedArity \x3d 3;\nG__40954.cljs$lang$applyTo \x3d G__40954__4.cljs$lang$applyTo;\nG__40954.cljs$core$IFn$_invoke$arity$0 \x3d G__40954__0;\nG__40954.cljs$core$IFn$_invoke$arity$1 \x3d G__40954__1;\nG__40954.cljs$core$IFn$_invoke$arity$2 \x3d G__40954__2;\nG__40954.cljs$core$IFn$_invoke$arity$3 \x3d G__40954__3;\nG__40954.cljs$core$IFn$_invoke$arity$variadic \x3d G__40954__4.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__40954;\n})()\n});\nsci.impl.vars.throw_unbound_call_exception \x3d (function sci$impl$vars$throw_unbound_call_exception(the_var){\nthrow (new Error([\x22Attempting to call unbound fn: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(the_var)].join(\x27\x27)));\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IFn}\n*/\nsci.impl.vars.SciUnbound \x3d (function (the_var){\nthis.the_var \x3d the_var;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 1;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(sci.impl.vars.SciUnbound.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn [\x22Unbound: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.the_var)].join(\x27\x27);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__40862 \x3d (arguments.length - (1));\nswitch (G__40862) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((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)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((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)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((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)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((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)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((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)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((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)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((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)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((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)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(sci.impl.vars.SciUnbound.prototype.apply \x3d (function (self__,args40858){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args40858)));\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn sci.impl.vars.throw_unbound_call_exception(self__.the_var);\n}));\n\n(sci.impl.vars.SciUnbound.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22the-var\x22,\x22the-var\x22,-1226020156,null)], null);\n}));\n\n(sci.impl.vars.SciUnbound.cljs$lang$type \x3d true);\n\n(sci.impl.vars.SciUnbound.cljs$lang$ctorStr \x3d \x22sci.impl.vars/SciUnbound\x22);\n\n(sci.impl.vars.SciUnbound.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.vars/SciUnbound\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.vars/SciUnbound.\n */\nsci.impl.vars.__GT_SciUnbound \x3d (function sci$impl$vars$__GT_SciUnbound(the_var){\nreturn (new sci.impl.vars.SciUnbound(the_var));\n});\n\nsci.impl.vars.built_in_var_QMARK_ \x3d (function sci$impl$vars$built_in_var_QMARK_(var_meta){\nreturn new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(var_meta);\n});\nsci.impl.vars.var_get \x3d (function sci$impl$vars$var_get(v){\nreturn cljs.core.deref(v);\n});\nsci.impl.vars.var_set \x3d (function sci$impl$vars$var_set(v,val){\nreturn sci.impl.types.setVal(v,val);\n});\n/**\n * If sym is namespace-qualified, remove the namespace, else return sym\n */\nsci.impl.vars.unqualify_symbol \x3d (function sci$impl$vars$unqualify_symbol(sym){\nif(cljs.core.qualified_symbol_QMARK_(sym)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym));\n} else {\nreturn sym;\n}\n});\nsci.impl.vars.alter_var_root \x3d (function sci$impl$vars$alter_var_root(var_args){\nvar G__40936 \x3d arguments.length;\nswitch (G__40936) {\ncase 2:\nreturn sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___40978 \x3d arguments.length;\nvar i__5750__auto___40979 \x3d (0);\nwhile(true){\nif((i__5750__auto___40979 \x3c len__5749__auto___40978)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___40979]));\n\nvar G__40980 \x3d (i__5750__auto___40979 + (1));\ni__5750__auto___40979 \x3d G__40980;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,f){\nreturn sci.impl.vars.bindRoot(v,(function (){var G__40937 \x3d sci.impl.vars.getRawRoot(v);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__40937) : f.call(null,G__40937));\n})());\n}));\n\n(sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,f,args){\nreturn sci.impl.vars.bindRoot(v,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,sci.impl.vars.getRawRoot(v),args));\n}));\n\n/** @this {Function} */\n(sci.impl.vars.alter_var_root.cljs$lang$applyTo \x3d (function (seq40933){\nvar G__40934 \x3d cljs.core.first(seq40933);\nvar seq40933__$1 \x3d cljs.core.next(seq40933);\nvar G__40935 \x3d cljs.core.first(seq40933__$1);\nvar seq40933__$2 \x3d cljs.core.next(seq40933__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__40934,G__40935,seq40933__$2);\n}));\n\n(sci.impl.vars.alter_var_root.cljs$lang$maxFixedArity \x3d (2));\n\n");
SHADOW_ENV.evalLoad("sci.lang.js", true, "goog.provide(\x27sci.lang\x27);\nsci.lang.class_name \x3d (function sci$lang$class_name(s){\nvar temp__5821__auto__ \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(s,\x22.\x22);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar i \x3d temp__5821__auto__;\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(i + (1)));\n} else {\nreturn s;\n}\n});\nsci.lang.package_name \x3d (function sci$lang$package_name(s){\nvar temp__5821__auto__ \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(s,\x22.\x22);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar i \x3d temp__5821__auto__;\nreturn cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),i);\n} else {\nreturn s;\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.INamed}\n * @implements {cljs.core.IMeta}\n * @implements {sci.impl.types.IBox}\n*/\nsci.lang.Type \x3d (function (data,namespace,name){\nthis.data \x3d data;\nthis.namespace \x3d namespace;\nthis.name \x3d name;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 4096;\n});\n(sci.lang.Type.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Type.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.data;\n}));\n\n(sci.lang.Type.prototype.sci$impl$types$IBox$setVal$arity$2 \x3d (function (_,v){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (self__.data \x3d v);\n}));\n\n(sci.lang.Type.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(\x22sci.impl\x22,\x22type-name\x22,\x22sci.impl/type-name\x22,-1528979388).cljs$core$IFn$_invoke$arity$1(self__.data));\n}));\n\n(sci.lang.Type.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.data;\n}));\n\n(sci.lang.Type.prototype.cljs$core$INamed$_namespace$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.namespace \x3d\x3d null)){\nvar ns \x3d sci.lang.package_name(cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1));\n(self__.namespace \x3d ns);\n\nreturn ns;\n} else {\nreturn self__.namespace;\n}\n}));\n\n(sci.lang.Type.prototype.cljs$core$INamed$_name$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif((self__.name \x3d\x3d null)){\nvar nom \x3d sci.lang.class_name(cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1));\n(self__.name \x3d nom);\n\nreturn nom;\n} else {\nreturn self__.name;\n}\n}));\n\n(sci.lang.Type.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22data\x22,\x22data\x22,1407862150,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22namespace\x22,\x22namespace\x22,1263021155,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411),true], null))], null);\n}));\n\n(sci.lang.Type.cljs$lang$type \x3d true);\n\n(sci.lang.Type.cljs$lang$ctorStr \x3d \x22sci.lang/Type\x22);\n\n(sci.lang.Type.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.lang/Type\x22);\n}));\n\n/**\n * Positional factory function for sci.lang/Type.\n */\nsci.lang.__GT_Type \x3d (function sci$lang$__GT_Type(data,namespace,name){\nreturn (new sci.lang.Type(data,namespace,name));\n});\n\nsci.lang.throw_root_binding \x3d (function sci$lang$throw_root_binding(this$){\nthrow (new Error([\x22Can\x27t change/establish root binding of \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$),\x22 with set\x22].join(\x27\x27)));\n});\nsci.lang.notify_watches \x3d (function sci$lang$notify_watches(ref,watches,old_val,new_val){\nif(cljs.core.truth_(watches)){\nif((cljs.core.count(watches) \x3e (0))){\ncljs.core.reduce_kv((function (_,k,f){\n(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(k,ref,old_val,new_val) : f.call(null,k,ref,old_val,new_val));\n\nreturn null;\n}),null,watches);\n} else {\n}\n} else {\n}\n\nreturn ref;\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IFn}\n * @implements {sci.impl.vars.DynVar}\n * @implements {cljs.core.IMeta}\n * @implements {sci.impl.vars.IVar}\n * @implements {sci.impl.types.HasName}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {sci.impl.types.IBox}\n*/\nsci.lang.Var \x3d (function (root,sym,meta,thread_bound,needs_ctx,watches){\nthis.root \x3d root;\nthis.sym \x3d sym;\nthis.meta \x3d meta;\nthis.thread_bound \x3d thread_bound;\nthis.needs_ctx \x3d needs_ctx;\nthis.watches \x3d watches;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147647489;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 2;\n});\n(sci.lang.Var.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn [\x22#\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$.sci$impl$vars$IVar$toSymbol$arity$1(null))].join(\x27\x27);\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$DynVar$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$vars$DynVar$dynamic_QMARK_$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(self__.meta);\n}));\n\n(sci.lang.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (a,writer,opts){\nvar self__ \x3d this;\nvar a__$1 \x3d this;\ncljs.core._write(writer,\x22#\x27\x22);\n\nreturn cljs.core._pr_writer(a__$1.sci$impl$vars$IVar$toSymbol$arity$1(null),writer,opts);\n}));\n\n(sci.lang.Var.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$bindRoot$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar old_root_41519 \x3d this$__$1.root;\nvar vm__40555__auto___41520 \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40555__auto___41520));\n}\n})())){\n(self__.root \x3d v);\n} else {\nvar the_var__40556__auto___41521 \x3d this$__$1;\nvar ns__40557__auto___41522 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40555__auto___41520);\nvar ns_name__40558__auto___41523 \x3d sci.impl.types.getName(ns__40557__auto___41522);\nvar name__40559__auto___41524 \x3d the_var__40556__auto___41521.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40558__auto___41523),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40559__auto___41524),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n\nsci.lang.notify_watches(this$__$1,self__.watches,old_root_41519,v);\n\nreturn v;\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$getRawRoot$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.root;\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$toSymbol$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nvar temp__5821__auto__ \x3d (function (){var G__41457 \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(self__.meta);\nif((G__41457 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.name(G__41457);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar sym_name \x3d temp__5821__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((function (){var G__41458 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(self__.meta);\nvar G__41458__$1 \x3d (((G__41458 \x3d\x3d null))?null:sci.impl.types.getName(G__41458));\nif((G__41458__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.name(G__41458__$1);\n}\n})(),sym_name);\n} else {\nreturn self__.sym;\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$isMacro$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(self__.meta);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5827__auto__ \x3d cljs.core.meta(self__.root);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar m \x3d temp__5827__auto__;\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m);\n}\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$setThreadBound$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (this$__$1.thread_bound \x3d v);\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$unbind$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar vm__40555__auto__ \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40555__auto__));\n}\n})())){\nreturn (this$__$1.root \x3d (new sci.impl.vars.SciUnbound(this$__$1)));\n} else {\nvar the_var__40556__auto__ \x3d this$__$1;\nvar ns__40557__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40555__auto__);\nvar ns_name__40558__auto__ \x3d sci.impl.types.getName(ns__40557__auto__);\nvar name__40559__auto__ \x3d the_var__40556__auto__.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40558__auto__),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40559__auto__),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$vars$IVar$hasRoot$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn (!((self__.root instanceof sci.impl.vars.SciUnbound)));\n}));\n\n(sci.lang.Var.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$types$IBox$setVal$arity$2 \x3d (function (this$,v){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5821__auto__ \x3d sci.impl.vars.get_thread_binding(this$__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar b \x3d temp__5821__auto__;\nreturn sci.impl.types.setVal(b,v);\n} else {\nif(cljs.core.truth_(sci.impl.unrestrict._STAR_unrestricted_STAR_)){\nreturn (this$__$1.root \x3d v);\n} else {\nreturn sci.lang.throw_root_binding(this$__$1);\n}\n}\n}));\n\n(sci.lang.Var.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nreturn self__.root;\n}));\n\n(sci.lang.Var.prototype.sci$impl$types$HasName$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Var.prototype.sci$impl$types$HasName$getName$arity$1 \x3d (function (_this){\nvar self__ \x3d this;\nvar _this__$1 \x3d this;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(self__.meta);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn self__.sym;\n}\n}));\n\n(sci.lang.Var.prototype.cljs$core$IWatchable$_add_watch$arity$3 \x3d (function (this$,key,fn){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar vm__40555__auto___41529 \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40555__auto___41529));\n}\n})())){\n(self__.watches \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,fn));\n} else {\nvar the_var__40556__auto___41531 \x3d this$__$1;\nvar ns__40557__auto___41532 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40555__auto___41529);\nvar ns_name__40558__auto___41533 \x3d sci.impl.types.getName(ns__40557__auto___41532);\nvar name__40559__auto___41534 \x3d the_var__40556__auto___41531.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40558__auto___41533),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40559__auto___41534),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n\nreturn this$__$1;\n}));\n\n(sci.lang.Var.prototype.cljs$core$IWatchable$_remove_watch$arity$2 \x3d (function (this$,key){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar vm__40555__auto___41537 \x3d self__.meta;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(vm__40555__auto___41537));\n}\n})())){\n(self__.watches \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key));\n} else {\nvar the_var__40556__auto___41538 \x3d this$__$1;\nvar ns__40557__auto___41539 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(vm__40555__auto___41537);\nvar ns_name__40558__auto___41540 \x3d sci.impl.types.getName(ns__40557__auto___41539);\nvar name__40559__auto___41541 \x3d the_var__40556__auto___41538.sci$impl$types$HasName$getName$arity$1(null);\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var #\x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name__40558__auto___41540),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__40559__auto___41541),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),this$__$1], null));\n}\n\nreturn this$__$1;\n}));\n\n(sci.lang.Var.prototype.call \x3d (function (unused__11815__auto__){\nvar self__ \x3d this;\nvar self__ \x3d this;\nvar G__41460 \x3d (arguments.length - (1));\nswitch (G__41460) {\ncase (0):\nreturn self__.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase (1):\nreturn self__.cljs$core$IFn$_invoke$arity$1((arguments[(1)]));\n\nbreak;\ncase (2):\nreturn self__.cljs$core$IFn$_invoke$arity$2((arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase (3):\nreturn self__.cljs$core$IFn$_invoke$arity$3((arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase (4):\nreturn self__.cljs$core$IFn$_invoke$arity$4((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase (5):\nreturn self__.cljs$core$IFn$_invoke$arity$5((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));\n\nbreak;\ncase (6):\nreturn self__.cljs$core$IFn$_invoke$arity$6((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));\n\nbreak;\ncase (7):\nreturn self__.cljs$core$IFn$_invoke$arity$7((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));\n\nbreak;\ncase (8):\nreturn self__.cljs$core$IFn$_invoke$arity$8((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));\n\nbreak;\ncase (9):\nreturn self__.cljs$core$IFn$_invoke$arity$9((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));\n\nbreak;\ncase (10):\nreturn self__.cljs$core$IFn$_invoke$arity$10((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));\n\nbreak;\ncase (11):\nreturn self__.cljs$core$IFn$_invoke$arity$11((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));\n\nbreak;\ncase (12):\nreturn self__.cljs$core$IFn$_invoke$arity$12((arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));\n\nbreak;\ncase (13):\nreturn self__.cljs$core$IFn$_invoke$arity$13((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)]));\n\nbreak;\ncase (14):\nreturn self__.cljs$core$IFn$_invoke$arity$14((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)]));\n\nbreak;\ncase (15):\nreturn self__.cljs$core$IFn$_invoke$arity$15((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)]));\n\nbreak;\ncase (16):\nreturn self__.cljs$core$IFn$_invoke$arity$16((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)]));\n\nbreak;\ncase (17):\nreturn self__.cljs$core$IFn$_invoke$arity$17((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)]));\n\nbreak;\ncase (18):\nreturn self__.cljs$core$IFn$_invoke$arity$18((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)]));\n\nbreak;\ncase (19):\nreturn self__.cljs$core$IFn$_invoke$arity$19((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)]));\n\nbreak;\ncase (20):\nreturn self__.cljs$core$IFn$_invoke$arity$20((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)]));\n\nbreak;\ncase (21):\nreturn self__.cljs$core$IFn$_invoke$arity$21((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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments.length - (1)))].join(\x27\x27)));\n\n}\n}));\n\n(sci.lang.Var.prototype.apply \x3d (function (self__,args41452){\nvar self__ \x3d this;\nvar self____$1 \x3d this;\nreturn self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args41452)));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41465 \x3d cljs.core.deref(this$);\nreturn (fexpr__41465.cljs$core$IFn$_invoke$arity$0 ? fexpr__41465.cljs$core$IFn$_invoke$arity$0() : fexpr__41465.call(null));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$1 \x3d (function (a){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41466 \x3d cljs.core.deref(this$);\nreturn (fexpr__41466.cljs$core$IFn$_invoke$arity$1 ? fexpr__41466.cljs$core$IFn$_invoke$arity$1(a) : fexpr__41466.call(null,a));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$2 \x3d (function (a,b){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41467 \x3d cljs.core.deref(this$);\nreturn (fexpr__41467.cljs$core$IFn$_invoke$arity$2 ? fexpr__41467.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__41467.call(null,a,b));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$3 \x3d (function (a,b,c){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41468 \x3d cljs.core.deref(this$);\nreturn (fexpr__41468.cljs$core$IFn$_invoke$arity$3 ? fexpr__41468.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__41468.call(null,a,b,c));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$4 \x3d (function (a,b,c,d){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41469 \x3d cljs.core.deref(this$);\nreturn (fexpr__41469.cljs$core$IFn$_invoke$arity$4 ? fexpr__41469.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__41469.call(null,a,b,c,d));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$5 \x3d (function (a,b,c,d,e){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41474 \x3d cljs.core.deref(this$);\nreturn (fexpr__41474.cljs$core$IFn$_invoke$arity$5 ? fexpr__41474.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__41474.call(null,a,b,c,d,e));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$6 \x3d (function (a,b,c,d,e,f){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41475 \x3d cljs.core.deref(this$);\nreturn (fexpr__41475.cljs$core$IFn$_invoke$arity$6 ? fexpr__41475.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__41475.call(null,a,b,c,d,e,f));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$7 \x3d (function (a,b,c,d,e,f,g){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41479 \x3d cljs.core.deref(this$);\nreturn (fexpr__41479.cljs$core$IFn$_invoke$arity$7 ? fexpr__41479.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__41479.call(null,a,b,c,d,e,f,g));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$8 \x3d (function (a,b,c,d,e,f,g,h){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41483 \x3d cljs.core.deref(this$);\nreturn (fexpr__41483.cljs$core$IFn$_invoke$arity$8 ? fexpr__41483.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__41483.call(null,a,b,c,d,e,f,g,h));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$9 \x3d (function (a,b,c,d,e,f,g,h,i){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41488 \x3d cljs.core.deref(this$);\nreturn (fexpr__41488.cljs$core$IFn$_invoke$arity$9 ? fexpr__41488.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__41488.call(null,a,b,c,d,e,f,g,h,i));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$10 \x3d (function (a,b,c,d,e,f,g,h,i,j){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41489 \x3d cljs.core.deref(this$);\nreturn (fexpr__41489.cljs$core$IFn$_invoke$arity$10 ? fexpr__41489.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__41489.call(null,a,b,c,d,e,f,g,h,i,j));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$11 \x3d (function (a,b,c,d,e,f,g,h,i,j,k){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41493 \x3d cljs.core.deref(this$);\nreturn (fexpr__41493.cljs$core$IFn$_invoke$arity$11 ? fexpr__41493.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__41493.call(null,a,b,c,d,e,f,g,h,i,j,k));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$12 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41497 \x3d cljs.core.deref(this$);\nreturn (fexpr__41497.cljs$core$IFn$_invoke$arity$12 ? fexpr__41497.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__41497.call(null,a,b,c,d,e,f,g,h,i,j,k,l));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$13 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41498 \x3d cljs.core.deref(this$);\nreturn (fexpr__41498.cljs$core$IFn$_invoke$arity$13 ? fexpr__41498.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__41498.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$14 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41499 \x3d cljs.core.deref(this$);\nreturn (fexpr__41499.cljs$core$IFn$_invoke$arity$14 ? fexpr__41499.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__41499.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$15 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41500 \x3d cljs.core.deref(this$);\nreturn (fexpr__41500.cljs$core$IFn$_invoke$arity$15 ? fexpr__41500.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__41500.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$16 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41501 \x3d cljs.core.deref(this$);\nreturn (fexpr__41501.cljs$core$IFn$_invoke$arity$16 ? fexpr__41501.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__41501.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$17 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41502 \x3d cljs.core.deref(this$);\nreturn (fexpr__41502.cljs$core$IFn$_invoke$arity$17 ? fexpr__41502.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__41502.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$18 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41503 \x3d cljs.core.deref(this$);\nreturn (fexpr__41503.cljs$core$IFn$_invoke$arity$18 ? fexpr__41503.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__41503.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$19 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41504 \x3d cljs.core.deref(this$);\nreturn (fexpr__41504.cljs$core$IFn$_invoke$arity$19 ? fexpr__41504.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__41504.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$20 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){\nvar self__ \x3d this;\nvar this$ \x3d this;\nvar fexpr__41506 \x3d cljs.core.deref(this$);\nreturn (fexpr__41506.cljs$core$IFn$_invoke$arity$20 ? fexpr__41506.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__41506.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IFn$_invoke$arity$21 \x3d (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.deref(this$),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));\n}));\n\n(sci.lang.Var.prototype.cljs$core$IDeref$_deref$arity$1 \x3d (function (this$){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.truth_(self__.thread_bound)){\nvar temp__5821__auto__ \x3d sci.impl.vars.get_thread_binding(this$__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar tbox \x3d temp__5821__auto__;\nreturn sci.impl.types.getVal(tbox);\n} else {\nreturn self__.root;\n}\n} else {\nreturn self__.root;\n}\n}));\n\n(sci.lang.Var.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\x22root\x22,\x22root\x22,1191874074,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),new cljs.core.Symbol(null,\x22sym\x22,\x22sym\x22,195671222,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22thread-bound\x22,\x22thread-bound\x22,1232527493,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22needs-ctx\x22,\x22needs-ctx\x22,1605017124,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\x22watches\x22,\x22watches\x22,1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.lang.Var.cljs$lang$type \x3d true);\n\n(sci.lang.Var.cljs$lang$ctorStr \x3d \x22sci.lang/Var\x22);\n\n(sci.lang.Var.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.lang/Var\x22);\n}));\n\n/**\n * Positional factory function for sci.lang/Var.\n */\nsci.lang.__GT_Var \x3d (function sci$lang$__GT_Var(root,sym,meta,thread_bound,needs_ctx,watches){\nreturn (new sci.lang.Var(root,sym,meta,thread_bound,needs_ctx,watches));\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IMeta}\n * @implements {sci.impl.types.HasName}\n*/\nsci.lang.Namespace \x3d (function (name,meta){\nthis.name \x3d name;\nthis.meta \x3d meta;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 131072;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(sci.lang.Namespace.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar _ \x3d this;\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name);\n}));\n\n(sci.lang.Namespace.prototype.sci$impl$types$HasName$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.lang.Namespace.prototype.sci$impl$types$HasName$getName$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.name;\n}));\n\n(sci.lang.Namespace.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.meta;\n}));\n\n(sci.lang.Namespace.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.lang.Namespace.cljs$lang$type \x3d true);\n\n(sci.lang.Namespace.cljs$lang$ctorStr \x3d \x22sci.lang/Namespace\x22);\n\n(sci.lang.Namespace.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.lang/Namespace\x22);\n}));\n\n/**\n * Positional factory function for sci.lang/Namespace.\n */\nsci.lang.__GT_Namespace \x3d (function sci$lang$__GT_Namespace(name,meta){\nreturn (new sci.lang.Namespace(name,meta));\n});\n\n");
SHADOW_ENV.evalLoad("sci.impl.callstack.js", true, "goog.provide(\x27sci.impl.callstack\x27);\nsci.impl.callstack.sci_ns_name \x3d (function sci$impl$callstack$sci_ns_name(ns){\nreturn ns.sci$impl$types$HasName$getName$arity$1(null);\n});\nsci.impl.callstack.select \x3d (function sci$impl$callstack$select(m){\nvar new_m \x3d cljs.core.select_keys(m,new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22local\x22,\x22local\x22,-1497766724),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404)], null));\nreturn new_m;\n});\nsci.impl.callstack.expr__GT_data \x3d (function sci$impl$callstack$expr__GT_data(expr){\nvar m \x3d (function (){var or__5025__auto__ \x3d cljs.core.meta(expr);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn expr;\n}\n})();\nvar f \x3d ((cljs.core.seqable_QMARK_(expr))?cljs.core.first(expr):null);\nvar fm \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar G__41825 \x3d f;\nif((G__41825 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.meta(G__41825);\n}\n}\n})();\nvar fm__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22resolve-sym\x22,\x22resolve-sym\x22,-1193683260),new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978).cljs$core$IFn$_invoke$arity$1(fm)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(fm,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m)):fm);\nreturn cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.not_empty,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sci.impl.callstack.select(m),sci.impl.callstack.select(fm__$1)], null)));\n});\nsci.impl.callstack.clean_ns \x3d (function sci$impl$callstack$clean_ns(m){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns \x3d temp__5821__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.callstack.sci_ns_name(ns));\n} else {\nreturn m;\n}\n});\nsci.impl.callstack.stacktrace \x3d (function sci$impl$callstack$stacktrace(callstack){\nvar callstack__$1 \x3d cljs.core.deref(callstack);\nvar callstack__$2 \x3d cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1(callstack__$1);\nvar data \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(sci.impl.callstack.expr__GT_data,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([callstack__$2], 0));\nvar data__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__41838,entry){\nvar vec__41839 \x3d p__41838;\nvar acc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41839,(0),null);\nvar last_file \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41839,(1),null);\nvar last_ns \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41839,(2),null);\nvar last_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__41839,(3),null);\nvar new_last_name \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(entry);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn last_name;\n}\n})();\nvar new_last_file \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(entry);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn last_file;\n}\n})();\nvar new_entry \x3d (((last_ns \x3d\x3d\x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(entry)))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(entry,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new_last_name,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new_last_file], 0)):entry);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,new_entry),new_last_file,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(entry),new_last_name], null);\n}),(function (){var fd \x3d cljs.core.first(data);\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.List.EMPTY,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(fd),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(fd),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(fd)], null);\n})(),data);\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(sci.impl.callstack.clean_ns,cljs.core.first(data__$1));\n});\nsci.impl.callstack.right_pad \x3d (function sci$impl$callstack$right_pad(s,n){\nvar n__$1 \x3d (n - cljs.core.count(s));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n__$1,\x22 \x22))].join(\x27\x27);\n});\nsci.impl.callstack.format_stacktrace \x3d (function sci$impl$callstack$format_stacktrace(st){\nvar st__$1 \x3d cljs.core.force(st);\nvar data \x3d cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p__41852){\nvar map__41853 \x3d p__41852;\nvar map__41853__$1 \x3d cljs.core.__destructure_map(map__41853);\nvar nom \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar built_in \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599));\nvar local \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41853__$1,new cljs.core.Keyword(null,\x22local\x22,\x22local\x22,-1497766724));\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d line;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn built_in;\n}\n})())){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(nom)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),\x22/\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(nom)].join(\x27\x27):ns)),(cljs.core.truth_(local)?[\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(local)].join(\x27\x27):null)].join(\x27\x27),new cljs.core.Keyword(null,\x22loc\x22,\x22loc\x22,-584284901),[cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var or__5025__auto__ \x3d file;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.truth_(built_in)){\nreturn \x22\x3cbuilt-in\x3e\x22;\n} else {\nreturn \x22\x3cexpr\x3e\x22;\n}\n}\n})()),(cljs.core.truth_(line)?[\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column)].join(\x27\x27):null)].join(\x27\x27)], null);\n} else {\nreturn null;\n}\n}),st__$1);\nvar max_name \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(0),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.count,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177)),data));\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p__41862){\nvar map__41863 \x3d p__41862;\nvar map__41863__$1 \x3d cljs.core.__destructure_map(map__41863);\nvar name \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41863__$1,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177));\nvar loc \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41863__$1,new cljs.core.Keyword(null,\x22loc\x22,\x22loc\x22,-584284901));\nreturn [sci.impl.callstack.right_pad(name,max_name),\x22 - \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(loc)].join(\x27\x27);\n}),data);\n});\n");
SHADOW_ENV.evalLoad("sci.impl.utils.js", true, "goog.provide(\x27sci.impl.utils\x27);\ncljs.core.derive.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803));\nsci.impl.utils.constant_QMARK_ \x3d (function sci$impl$utils$constant_QMARK_(x){\nreturn (((x \x3d\x3d null)) || (((typeof x \x3d\x3d\x3d \x27number\x27) || (((typeof x \x3d\x3d\x3d \x27string\x27) || ((((x instanceof cljs.core.Keyword)) || (((cljs.core.boolean_QMARK_(x)) || ((x instanceof RegExp)))))))))));\n});\nsci.impl.utils.recur \x3d (new Object());\n\nsci.impl.utils._STAR_top_level_location_STAR_ \x3d null;\nsci.impl.utils.throw_error_with_location \x3d (function sci$impl$utils$throw_error_with_location(var_args){\nvar G__41832 \x3d arguments.length;\nswitch (G__41832) {\ncase 2:\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2 \x3d (function (msg,iobj){\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3(msg,iobj,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3 \x3d (function (msg,iobj,data){\nvar map__41834 \x3d cljs.core.meta(iobj);\nvar map__41834__$1 \x3d cljs.core.__destructure_map(map__41834);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41834__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41834__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__41834__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file));\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(msg,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),(function (){var or__5025__auto__ \x3d line;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(sci.impl.utils._STAR_top_level_location_STAR_);\n}\n})(),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),(function (){var or__5025__auto__ \x3d column;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(sci.impl.utils._STAR_top_level_location_STAR_);\n}\n})(),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null),data], 0)));\n}));\n\n(sci.impl.utils.throw_error_with_location.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.utils._STAR_in_try_STAR_ \x3d false;\nsci.impl.utils.macro_QMARK_ \x3d (function sci$impl$utils$macro_QMARK_(f){\nvar temp__5827__auto__ \x3d cljs.core.meta(f);\nif((temp__5827__auto__ \x3d\x3d null)){\nreturn null;\n} else {\nvar m \x3d temp__5827__auto__;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\n}\n}\n});\n/**\n * used for allowing interop in with-out-str\n */\nsci.impl.utils.allowed_append \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22append\x22);\nsci.impl.utils.demunge \x3d (function sci$impl$utils$demunge(s){\nreturn cljs.core.demunge(s);\n});\nsci.impl.utils.rethrow_with_location_of_node \x3d (function sci$impl$utils$rethrow_with_location_of_node(var_args){\nvar G__41851 \x3d arguments.length;\nswitch (G__41851) {\ncase 3:\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,e,raw_node){\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx),e,raw_node);\n}));\n\n(sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,_bindings,e,raw_node){\nif(cljs.core.truth_((function (){var in_try \x3d sci.impl.utils._STAR_in_try_STAR_;\nif(cljs.core.keyword_identical_QMARK_(in_try,new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803))){\nreturn false;\n} else {\nreturn in_try;\n}\n})())){\nthrow e;\n} else {\nvar stack \x3d sci.impl.types.stack(raw_node);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar id \x3d new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092).cljs$core$IFn$_invoke$arity$1(ctx);\nvar d \x3d cljs.core.ex_data(e);\nvar st \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(d);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar st \x3d temp__5823__auto__;\nreturn st;\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.volatile_BANG_(cljs.core.List.EMPTY);\n}\n})();\nif(cljs.core.truth_(stack)){\ncljs.core._vreset_BANG_(st,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(st),stack));\n} else {\n}\n\nvar d__$1 \x3d cljs.core.ex_data(e);\nvar wrapping_sci_error_QMARK_ \x3d (function (){var and__5023__auto__ \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d__$1),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803));\nif(and__5023__auto__){\nreturn new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(d__$1);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(wrapping_sci_error_QMARK_)){\nthrow e;\n} else {\nvar ex_msg \x3d e.message;\nvar map__41859 \x3d (function (){var or__5025__auto__ \x3d stack;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar G__41861 \x3d env;\nvar G__41861__$1 \x3d (((G__41861 \x3d\x3d null))?null:cljs.core.deref(G__41861));\nvar G__41861__$2 \x3d (((G__41861__$1 \x3d\x3d null))?null:new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(G__41861__$1));\nvar G__41861__$3 \x3d (((G__41861__$2 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__41861__$2,id));\nvar G__41861__$4 \x3d (((G__41861__$3 \x3d\x3d null))?null:cljs.core.deref(G__41861__$3));\nvar G__41861__$5 \x3d (((G__41861__$4 \x3d\x3d null))?null:cljs.core.last(G__41861__$4));\nif((G__41861__$5 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.meta(G__41861__$5);\n}\n}\n})();\nvar map__41859__$1 \x3d cljs.core.__destructure_map(map__41859);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41859__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41859__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__41859__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn column;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar ex_msg__$1 \x3d ex_msg;\nvar phase \x3d new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892).cljs$core$IFn$_invoke$arity$1(d__$1);\nvar new_exception \x3d (function (){var new_d \x3d (function (){var G__41864 \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),line,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),column,new cljs.core.Keyword(null,\x22message\x22,\x22message\x22,-406056002),ex_msg__$1,new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557),st,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),file], null);\nif(cljs.core.truth_(phase)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41864,new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),phase);\n} else {\nreturn G__41864;\n}\n})();\nreturn cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(ex_msg__$1,new_d,e);\n})();\nthrow new_exception;\n} else {\nthrow e;\n}\n}\n}\n}));\n\n(sci.impl.utils.rethrow_with_location_of_node.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.utils.iobj_QMARK_ \x3d (function sci$impl$utils$iobj_QMARK_(obj){\nvar and__5023__auto__ \x3d (((!((obj \x3d\x3d null))))?(((((obj.cljs$lang$protocol_mask$partition0$ \x26 (262144))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IWithMeta$))))?true:false):false);\nif(and__5023__auto__){\nreturn cljs.core.meta(obj);\n} else {\nreturn and__5023__auto__;\n}\n});\n/**\n * Only adds metadata to obj if d is not nil and if obj already has meta\n */\nsci.impl.utils.vary_meta_STAR_ \x3d (function sci$impl$utils$vary_meta_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41935 \x3d arguments.length;\nvar i__5750__auto___41936 \x3d (0);\nwhile(true){\nif((i__5750__auto___41936 \x3c len__5749__auto___41935)){\nargs__5755__auto__.push((arguments[i__5750__auto___41936]));\n\nvar G__41937 \x3d (i__5750__auto___41936 + (1));\ni__5750__auto___41936 \x3d G__41937;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.utils.vary_meta_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.utils.vary_meta_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (obj,f,args){\nif(cljs.core.truth_(sci.impl.utils.iobj_QMARK_(obj))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.vary_meta,obj,f,args);\n} else {\nreturn obj;\n}\n}));\n\n(sci.impl.utils.vary_meta_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.utils.vary_meta_STAR_.cljs$lang$applyTo \x3d (function (seq41872){\nvar G__41874 \x3d cljs.core.first(seq41872);\nvar seq41872__$1 \x3d cljs.core.next(seq41872);\nvar G__41875 \x3d cljs.core.first(seq41872__$1);\nvar seq41872__$2 \x3d cljs.core.next(seq41872__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41874,G__41875,seq41872__$2);\n}));\n\nsci.impl.utils.strip_core_ns \x3d (function sci$impl$utils$strip_core_ns(sym){\nvar G__41885 \x3d cljs.core.namespace(sym);\nswitch (G__41885) {\ncase \x22clojure.core\x22:\ncase \x22cljs.core\x22:\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym));\n\nbreak;\ndefault:\nreturn sym;\n\n}\n});\nsci.impl.utils.allowed_loop \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22clojure.core/loop\x22);\nsci.impl.utils.allowed_recur \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(\x22recur\x22);\nsci.impl.utils.var_unbound \x3d (new Object());\n/**\n * Fetches namespaces from env if it exists. Else, if `create?`,\n * produces one regardless of the existince of the namespace in env and\n * adds it to env before returning it.\n */\nsci.impl.utils.namespace_object \x3d (function sci$impl$utils$namespace_object(env,ns_sym,create_QMARK_,attr_map){\nvar env_STAR_ \x3d cljs.core.deref(env);\nvar ns_map \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_STAR_,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym], null));\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(ns_map);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto____$1 \x3d ns_map;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn create_QMARK_;\n}\n})())){\nvar ns_obj \x3d sci.lang.__GT_Namespace(ns_sym,attr_map);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)], null),ns_obj);\n\nreturn ns_obj;\n} else {\nreturn null;\n}\n}\n});\nsci.impl.utils.set_namespace_BANG_ \x3d (function sci$impl$utils$set_namespace_BANG_(ctx,ns_sym,attr_map){\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar attr_map__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(ns_sym),attr_map], 0));\nvar ns_obj \x3d sci.impl.utils.namespace_object(env,ns_sym,true,attr_map__$1);\nreturn sci.impl.types.setVal(sci.impl.utils.current_ns,ns_obj);\n});\nsci.impl.utils.eval_form_state \x3d cljs.core.volatile_BANG_(null);\nsci.impl.utils.eval_resolve_state \x3d cljs.core.volatile_BANG_(null);\nsci.impl.utils.analyze \x3d cljs.core.volatile_BANG_(null);\nsci.impl.utils.eval \x3d (function sci$impl$utils$eval(sci_ctx,form){\nvar fexpr__41897 \x3d cljs.core.deref(sci.impl.utils.eval_form_state);\nreturn (fexpr__41897.cljs$core$IFn$_invoke$arity$2 ? fexpr__41897.cljs$core$IFn$_invoke$arity$2(sci_ctx,form) : fexpr__41897.call(null,sci_ctx,form));\n});\n/**\n * Like partition-by but splits collection only when `pred` returns\n * a truthy value. E.g. `(split-when odd? [1 2 3 4 5]) \x3d\x3e ((1 2) (3 4) (5))`\n */\nsci.impl.utils.split_when \x3d (function sci$impl$utils$split_when(pred,coll){\nvar f \x3d cljs.core.complement(pred);\nreturn (new cljs.core.LazySeq(null,(function (){\nvar temp__5823__auto__ \x3d cljs.core.seq(coll);\nif(temp__5823__auto__){\nvar s \x3d temp__5823__auto__;\nvar fst \x3d cljs.core.first(s);\nvar run \x3d cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(f,cljs.core.next(s)));\nreturn cljs.core.cons(run,(function (){var G__41898 \x3d pred;\nvar G__41899 \x3d (new cljs.core.LazySeq(null,(function (){\nreturn cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s);\n}),null,null));\nreturn (sci.impl.utils.split_when.cljs$core$IFn$_invoke$arity$2 ? sci.impl.utils.split_when.cljs$core$IFn$_invoke$arity$2(G__41898,G__41899) : sci.impl.utils.split_when.call(null,G__41898,G__41899));\n})());\n} else {\nreturn null;\n}\n}),null,null));\n});\nsci.impl.utils.ana_macros \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 22, [new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22import\x22,\x22import\x22,241030818,null),\x22null\x22,new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22in-ns\x22,\x22in-ns\x22,-2089468466,null),\x22null\x22,new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),\x22null\x22,new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),\x22null\x22,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),\x22null\x22,new cljs.core.Symbol(null,\x22expand-constructor\x22,\x22expand-constructor\x22,-343741576,null),\x22null\x22,new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),\x22null\x22,new cljs.core.Symbol(null,\x22resolve\x22,\x22resolve\x22,56086045,null),\x22null\x22,new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22,new cljs.core.Symbol(null,\x22expand-dot*\x22,\x22expand-dot*\x22,-1946890561,null),\x22null\x22], null), null);\nsci.impl.utils.maybe_destructured \x3d (function sci$impl$utils$maybe_destructured(params,body){\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,params)){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),params,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),body], null);\n} else {\nvar params__$1 \x3d params;\nvar new_params \x3d cljs.core.with_meta(cljs.core.PersistentVector.EMPTY,cljs.core.meta(params__$1));\nvar lets \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.truth_(params__$1)){\nif((cljs.core.first(params__$1) instanceof cljs.core.Symbol)){\nvar G__41941 \x3d cljs.core.next(params__$1);\nvar G__41942 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,cljs.core.first(params__$1));\nvar G__41943 \x3d lets;\nparams__$1 \x3d G__41941;\nnew_params \x3d G__41942;\nlets \x3d G__41943;\ncontinue;\n} else {\nvar gparam \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22p__\x22);\nvar G__41944 \x3d cljs.core.next(params__$1);\nvar G__41945 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,gparam);\nvar G__41946 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lets,cljs.core.first(params__$1)),gparam);\nparams__$1 \x3d G__41944;\nnew_params \x3d G__41945;\nlets \x3d G__41946;\ncontinue;\n}\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new_params,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,lets,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0))))], null)], null);\n}\nbreak;\n}\n}\n});\nsci.impl.utils.unqualify_symbol \x3d sci.impl.vars.unqualify_symbol;\nsci.impl.utils.make_stack \x3d (function sci$impl$utils$make_stack(var_args){\nvar G__41901 \x3d arguments.length;\nswitch (G__41901) {\ncase 1:\nreturn sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$1 \x3d (function (expr_meta){\nreturn sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2(expr_meta,false);\n}));\n\n(sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2 \x3d (function (expr_meta,special_QMARK_){\nvar G__41902 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(expr_meta,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nif(cljs.core.truth_(special_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__41902,new cljs.core.Keyword(null,\x22special\x22,\x22special\x22,-1125941630),true);\n} else {\nreturn G__41902;\n}\n}));\n\n(sci.impl.utils.make_stack.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.utils.log \x3d (function sci$impl$utils$log(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41950 \x3d arguments.length;\nvar i__5750__auto___41951 \x3d (0);\nwhile(true){\nif((i__5750__auto___41951 \x3c len__5749__auto___41950)){\nargs__5755__auto__.push((arguments[i__5750__auto___41951]));\n\nvar G__41952 \x3d (i__5750__auto___41951 + (1));\ni__5750__auto___41951 \x3d G__41952;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.utils.log.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.utils.log.cljs$core$IFn$_invoke$arity$variadic \x3d (function (xs){\nreturn console.log(clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22 \x22,xs));\n}));\n\n(sci.impl.utils.log.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.utils.log.cljs$lang$applyTo \x3d (function (seq41903){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq41903));\n}));\n\nsci.impl.utils.dynamic_var \x3d (function sci$impl$utils$dynamic_var(var_args){\nvar G__41914 \x3d arguments.length;\nswitch (G__41914) {\ncase 1:\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,null,cljs.core.meta(name));\n}));\n\n(sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nvar meta__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(meta,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))], 0));\nreturn (new sci.lang.Var(init_val,name,meta__$1,false,false,null));\n}));\n\n(sci.impl.utils.dynamic_var.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.utils.user_ns \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),null);\nsci.impl.utils.clojure_core_ns \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null);\nsci.impl.utils.current_file \x3d sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*file*\x22,\x22*file*\x22,624866474,null),null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22The path of the file being evaluated, as a String.\\n\\n When there is no file, e.g. in the REPL, the value is not defined.\x22,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null));\nsci.impl.utils.current_ns \x3d sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*ns*\x22,\x22*ns*\x22,740153818,null),sci.impl.utils.user_ns,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22A sci.lang.Namespace object representing the current namespace.\x22], null));\nsci.impl.utils.current_ns_name \x3d (function sci$impl$utils$current_ns_name(){\nvar curr_ns \x3d cljs.core.deref(sci.impl.utils.current_ns);\nif((curr_ns instanceof cljs.core.Symbol)){\nreturn curr_ns;\n} else {\nreturn sci.impl.types.getName(curr_ns);\n}\n});\n/**\n * Returns a new sci var.\n */\nsci.impl.utils.new_var \x3d (function sci$impl$utils$new_var(var_args){\nvar G__41925 \x3d arguments.length;\nswitch (G__41925) {\ncase 1:\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nvar G__41926 \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(name,null,null);\nsci.impl.vars.unbind(G__41926);\n\nreturn G__41926;\n}));\n\n(sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(init_val,name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(meta,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))),false,null,null));\n}));\n\n(sci.impl.utils.new_var.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.utils.var_QMARK_ \x3d (function sci$impl$utils$var_QMARK_(x){\nreturn (x instanceof sci.lang.Var);\n});\nsci.impl.utils.namespace_QMARK_ \x3d (function sci$impl$utils$namespace_QMARK_(x){\nreturn (x instanceof sci.lang.Namespace);\n});\nsci.impl.utils.special_syms \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 15, [new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),\x22null\x22,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),\x22null\x22,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),\x22null\x22,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),\x22null\x22,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),\x22null\x22,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),\x22null\x22,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),\x22null\x22,new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),\x22null\x22,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),\x22null\x22,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),\x22null\x22,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),\x22null\x22,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null);\n");
SHADOW_ENV.evalLoad("sci.impl.deftype.js", true, "goog.provide(\x27sci.impl.deftype\x27);\nsci.impl.deftype.hex_hash \x3d (function sci$impl$deftype$hex_hash(this$){\nreturn cljs.core.hash(this$).toString((16));\n});\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.deftype !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.deftype.to_string !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.deftype.to_string \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__42760 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__42760.cljs$core$IFn$_invoke$arity$0 ? fexpr__42760.cljs$core$IFn$_invoke$arity$0() : fexpr__42760.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.deftype\x22,\x22to-string\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.deftype.to_string.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (this$){\nvar t \x3d sci.impl.types.type_impl(this$);\nreturn [cljs.core.namespace(t),\x22.\x22,cljs.core.name(t),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.deftype.hex_hash(this$))].join(\x27\x27);\n}));\nsci.impl.deftype.clojure_str \x3d (function sci$impl$deftype$clojure_str(v){\nvar n \x3d sci.impl.types.type_impl(v);\nreturn [\x22#object[\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(n),\x22 0x\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.deftype.hex_hash(v)),\x22 \\\x22\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.deftype.to_string.cljs$core$IFn$_invoke$arity$1(v)),\x22\\\x22]\x22].join(\x27\x27);\n});\n\n/**\n * @interface\n */\nsci.impl.deftype.SciPrintMethod \x3d function(){};\n\nvar sci$impl$deftype$SciPrintMethod$_sci_print_method$dyn_43199 \x3d (function (x,w){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (sci.impl.deftype._sci_print_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5374__auto__.call(null,x,w));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.deftype._sci_print_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5372__auto__.call(null,x,w));\n} else {\nthrow cljs.core.missing_protocol(\x22SciPrintMethod.-sci-print-method\x22,x);\n}\n}\n});\nsci.impl.deftype._sci_print_method \x3d (function sci$impl$deftype$_sci_print_method(x,w){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.sci$impl$deftype$SciPrintMethod$_sci_print_method$arity$2 \x3d\x3d null)))))){\nreturn x.sci$impl$deftype$SciPrintMethod$_sci_print_method$arity$2(x,w);\n} else {\nreturn sci$impl$deftype$SciPrintMethod$_sci_print_method$dyn_43199(x,w);\n}\n});\n\n\n/**\n* @constructor\n * @implements {sci.impl.types.SciTypeInstance}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {sci.impl.types.IBox}\n*/\nsci.impl.deftype.SciType \x3d (function (rec_name,type,var$,ext_map){\nthis.rec_name \x3d rec_name;\nthis.type \x3d type;\nthis.var$ \x3d var$;\nthis.ext_map \x3d ext_map;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2147483648;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 0;\n});\n(sci.impl.deftype.SciType.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn sci.impl.deftype.to_string.cljs$core$IFn$_invoke$arity$1(this$);\n}));\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$SciTypeInstance$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$SciTypeInstance$_get_type$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.type;\n}));\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$SciTypeInstance$_mutate$arity$3 \x3d (function (_,k,v){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\n(self__.ext_map \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.ext_map,k,v));\n\nreturn v;\n}));\n\n(sci.impl.deftype.SciType.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,w,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5821__auto__ \x3d self__.var$;\nif(cljs.core.truth_(temp__5821__auto__)){\nvar rv \x3d temp__5821__auto__;\nvar m \x3d cljs.core.meta(rv);\nvar temp__5821__auto____$1 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar pm \x3d temp__5821__auto____$1;\nreturn (pm.cljs$core$IFn$_invoke$arity$3 ? pm.cljs$core$IFn$_invoke$arity$3(this$__$1,w,opts) : pm.call(null,this$__$1,w,opts));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.deftype.clojure_str(this$__$1)], 0));\n}\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.deftype.clojure_str(this$__$1)], 0));\n}\n}));\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$IBox$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.deftype.SciType.prototype.sci$impl$types$IBox$getVal$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.ext_map;\n}));\n\n(sci.impl.deftype.SciType.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rec-name\x22,\x22rec-name\x22,407587896,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22ext-map\x22,\x22ext-map\x22,-1560591553,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.impl.deftype.SciType.cljs$lang$type \x3d true);\n\n(sci.impl.deftype.SciType.cljs$lang$ctorStr \x3d \x22sci.impl.deftype/SciType\x22);\n\n(sci.impl.deftype.SciType.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.deftype/SciType\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.deftype/SciType.\n */\nsci.impl.deftype.__GT_SciType \x3d (function sci$impl$deftype$__GT_SciType(rec_name,type,var$,ext_map){\nreturn (new sci.impl.deftype.SciType(rec_name,type,var$,ext_map));\n});\n\nsci.impl.deftype.__GT_type_impl \x3d (function sci$impl$deftype$__GT_type_impl(rec_name,type,var$,m){\nreturn (new sci.impl.deftype.SciType(rec_name,type,var$,m));\n});\nsci.impl.deftype.deftype \x3d (function sci$impl$deftype$deftype(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43209 \x3d arguments.length;\nvar i__5750__auto___43210 \x3d (0);\nwhile(true){\nif((i__5750__auto___43210 \x3c len__5749__auto___43209)){\nargs__5755__auto__.push((arguments[i__5750__auto___43210]));\n\nvar G__43211 \x3d (i__5750__auto___43210 + (1));\ni__5750__auto___43210 \x3d G__43211;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.deftype.deftype.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.deftype.deftype.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__42950,_,record_name,fields,raw_protocol_impls){\nvar vec__42959 \x3d p__42950;\nvar seq__42960 \x3d cljs.core.seq(vec__42959);\nvar first__42961 \x3d cljs.core.first(seq__42960);\nvar seq__42960__$1 \x3d cljs.core.next(seq__42960);\nvar _fname \x3d first__42961;\nvar ___$1 \x3d seq__42960__$1;\nvar form \x3d vec__42959;\nvar ctx \x3d sci.ctx_store.get_ctx();\nif(cljs.core.truth_(new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22deftype\x22,\x22clojure.core/deftype\x22,-1728257017,null),cljs.core.rest(form));\n} else {\nvar factory_fn_str \x3d [\x22-\x3e\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27);\nvar factory_fn_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(factory_fn_str);\nvar rec_type \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(sci.impl.utils.current_ns_name())),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27));\nvar protocol_impls \x3d sci.impl.utils.split_when(cljs.core.symbol_QMARK_,raw_protocol_impls);\nvar field_set \x3d cljs.core.set(fields);\nvar protocol_impls__$1 \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p__42974,expr){\nvar vec__42975 \x3d p__42974;\nvar seq__42976 \x3d cljs.core.seq(vec__42975);\nvar first__42977 \x3d cljs.core.first(seq__42976);\nvar seq__42976__$1 \x3d cljs.core.next(seq__42976);\nvar protocol_name \x3d first__42977;\nvar impls \x3d seq__42976__$1;\nvar impls__$1 \x3d cljs.core.group_by(cljs.core.first,impls);\nvar protocol \x3d (function (){var G__42979 \x3d ctx;\nvar G__42980 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__42981 \x3d protocol_name;\nvar fexpr__42978 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__42978.cljs$core$IFn$_invoke$arity$3 ? fexpr__42978.cljs$core$IFn$_invoke$arity$3(G__42979,G__42980,G__42981) : fexpr__42978.call(null,G__42979,G__42980,G__42981));\n})();\nvar protocol__$1 \x3d (function (){var or__5025__auto__ \x3d protocol;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Object\x22,\x22Object\x22,61210754,null),protocol_name))?new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22object\x22,\x22sci.impl.deftype/object\x22,-248099673):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22IPrintWithWriter\x22,\x22IPrintWithWriter\x22,-1205316154,null),protocol_name)){\nreturn new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22IPrintWithWriter\x22,\x22sci.impl.deftype/IPrintWithWriter\x22,-1280030107);\n} else {\nreturn null;\n}\n}\n}\n})();\nvar ___$2 \x3d (cljs.core.truth_(protocol__$1)?null:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27),expr));\nvar protocol__$2 \x3d ((sci.impl.utils.var_QMARK_(protocol__$1))?cljs.core.deref(protocol__$1):protocol__$1);\nvar protocol_var \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar ___$3 \x3d (cljs.core.truth_(protocol_var)?sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic(protocol_var,cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(rec_type))], 0)):null);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar pns \x3d (cljs.core.truth_(protocol_ns)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22object\x22,\x22sci.impl.deftype/object\x22,-248099673),protocol__$2))?\x22sci.impl.deftype\x22:null));\nvar fq_meth_name \x3d (function (p1__42915_SHARP_){\nif(cljs.core.simple_symbol_QMARK_(p1__42915_SHARP_)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__42915_SHARP_));\n} else {\nreturn p1__42915_SHARP_;\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43029){\nvar vec__43030 \x3d p__43029;\nvar method_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43030,(0),null);\nvar bodies \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43030,(1),null);\nif(((cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.deftype\x22,\x22IPrintWithWriter\x22,\x22sci.impl.deftype/IPrintWithWriter\x22,-1280030107),protocol__$2)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-pr-writer\x22,\x22-pr-writer\x22,-445354136,null),method_name)))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-meta!\x22,\x22cljs.core/alter-meta!\x22,574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.rest(cljs.core.first(bodies)),null,(1),null))))),null,(1),null))], 0))));\n} else {\nvar bodies__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies);\nvar bodies__$2 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (impl){\nvar args \x3d cljs.core.first(impl);\nvar body \x3d cljs.core.rest(impl);\nvar destr \x3d sci.impl.utils.maybe_destructured(args,body);\nvar args__$1 \x3d new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(destr);\nvar body__$1 \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(destr);\nvar orig_this_sym \x3d cljs.core.first(args__$1);\nvar rest_args \x3d cljs.core.rest(args__$1);\nvar this_sym \x3d new cljs.core.Symbol(null,\x22__sci_this\x22,\x22__sci_this\x22,-193704996,null)\n;\nvar args__$2 \x3d cljs.core.vec(cljs.core.cons(this_sym,rest_args));\nvar ext_map_binding \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar bindings \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ext_map_binding,(new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.deftype\x22,\x22-inner-impl\x22,\x22sci.impl.deftype/-inner-impl\x22,528349233,null),(new cljs.core.List(null,this_sym,null,(1),null)),(2),null))], null);\nvar bindings__$1 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(bindings,cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),(new cljs.core.List(null,ext_map_binding,(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,field,null,(1),null)),(2),null)),null,(1),null)),(2),null)),(3),null))], null);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,field_set,args__$2)], 0)));\nvar bindings__$2 \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(bindings__$1,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [orig_this_sym,this_sym], null));\nvar bindings__$3 \x3d cljs.core.vec(bindings__$2);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,args__$2,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,bindings__$3,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body__$1], 0)))),null,(1),null)))));\n}),bodies__$1);\nvar G__43069 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22deftype-fields\x22,\x22deftype-fields\x22,-222569172),field_set,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22local-\x3emutator\x22,\x22local-\x3emutator\x22,1004070878),cljs.core.zipmap(field_set,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (field){\nreturn (function (this$,v){\nreturn sci.impl.types._mutate(this$,field,v);\n});\n}),field_set))], 0));\nvar G__43070 \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq_meth_name(method_name),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),bodies__$2], 0))));\nvar fexpr__43068 \x3d cljs.core.deref(sci.impl.utils.analyze);\nreturn (fexpr__43068.cljs$core$IFn$_invoke$arity$2 ? fexpr__43068.cljs$core$IFn$_invoke$arity$2(G__43069,G__43070) : fexpr__43068.call(null,G__43069,G__43070));\n}\n}),impls__$1);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([protocol_impls,raw_protocol_impls], 0));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22declare\x22,\x22cljs.core/declare\x22,1312638100,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,factory_fn_sym,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(record_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci\x22,\x22type\x22,\x22sci/type\x22,1175422389),true], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.deftype\x22,\x22-create-type\x22,\x22sci.impl.deftype/-create-type\x22,-1020101113,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(\x22sci.impl\x22,\x22type-name\x22,\x22sci.impl/type-name\x22,-1528979388),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,rec_type,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22type\x22,\x22sci.impl/type\x22,1797552241),rec_type,new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,factory_fn_sym,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22var\x22,\x22sci.impl/var\x22,-2041185552),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,record_name,null,(1),null)),(2),null))], null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,factory_fn_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42927__auto__\x22,\x22args__42927__auto__\x22,2023499528,null),null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.deftype\x22,\x22-\x3etype-impl\x22,\x22sci.impl.deftype/-\x3etype-impl\x22,-2121297742,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,rec_type,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,fields,null,(1),null)),(2),null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__42927__auto__\x22,\x22args__42927__auto__\x22,2023499528,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),protocol_impls__$1,(new cljs.core.List(null,record_name,null,(1),null))], 0))));\n}\n}));\n\n(sci.impl.deftype.deftype.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.deftype.deftype.cljs$lang$applyTo \x3d (function (seq42928){\nvar G__42929 \x3d cljs.core.first(seq42928);\nvar seq42928__$1 \x3d cljs.core.next(seq42928);\nvar G__42930 \x3d cljs.core.first(seq42928__$1);\nvar seq42928__$2 \x3d cljs.core.next(seq42928__$1);\nvar G__42931 \x3d cljs.core.first(seq42928__$2);\nvar seq42928__$3 \x3d cljs.core.next(seq42928__$2);\nvar G__42932 \x3d cljs.core.first(seq42928__$3);\nvar seq42928__$4 \x3d cljs.core.next(seq42928__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__42929,G__42930,G__42931,G__42932,seq42928__$4);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.interop.js", true, "goog.provide(\x27sci.impl.interop\x27);\nsci.impl.interop.invoke_instance_field \x3d (function sci$impl$interop$invoke_instance_field(obj,_target_class,field_name){\nreturn (obj[field_name]);\n});\nsci.impl.interop.invoke_instance_method \x3d (function sci$impl$interop$invoke_instance_method(ctx,bindings,obj,_target_class,method_name,args,_arg_count,_arg_types){\nvar temp__5825__auto__ \x3d (obj[method_name]);\nif((temp__5825__auto__ \x3d\x3d null)){\nthrow (new Error([\x22Could not find instance method: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_name)].join(\x27\x27)));\n} else {\nvar method \x3d temp__5825__auto__;\nvar args__$1 \x3d args.map((function (p1__42745_SHARP_){\nreturn sci.impl.types.eval(p1__42745_SHARP_,ctx,bindings);\n}));\nreturn Reflect.apply(method,obj,args__$1);\n}\n});\nsci.impl.interop.get_static_field \x3d (function sci$impl$interop$get_static_field(class$,field_name_sym){\nreturn (class$[field_name_sym]);\n});\nsci.impl.interop.fn_eval_allowed_QMARK_ \x3d (function (){try{(new Function(\x22return 1\x22));\n\nreturn true;\n}catch (e42792){var _ \x3d e42792;\nreturn false;\n}})();\nsci.impl.interop.get_static_fields \x3d (function sci$impl$interop$get_static_fields(cur,parts){\nvar cur__$1 \x3d cur;\nvar i \x3d (0);\nwhile(true){\nif((i \x3c parts.length)){\nvar G__42946 \x3d (cur__$1[(parts[i])]);\nvar G__42947 \x3d (i + (1));\ncur__$1 \x3d G__42946;\ni \x3d G__42947;\ncontinue;\n} else {\nreturn cur__$1;\n}\nbreak;\n}\n});\n\n/**\n * TODO: use this to look up at runtime, rather than look up at compile time, for correct behavior wrt. issue 877\n */\nsci.impl.interop.accessor_fn \x3d (function sci$impl$interop$accessor_fn(parts){\nif(cljs.core.truth_(sci.impl.interop.fn_eval_allowed_QMARK_)){\nreturn (new Function(\x22obj\x22,[\x22return obj.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(parts.join(\x22.\x22))].join(\x27\x27)));\n} else {\nreturn (function (obj){\nreturn sci.impl.interop.get_static_fields(obj,parts);\n});\n}\n});\nsci.impl.interop.invoke_js_constructor_STAR_ \x3d (function sci$impl$interop$invoke_js_constructor_STAR_(ctx,bindings,constructor$,args){\nreturn Reflect.construct(constructor$,args.map((function (p1__42830_SHARP_){\nreturn sci.impl.types.eval(p1__42830_SHARP_,ctx,bindings);\n})));\n});\nsci.impl.interop.invoke_static_method \x3d (function sci$impl$interop$invoke_static_method(ctx,bindings,class$,method,args){\nreturn Reflect.apply(method,class$,args.map((function (p1__42852_SHARP_){\nreturn sci.impl.types.eval(p1__42852_SHARP_,ctx,bindings);\n})));\n});\nsci.impl.interop.fully_qualify_class \x3d (function sci$impl$interop$fully_qualify_class(ctx,sym){\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar class__GT_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar or__5025__auto__ \x3d (function (){var temp__5821__auto__ \x3d cljs.core.namespace(sym);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns_STAR_ \x3d temp__5821__auto__;\nif((\x22js\x22 \x3d\x3d\x3d ns_STAR_)){\nif(cljs.core.contains_QMARK_(class__GT_opts,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym)))){\nreturn sym;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nif(cljs.core.contains_QMARK_(class__GT_opts,sym)){\nreturn sym;\n} else {\nreturn null;\n}\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar imports \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394)], null));\nvar temp__5821__auto__ \x3d cljs.core.find(imports,sym);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__42898 \x3d temp__5821__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42898,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42898,(1),null);\nreturn v;\n} else {\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),sym], null));\n}\n}\n});\nsci.impl.interop.resolve_class_opts \x3d (function sci$impl$interop$resolve_class_opts(ctx,sym){\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar class__GT_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar class_opts \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5821__auto__ \x3d cljs.core.namespace(sym);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns_STAR_ \x3d temp__5821__auto__;\nif((\x22js\x22 \x3d\x3d\x3d ns_STAR_)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym)));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,sym);\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar imports \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394)], null));\nvar temp__5821__auto__ \x3d cljs.core.find(imports,sym);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__42909 \x3d temp__5821__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42909,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42909,(1),null);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,v);\n} else {\nvar temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),sym], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,v);\n} else {\nreturn null;\n}\n}\n}\n})();\nreturn class_opts;\n});\nsci.impl.interop.resolve_class \x3d (function sci$impl$interop$resolve_class(ctx,sym){\nreturn new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(sci.impl.interop.resolve_class_opts(ctx,sym));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.hierarchies.js", true, "goog.provide(\x27sci.impl.hierarchies\x27);\nsci.impl.hierarchies.global_hierarchy \x3d (function sci$impl$hierarchies$global_hierarchy(){\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Symbol(null,\x22global-hierarchy\x22,\x22global-hierarchy\x22,-2014004345,null)], null));\n});\nsci.impl.hierarchies.__GT_tag \x3d (function sci$impl$hierarchies$__GT_tag(x){\nif((x instanceof sci.lang.Type)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace(x),cljs.core.name(x));\n} else {\nreturn x;\n}\n});\nsci.impl.hierarchies.derive_STAR_ \x3d (function sci$impl$hierarchies$derive_STAR_(var_args){\nvar G__41816 \x3d arguments.length;\nswitch (G__41816) {\ncase 2:\nreturn sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nvar tag_41868__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nsci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2(sci.impl.hierarchies.global_hierarchy(),(function (h){\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3(h,tag_41868__$1,parent);\n}));\n\nreturn null;\n}));\n\n(sci.impl.hierarchies.derive_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar tag__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nreturn cljs.core.derive.cljs$core$IFn$_invoke$arity$3(h,tag__$1,parent);\n}));\n\n(sci.impl.hierarchies.derive_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.hierarchies.underive_STAR_ \x3d (function sci$impl$hierarchies$underive_STAR_(var_args){\nvar G__41831 \x3d arguments.length;\nswitch (G__41831) {\ncase 2:\nreturn sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (tag,parent){\nvar tag_41871__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nsci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2(sci.impl.hierarchies.global_hierarchy(),(function (h){\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3(h,tag_41871__$1,parent);\n}));\n\nreturn null;\n}));\n\n(sci.impl.hierarchies.underive_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,tag,parent){\nvar tag__$1 \x3d sci.impl.hierarchies.__GT_tag(tag);\nreturn cljs.core.underive.cljs$core$IFn$_invoke$arity$3(h,tag__$1,parent);\n}));\n\n(sci.impl.hierarchies.underive_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.hierarchies.isa_QMARK__STAR_ \x3d (function sci$impl$hierarchies$isa_QMARK__STAR_(var_args){\nvar G__41836 \x3d arguments.length;\nswitch (G__41836) {\ncase 2:\nreturn sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (child,parent){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,sci.impl.hierarchies.__GT_tag(child),parent);\n}));\n\n(sci.impl.hierarchies.isa_QMARK__STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (h,child,parent){\nreturn cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,sci.impl.hierarchies.__GT_tag(child),parent);\n}));\n\n(sci.impl.hierarchies.isa_QMARK__STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.hierarchies.ancestors_STAR_ \x3d (function sci$impl$hierarchies$ancestors_STAR_(var_args){\nvar G__41843 \x3d arguments.length;\nswitch (G__41843) {\ncase 1:\nreturn sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.ancestors_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.ancestors_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.hierarchies.descendants_STAR_ \x3d (function sci$impl$hierarchies$descendants_STAR_(var_args){\nvar G__41848 \x3d arguments.length;\nswitch (G__41848) {\ncase 1:\nreturn sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.descendants_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.descendants_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.hierarchies.parents_STAR_ \x3d (function sci$impl$hierarchies$parents_STAR_(var_args){\nvar G__41858 \x3d arguments.length;\nswitch (G__41858) {\ncase 1:\nreturn sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (tag){\nvar h \x3d cljs.core.deref(sci.impl.hierarchies.global_hierarchy());\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.parents_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (h,tag){\nreturn cljs.core.parents.cljs$core$IFn$_invoke$arity$2(h,tag);\n}));\n\n(sci.impl.hierarchies.parents_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("sci.impl.multimethods.js", true, "goog.provide(\x27sci.impl.multimethods\x27);\n/**\n * Throws an exception if the given option map contains keys not listed\n * as valid, else returns nil.\n */\nsci.impl.multimethods.check_valid_options \x3d (function sci$impl$multimethods$check_valid_options(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41918 \x3d arguments.length;\nvar i__5750__auto___41919 \x3d (0);\nwhile(true){\nif((i__5750__auto___41919 \x3c len__5749__auto___41918)){\nargs__5755__auto__.push((arguments[i__5750__auto___41919]));\n\nvar G__41920 \x3d (i__5750__auto___41919 + (1));\ni__5750__auto___41919 \x3d G__41920;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.multimethods.check_valid_options.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.multimethods.check_valid_options.cljs$core$IFn$_invoke$arity$variadic \x3d (function (options,valid_keys){\nif(cljs.core.seq(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.keys(options)),valid_keys))){\nvar message \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.str,\x22Only these options are valid: \x22,cljs.core.first(valid_keys),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__41882_SHARP_){\nreturn [\x22, \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__41882_SHARP_)].join(\x27\x27);\n}),cljs.core.rest(valid_keys)));\nthrow (new Error(message));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.multimethods.check_valid_options.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.multimethods.check_valid_options.cljs$lang$applyTo \x3d (function (seq41883){\nvar G__41884 \x3d cljs.core.first(seq41883);\nvar seq41883__$1 \x3d cljs.core.next(seq41883);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41884,seq41883__$1);\n}));\n\n/**\n * Creates a new multimethod with the associated dispatch function.\n * The docstring and attr-map are optional.\n * \n * Options are key-value pairs and may be one of:\n * \n * :default\n * \n * The default dispatch value, defaults to :default\n * \n * :hierarchy\n * \n * The value used for hierarchical dispatch (e.g. ::square is-a ::shape)\n * \n * Hierarchies are type-like relationships that do not depend upon type\n * inheritance. By default Clojure\x27s multimethods dispatch off of a\n * global hierarchy map. However, a hierarchy relationship can be\n * created with the derive function used to augment the root ancestor\n * created with make-hierarchy.\n * \n * Multimethods expect the value of the hierarchy option to be supplied as\n * a reference type e.g. a var (i.e. via the Var-quote dispatch macro #\x27\n * or the var special form).\n */\nsci.impl.multimethods.defmulti \x3d (function sci$impl$multimethods$defmulti(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41921 \x3d arguments.length;\nvar i__5750__auto___41922 \x3d (0);\nwhile(true){\nif((i__5750__auto___41922 \x3c len__5749__auto___41921)){\nargs__5755__auto__.push((arguments[i__5750__auto___41922]));\n\nvar G__41923 \x3d (i__5750__auto___41922 + (1));\ni__5750__auto___41922 \x3d G__41923;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.multimethods.defmulti.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.multimethods.defmulti.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,mm_name,options){\nvar docstring \x3d ((typeof cljs.core.first(options) \x3d\x3d\x3d \x27string\x27)?cljs.core.first(options):null);\nvar options__$1 \x3d ((typeof cljs.core.first(options) \x3d\x3d\x3d \x27string\x27)?cljs.core.next(options):options);\nvar m \x3d ((cljs.core.map_QMARK_(cljs.core.first(options__$1)))?cljs.core.first(options__$1):cljs.core.PersistentArrayMap.EMPTY);\nvar options__$2 \x3d ((cljs.core.map_QMARK_(cljs.core.first(options__$1)))?cljs.core.next(options__$1):options__$1);\nvar dispatch_fn \x3d cljs.core.first(options__$2);\nvar options__$3 \x3d cljs.core.next(options__$2);\nvar m__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):m);\nvar m__$2 \x3d (cljs.core.truth_(cljs.core.meta(mm_name))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(mm_name),m__$1):m__$1);\nvar mm_name__$1 \x3d cljs.core.with_meta(mm_name,m__$2);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(options__$3),(1))){\nthrow (new Error(\x22The syntax for defmulti has changed. Example: (defmulti name dispatch-fn :default dispatch-value)\x22));\n} else {\n}\n\nvar options__$4 \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options__$3);\nvar default$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(options__$4,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328));\nvar hierarchy \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(options__$4,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),sci.impl.hierarchies.global_hierarchy());\nsci.impl.multimethods.check_valid_options.cljs$core$IFn$_invoke$arity$variadic(options__$4,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341)], 0));\n\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defonce\x22,\x22cljs.core/defonce\x22,-1291833100,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(mm_name__$1,m__$2),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-table__41889__auto__\x22,\x22method-table__41889__auto__\x22,-514232724,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22prefer-table__41890__auto__\x22,\x22prefer-table__41890__auto__\x22,-1157919496,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-cache__41891__auto__\x22,\x22method-cache__41891__auto__\x22,1321442931,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22cached-hierarchy__41892__auto__\x22,\x22cached-hierarchy__41892__auto__\x22,1172408976,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22atom\x22,\x22cljs.core/atom\x22,1943839529,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22multi-fn-impl\x22,\x22cljs.core/multi-fn-impl\x22,1399453884,null),null,(1),null)),(new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(mm_name__$1)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,dispatch_fn,null,(1),null)),(new cljs.core.List(null,default$,null,(1),null)),(new cljs.core.List(null,hierarchy,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-table__41889__auto__\x22,\x22method-table__41889__auto__\x22,-514232724,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22prefer-table__41890__auto__\x22,\x22prefer-table__41890__auto__\x22,-1157919496,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method-cache__41891__auto__\x22,\x22method-cache__41891__auto__\x22,1321442931,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22cached-hierarchy__41892__auto__\x22,\x22cached-hierarchy__41892__auto__\x22,1172408976,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.multimethods.defmulti.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.multimethods.defmulti.cljs$lang$applyTo \x3d (function (seq41893){\nvar G__41894 \x3d cljs.core.first(seq41893);\nvar seq41893__$1 \x3d cljs.core.next(seq41893);\nvar G__41895 \x3d cljs.core.first(seq41893__$1);\nvar seq41893__$2 \x3d cljs.core.next(seq41893__$1);\nvar G__41896 \x3d cljs.core.first(seq41893__$2);\nvar seq41893__$3 \x3d cljs.core.next(seq41893__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41894,G__41895,G__41896,seq41893__$3);\n}));\n\nsci.impl.multimethods.multi_fn_QMARK__impl \x3d (function sci$impl$multimethods$multi_fn_QMARK__impl(x){\nreturn (x instanceof cljs.core.MultiFn);\n});\nsci.impl.multimethods.multi_fn_impl \x3d (function sci$impl$multimethods$multi_fn_impl(name,dispatch_fn,default$,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){\nreturn (new cljs.core.MultiFn(name,dispatch_fn,default$,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));\n});\nsci.impl.multimethods.multi_fn_add_method_impl \x3d (function sci$impl$multimethods$multi_fn_add_method_impl(multifn,dispatch_val,f){\nreturn cljs.core._add_method(multifn,dispatch_val,f);\n});\n/**\n * Creates and installs a new method of multimethod associated with dispatch-value. \n */\nsci.impl.multimethods.defmethod \x3d (function sci$impl$multimethods$defmethod(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___41929 \x3d arguments.length;\nvar i__5750__auto___41930 \x3d (0);\nwhile(true){\nif((i__5750__auto___41930 \x3c len__5749__auto___41929)){\nargs__5755__auto__.push((arguments[i__5750__auto___41930]));\n\nvar G__41931 \x3d (i__5750__auto___41930 + (1));\ni__5750__auto___41930 \x3d G__41931;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.multimethods.defmethod.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.multimethods.defmethod.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_x,_y,multifn,dispatch_val,fn_tail){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.core\x22,\x22multi-fn-add-method-impl\x22,\x22clojure.core/multi-fn-add-method-impl\x22,-1293834231,null),(new cljs.core.List(null,multifn,(new cljs.core.List(null,dispatch_val,(new cljs.core.List(null,cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),fn_tail),null,(1),null)),(2),null)),(3),null)),(4),null));\n}));\n\n(sci.impl.multimethods.defmethod.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.multimethods.defmethod.cljs$lang$applyTo \x3d (function (seq41908){\nvar G__41909 \x3d cljs.core.first(seq41908);\nvar seq41908__$1 \x3d cljs.core.next(seq41908);\nvar G__41910 \x3d cljs.core.first(seq41908__$1);\nvar seq41908__$2 \x3d cljs.core.next(seq41908__$1);\nvar G__41911 \x3d cljs.core.first(seq41908__$2);\nvar seq41908__$3 \x3d cljs.core.next(seq41908__$2);\nvar G__41912 \x3d cljs.core.first(seq41908__$3);\nvar seq41908__$4 \x3d cljs.core.next(seq41908__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__41909,G__41910,G__41911,G__41912,seq41908__$4);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.protocols.js", true, "goog.provide(\x27sci.impl.protocols\x27);\nsci.impl.protocols.extend_default_val \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(\x22sci.impl.protocols\x22,\x22default\x22,\x22sci.impl.protocols/default\x22,-1134880191,null));\nsci.impl.protocols.default_QMARK_ \x3d (function sci$impl$protocols$default_QMARK_(_ctx,sym){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(sci.impl.protocols.extend_default_val,sym);\n});\nsci.impl.protocols.__GT_sigs \x3d (function sci$impl$protocols$__GT_sigs(signatures){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43225){\nvar vec__43228 \x3d p__43225;\nvar seq__43229 \x3d cljs.core.seq(vec__43228);\nvar first__43230 \x3d cljs.core.first(seq__43229);\nvar seq__43229__$1 \x3d cljs.core.next(seq__43229);\nvar name \x3d first__43230;\nvar arglists \x3d seq__43229__$1;\nvar l \x3d cljs.core.last(arglists);\nvar vec__43231 \x3d ((typeof l \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.butlast(arglists),l], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [arglists,null], null));\nvar arglists__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43231,(0),null);\nvar doc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43231,(1),null);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(name),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),arglists__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),doc], null)], null);\n}),signatures));\n});\nsci.impl.protocols.defprotocol \x3d (function sci$impl$protocols$defprotocol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43791 \x3d arguments.length;\nvar i__5750__auto___43792 \x3d (0);\nwhile(true){\nif((i__5750__auto___43792 \x3c len__5749__auto___43791)){\nargs__5755__auto__.push((arguments[i__5750__auto___43792]));\n\nvar G__43793 \x3d (i__5750__auto___43792 + (1));\ni__5750__auto___43792 \x3d G__43793;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.defprotocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,protocol_name,signatures){\nvar vec__43262 \x3d (function (){var sig \x3d cljs.core.first(signatures);\nif(typeof sig \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sig,cljs.core.rest(signatures)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures], null);\n}\n})();\nvar docstring \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43262,(0),null);\nvar signatures__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43262,(1),null);\nvar vec__43265 \x3d (function (){var opt \x3d cljs.core.first(signatures__$1);\nif((opt instanceof cljs.core.Keyword)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentArrayMap.createAsIfByAssoc([opt,cljs.core.second(signatures__$1)]),cljs.core.nnext(signatures__$1)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,signatures__$1], null);\n}\n})();\nvar opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43265,(0),null);\nvar signatures__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43265,(1),null);\nvar sigs_map \x3d sci.impl.protocols.__GT_sigs(signatures__$2);\nvar current_ns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.current_ns_name());\nvar fq_protocol_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name));\nvar extend_meta \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(opts);\nvar expansion \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(protocol_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22cond-\x3e\x22,\x22cljs.core/cond-\x3e\x22,-113941356,null),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),null,(1),null)),(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22*ns*\x22,\x22cljs.core/*ns*\x22,1155497085,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22sigs\x22,\x22sigs\x22,-1653119622),null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,sigs_map,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,fq_protocol_name,null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,extend_meta,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,true,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43274){\nvar vec__43275 \x3d p__43274;\nvar seq__43276 \x3d cljs.core.seq(vec__43275);\nvar first__43277 \x3d cljs.core.first(seq__43276);\nvar seq__43276__$1 \x3d cljs.core.next(seq__43276);\nvar method_name \x3d first__43277;\nvar ___$2 \x3d seq__43276__$1;\nvar fq_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_name));\nvar method_meta \x3d cljs.core.select_keys(cljs.core.get.cljs$core$IFn$_invoke$arity$2(sigs_map,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754)], null));\nvar method_meta__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(method_meta,new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null)));\nvar method_meta__$2 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(method_meta__$1,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),(function (a){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,a,null,(1),null)),(2),null));\n}));\nvar impls \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmulti\x22,\x22cljs.core/defmulti\x22,723984225,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,method_meta__$2,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22protocol-type-impl\x22,\x22cljs.core/protocol-type-impl\x22,155177701,null),null,(1),null))], 0)))),cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43238__auto__\x22,\x22x__43238__auto__\x22,-1252437530,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43239__auto__\x22,\x22args__43239__auto__\x22,524045392,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22methods__43240__auto__\x22,\x22methods__43240__auto__\x22,-1848322751,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-reified-methods\x22,\x22cljs.core/-reified-methods\x22,-1833109469,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43238__auto__\x22,\x22x__43238__auto__\x22,-1252437530,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43241__auto__\x22,\x22m__43241__auto__\x22,1923780121,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22methods__43240__auto__\x22,\x22methods__43240__auto__\x22,-1848322751,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43241__auto__\x22,\x22m__43241__auto__\x22,1923780121,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43238__auto__\x22,\x22x__43238__auto__\x22,-1252437530,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43239__auto__\x22,\x22args__43239__auto__\x22,524045392,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43242__auto__\x22,\x22default__43242__auto__\x22,813111146,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43242__auto__\x22,\x22default__43242__auto__\x22,813111146,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43238__auto__\x22,\x22x__43238__auto__\x22,-1252437530,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43239__auto__\x22,\x22args__43239__auto__\x22,524045392,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22ex-info\x22,\x22cljs.core/ex-info\x22,-409744395,null),null,(1),null)),(new cljs.core.List(null,\x22No method \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,\x22 found for: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43238__auto__\x22,\x22x__43238__auto__\x22,-1252437530,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))], null);\nvar impls__$1 \x3d (cljs.core.truth_(extend_meta)?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43243__auto__\x22,\x22x__43243__auto__\x22,-1843507483,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43244__auto__\x22,\x22args__43244__auto__\x22,714871484,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43245__auto__\x22,\x22meta__43245__auto__\x22,-1163143281,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43243__auto__\x22,\x22x__43243__auto__\x22,-1843507483,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43246__auto__\x22,\x22method__43246__auto__\x22,2045292389,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43245__auto__\x22,\x22meta__43245__auto__\x22,-1163143281,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq_name,null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43246__auto__\x22,\x22method__43246__auto__\x22,2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43246__auto__\x22,\x22method__43246__auto__\x22,2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43243__auto__\x22,\x22x__43243__auto__\x22,-1843507483,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43244__auto__\x22,\x22args__43244__auto__\x22,714871484,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43246__auto__\x22,\x22method__43246__auto__\x22,2045292389,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43243__auto__\x22,\x22x__43243__auto__\x22,-1843507483,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43247__auto__\x22,\x22default__43247__auto__\x22,596996247,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43246__auto__\x22,\x22method__43246__auto__\x22,2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43247__auto__\x22,\x22default__43247__auto__\x22,596996247,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43246__auto__\x22,\x22method__43246__auto__\x22,2045292389,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43243__auto__\x22,\x22x__43243__auto__\x22,-1843507483,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43244__auto__\x22,\x22args__43244__auto__\x22,714871484,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22No implementation of method: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null,\x22 of protocol: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,\x22 found for: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22protocol-type-impl\x22,\x22cljs.core/protocol-type-impl\x22,155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43243__auto__\x22,\x22x__43243__auto__\x22,-1843507483,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))):cljs.core.conj.cljs$core$IFn$_invoke$arity$2(impls,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43248__auto__\x22,\x22x__43248__auto__\x22,1745363681,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43249__auto__\x22,\x22args__43249__auto__\x22,-814495658,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43250__auto__\x22,\x22method__43250__auto__\x22,-682321956,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43248__auto__\x22,\x22x__43248__auto__\x22,1745363681,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43251__auto__\x22,\x22default__43251__auto__\x22,-1128225429,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43250__auto__\x22,\x22method__43250__auto__\x22,-682321956,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43251__auto__\x22,\x22default__43251__auto__\x22,-1128225429,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22method__43250__auto__\x22,\x22method__43250__auto__\x22,-682321956,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43248__auto__\x22,\x22x__43248__auto__\x22,1745363681,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22args__43249__auto__\x22,\x22args__43249__auto__\x22,-814495658,null),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22No implementation of method: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_name),null,(1),null)),(new cljs.core.List(null,\x22 of protocol: \x22,null,(1),null)),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,fq_protocol_name,null,(1),null)),(2),null)),null,(1),null)),(new cljs.core.List(null,\x22 found for: \x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22protocol-type-impl\x22,\x22cljs.core/protocol-type-impl\x22,155177701,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__43248__auto__\x22,\x22x__43248__auto__\x22,1745363681,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),impls__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22update\x22,\x22cljs.core/update\x22,-908565906,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22conj\x22,\x22cljs.core/conj\x22,-460750931,null),null,(1),null)),(new cljs.core.List(null,method_name,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}),signatures__$2),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,protocol_name,null,(1),null)),(2),null)),null,(1),null))], 0))));\nreturn expansion;\n}));\n\n(sci.impl.protocols.defprotocol.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.protocols.defprotocol.cljs$lang$applyTo \x3d (function (seq43254){\nvar G__43255 \x3d cljs.core.first(seq43254);\nvar seq43254__$1 \x3d cljs.core.next(seq43254);\nvar G__43256 \x3d cljs.core.first(seq43254__$1);\nvar seq43254__$2 \x3d cljs.core.next(seq43254__$1);\nvar G__43257 \x3d cljs.core.first(seq43254__$2);\nvar seq43254__$3 \x3d cljs.core.next(seq43254__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43255,G__43256,G__43257,seq43254__$3);\n}));\n\nsci.impl.protocols.extend \x3d (function sci$impl$protocols$extend(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43799 \x3d arguments.length;\nvar i__5750__auto___43800 \x3d (0);\nwhile(true){\nif((i__5750__auto___43800 \x3c len__5749__auto___43799)){\nargs__5755__auto__.push((arguments[i__5750__auto___43800]));\n\nvar G__43801 \x3d (i__5750__auto___43800 + (1));\ni__5750__auto___43800 \x3d G__43801;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.extend.cljs$core$IFn$_invoke$arity$variadic \x3d (function (atype,proto_PLUS_mmaps){\nvar seq__43338 \x3d cljs.core.seq(cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),proto_PLUS_mmaps));\nvar chunk__43340 \x3d null;\nvar count__43341 \x3d (0);\nvar i__43342 \x3d (0);\nwhile(true){\nif((i__43342 \x3c count__43341)){\nvar vec__43469 \x3d chunk__43340.cljs$core$IIndexed$_nth$arity$2(null,i__43342);\nvar proto \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43469,(0),null);\nvar mmap \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43469,(1),null);\nvar extend_via_metadata_43802 \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(proto);\nvar proto_ns_43803 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(proto);\nvar pns_43804 \x3d sci.impl.types.getName(proto_ns_43803);\nvar pns_str_43805 \x3d (cljs.core.truth_(extend_via_metadata_43802)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43804):null);\nvar seq__43473_43806 \x3d cljs.core.seq(mmap);\nvar chunk__43474_43807 \x3d null;\nvar count__43475_43808 \x3d (0);\nvar i__43476_43809 \x3d (0);\nwhile(true){\nif((i__43476_43809 \x3c count__43475_43808)){\nvar vec__43497_43810 \x3d chunk__43474_43807.cljs$core$IIndexed$_nth$arity$2(null,i__43476_43809);\nvar meth_name_43811 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43497_43810,(0),null);\nvar f_43812 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43497_43810,(1),null);\nvar meth_str_43813 \x3d cljs.core.name(meth_name_43811);\nvar meth_sym_43814 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43813);\nvar env_43815 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43816 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43815,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43804,meth_sym_43814], null));\nvar multi_method_43817 \x3d cljs.core.deref(multi_method_var_43816);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43817,atype,(cljs.core.truth_(extend_via_metadata_43802)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43805,meth_str_43813);\nreturn ((function (seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43813,meth_sym_43814,env_43815,multi_method_var_43816,multi_method_43817,vec__43497_43810,meth_name_43811,f_43812,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap){\nreturn (function() { \nvar G__43818__delegate \x3d function (this$,args){\nvar temp__5821__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar meth \x3d temp__5821__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43812,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43812,this$,args);\n}\n};\nvar G__43818 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43819__i \x3d 0, G__43819__a \x3d new Array(arguments.length - 1);\nwhile (G__43819__i \x3c G__43819__a.length) {G__43819__a[G__43819__i] \x3d arguments[G__43819__i + 1]; ++G__43819__i;}\n args \x3d new cljs.core.IndexedSeq(G__43819__a,0,null);\n} \nreturn G__43818__delegate.call(this,this$,args);};\nG__43818.cljs$lang$maxFixedArity \x3d 1;\nG__43818.cljs$lang$applyTo \x3d (function (arglist__43820){\nvar this$ \x3d cljs.core.first(arglist__43820);\nvar args \x3d cljs.core.rest(arglist__43820);\nreturn G__43818__delegate(this$,args);\n});\nG__43818.cljs$core$IFn$_invoke$arity$variadic \x3d G__43818__delegate;\nreturn G__43818;\n})()\n;\n;})(seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43813,meth_sym_43814,env_43815,multi_method_var_43816,multi_method_43817,vec__43497_43810,meth_name_43811,f_43812,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap))\n})():f_43812));\n\n\nvar G__43821 \x3d seq__43473_43806;\nvar G__43822 \x3d chunk__43474_43807;\nvar G__43823 \x3d count__43475_43808;\nvar G__43824 \x3d (i__43476_43809 + (1));\nseq__43473_43806 \x3d G__43821;\nchunk__43474_43807 \x3d G__43822;\ncount__43475_43808 \x3d G__43823;\ni__43476_43809 \x3d G__43824;\ncontinue;\n} else {\nvar temp__5823__auto___43825 \x3d cljs.core.seq(seq__43473_43806);\nif(temp__5823__auto___43825){\nvar seq__43473_43826__$1 \x3d temp__5823__auto___43825;\nif(cljs.core.chunked_seq_QMARK_(seq__43473_43826__$1)){\nvar c__5548__auto___43827 \x3d cljs.core.chunk_first(seq__43473_43826__$1);\nvar G__43828 \x3d cljs.core.chunk_rest(seq__43473_43826__$1);\nvar G__43829 \x3d c__5548__auto___43827;\nvar G__43830 \x3d cljs.core.count(c__5548__auto___43827);\nvar G__43831 \x3d (0);\nseq__43473_43806 \x3d G__43828;\nchunk__43474_43807 \x3d G__43829;\ncount__43475_43808 \x3d G__43830;\ni__43476_43809 \x3d G__43831;\ncontinue;\n} else {\nvar vec__43504_43832 \x3d cljs.core.first(seq__43473_43826__$1);\nvar meth_name_43833 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43504_43832,(0),null);\nvar f_43834 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43504_43832,(1),null);\nvar meth_str_43835 \x3d cljs.core.name(meth_name_43833);\nvar meth_sym_43836 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43835);\nvar env_43837 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43838 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43837,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43804,meth_sym_43836], null));\nvar multi_method_43839 \x3d cljs.core.deref(multi_method_var_43838);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43839,atype,(cljs.core.truth_(extend_via_metadata_43802)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43805,meth_str_43835);\nreturn ((function (seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43835,meth_sym_43836,env_43837,multi_method_var_43838,multi_method_43839,vec__43504_43832,meth_name_43833,f_43834,seq__43473_43826__$1,temp__5823__auto___43825,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap){\nreturn (function() { \nvar G__43840__delegate \x3d function (this$,args){\nvar temp__5821__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar meth \x3d temp__5821__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43834,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43834,this$,args);\n}\n};\nvar G__43840 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43841__i \x3d 0, G__43841__a \x3d new Array(arguments.length - 1);\nwhile (G__43841__i \x3c G__43841__a.length) {G__43841__a[G__43841__i] \x3d arguments[G__43841__i + 1]; ++G__43841__i;}\n args \x3d new cljs.core.IndexedSeq(G__43841__a,0,null);\n} \nreturn G__43840__delegate.call(this,this$,args);};\nG__43840.cljs$lang$maxFixedArity \x3d 1;\nG__43840.cljs$lang$applyTo \x3d (function (arglist__43842){\nvar this$ \x3d cljs.core.first(arglist__43842);\nvar args \x3d cljs.core.rest(arglist__43842);\nreturn G__43840__delegate(this$,args);\n});\nG__43840.cljs$core$IFn$_invoke$arity$variadic \x3d G__43840__delegate;\nreturn G__43840;\n})()\n;\n;})(seq__43473_43806,chunk__43474_43807,count__43475_43808,i__43476_43809,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43835,meth_sym_43836,env_43837,multi_method_var_43838,multi_method_43839,vec__43504_43832,meth_name_43833,f_43834,seq__43473_43826__$1,temp__5823__auto___43825,extend_via_metadata_43802,proto_ns_43803,pns_43804,pns_str_43805,vec__43469,proto,mmap))\n})():f_43834));\n\n\nvar G__43843 \x3d cljs.core.next(seq__43473_43826__$1);\nvar G__43844 \x3d null;\nvar G__43845 \x3d (0);\nvar G__43846 \x3d (0);\nseq__43473_43806 \x3d G__43843;\nchunk__43474_43807 \x3d G__43844;\ncount__43475_43808 \x3d G__43845;\ni__43476_43809 \x3d G__43846;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__43847 \x3d seq__43338;\nvar G__43848 \x3d chunk__43340;\nvar G__43849 \x3d count__43341;\nvar G__43850 \x3d (i__43342 + (1));\nseq__43338 \x3d G__43847;\nchunk__43340 \x3d G__43848;\ncount__43341 \x3d G__43849;\ni__43342 \x3d G__43850;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__43338);\nif(temp__5823__auto__){\nvar seq__43338__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__43338__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__43338__$1);\nvar G__43851 \x3d cljs.core.chunk_rest(seq__43338__$1);\nvar G__43852 \x3d c__5548__auto__;\nvar G__43853 \x3d cljs.core.count(c__5548__auto__);\nvar G__43854 \x3d (0);\nseq__43338 \x3d G__43851;\nchunk__43340 \x3d G__43852;\ncount__43341 \x3d G__43853;\ni__43342 \x3d G__43854;\ncontinue;\n} else {\nvar vec__43508 \x3d cljs.core.first(seq__43338__$1);\nvar proto \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43508,(0),null);\nvar mmap \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43508,(1),null);\nvar extend_via_metadata_43855 \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(proto);\nvar proto_ns_43856 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(proto);\nvar pns_43857 \x3d sci.impl.types.getName(proto_ns_43856);\nvar pns_str_43858 \x3d (cljs.core.truth_(extend_via_metadata_43855)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(pns_43857):null);\nvar seq__43511_43859 \x3d cljs.core.seq(mmap);\nvar chunk__43512_43860 \x3d null;\nvar count__43513_43861 \x3d (0);\nvar i__43514_43862 \x3d (0);\nwhile(true){\nif((i__43514_43862 \x3c count__43513_43861)){\nvar vec__43542_43863 \x3d chunk__43512_43860.cljs$core$IIndexed$_nth$arity$2(null,i__43514_43862);\nvar meth_name_43864 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43542_43863,(0),null);\nvar f_43865 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43542_43863,(1),null);\nvar meth_str_43866 \x3d cljs.core.name(meth_name_43864);\nvar meth_sym_43867 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43866);\nvar env_43868 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43869 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43868,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43857,meth_sym_43867], null));\nvar multi_method_43870 \x3d cljs.core.deref(multi_method_var_43869);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43870,atype,(cljs.core.truth_(extend_via_metadata_43855)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43858,meth_str_43866);\nreturn ((function (seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43866,meth_sym_43867,env_43868,multi_method_var_43869,multi_method_43870,vec__43542_43863,meth_name_43864,f_43865,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__){\nreturn (function() { \nvar G__43871__delegate \x3d function (this$,args){\nvar temp__5821__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar meth \x3d temp__5821__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43865,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43865,this$,args);\n}\n};\nvar G__43871 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43872__i \x3d 0, G__43872__a \x3d new Array(arguments.length - 1);\nwhile (G__43872__i \x3c G__43872__a.length) {G__43872__a[G__43872__i] \x3d arguments[G__43872__i + 1]; ++G__43872__i;}\n args \x3d new cljs.core.IndexedSeq(G__43872__a,0,null);\n} \nreturn G__43871__delegate.call(this,this$,args);};\nG__43871.cljs$lang$maxFixedArity \x3d 1;\nG__43871.cljs$lang$applyTo \x3d (function (arglist__43873){\nvar this$ \x3d cljs.core.first(arglist__43873);\nvar args \x3d cljs.core.rest(arglist__43873);\nreturn G__43871__delegate(this$,args);\n});\nG__43871.cljs$core$IFn$_invoke$arity$variadic \x3d G__43871__delegate;\nreturn G__43871;\n})()\n;\n;})(seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43866,meth_sym_43867,env_43868,multi_method_var_43869,multi_method_43870,vec__43542_43863,meth_name_43864,f_43865,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__))\n})():f_43865));\n\n\nvar G__43874 \x3d seq__43511_43859;\nvar G__43875 \x3d chunk__43512_43860;\nvar G__43876 \x3d count__43513_43861;\nvar G__43877 \x3d (i__43514_43862 + (1));\nseq__43511_43859 \x3d G__43874;\nchunk__43512_43860 \x3d G__43875;\ncount__43513_43861 \x3d G__43876;\ni__43514_43862 \x3d G__43877;\ncontinue;\n} else {\nvar temp__5823__auto___43878__$1 \x3d cljs.core.seq(seq__43511_43859);\nif(temp__5823__auto___43878__$1){\nvar seq__43511_43879__$1 \x3d temp__5823__auto___43878__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__43511_43879__$1)){\nvar c__5548__auto___43880 \x3d cljs.core.chunk_first(seq__43511_43879__$1);\nvar G__43881 \x3d cljs.core.chunk_rest(seq__43511_43879__$1);\nvar G__43882 \x3d c__5548__auto___43880;\nvar G__43883 \x3d cljs.core.count(c__5548__auto___43880);\nvar G__43884 \x3d (0);\nseq__43511_43859 \x3d G__43881;\nchunk__43512_43860 \x3d G__43882;\ncount__43513_43861 \x3d G__43883;\ni__43514_43862 \x3d G__43884;\ncontinue;\n} else {\nvar vec__43563_43885 \x3d cljs.core.first(seq__43511_43879__$1);\nvar meth_name_43886 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43563_43885,(0),null);\nvar f_43887 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43563_43885,(1),null);\nvar meth_str_43888 \x3d cljs.core.name(meth_name_43886);\nvar meth_sym_43889 \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(meth_str_43888);\nvar env_43890 \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\nvar multi_method_var_43891 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_43890,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),pns_43857,meth_sym_43889], null));\nvar multi_method_43892 \x3d cljs.core.deref(multi_method_var_43891);\nsci.impl.multimethods.multi_fn_add_method_impl(multi_method_43892,atype,(cljs.core.truth_(extend_via_metadata_43855)?(function (){var fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns_str_43858,meth_str_43888);\nreturn ((function (seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43888,meth_sym_43889,env_43890,multi_method_var_43891,multi_method_43892,vec__43563_43885,meth_name_43886,f_43887,seq__43511_43879__$1,temp__5823__auto___43878__$1,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__){\nreturn (function() { \nvar G__43897__delegate \x3d function (this$,args){\nvar temp__5821__auto__ \x3d cljs.core.meta(this$);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nvar temp__5821__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,fq);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar meth \x3d temp__5821__auto____$1;\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(meth,this$,args);\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43887,this$,args);\n}\n} else {\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f_43887,this$,args);\n}\n};\nvar G__43897 \x3d function (this$,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43898__i \x3d 0, G__43898__a \x3d new Array(arguments.length - 1);\nwhile (G__43898__i \x3c G__43898__a.length) {G__43898__a[G__43898__i] \x3d arguments[G__43898__i + 1]; ++G__43898__i;}\n args \x3d new cljs.core.IndexedSeq(G__43898__a,0,null);\n} \nreturn G__43897__delegate.call(this,this$,args);};\nG__43897.cljs$lang$maxFixedArity \x3d 1;\nG__43897.cljs$lang$applyTo \x3d (function (arglist__43899){\nvar this$ \x3d cljs.core.first(arglist__43899);\nvar args \x3d cljs.core.rest(arglist__43899);\nreturn G__43897__delegate(this$,args);\n});\nG__43897.cljs$core$IFn$_invoke$arity$variadic \x3d G__43897__delegate;\nreturn G__43897;\n})()\n;\n;})(seq__43511_43859,chunk__43512_43860,count__43513_43861,i__43514_43862,seq__43338,chunk__43340,count__43341,i__43342,fq,meth_str_43888,meth_sym_43889,env_43890,multi_method_var_43891,multi_method_43892,vec__43563_43885,meth_name_43886,f_43887,seq__43511_43879__$1,temp__5823__auto___43878__$1,extend_via_metadata_43855,proto_ns_43856,pns_43857,pns_str_43858,vec__43508,proto,mmap,seq__43338__$1,temp__5823__auto__))\n})():f_43887));\n\n\nvar G__43900 \x3d cljs.core.next(seq__43511_43879__$1);\nvar G__43901 \x3d null;\nvar G__43902 \x3d (0);\nvar G__43903 \x3d (0);\nseq__43511_43859 \x3d G__43900;\nchunk__43512_43860 \x3d G__43901;\ncount__43513_43861 \x3d G__43902;\ni__43514_43862 \x3d G__43903;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\n\nvar G__43904 \x3d cljs.core.next(seq__43338__$1);\nvar G__43905 \x3d null;\nvar G__43906 \x3d (0);\nvar G__43907 \x3d (0);\nseq__43338 \x3d G__43904;\nchunk__43340 \x3d G__43905;\ncount__43341 \x3d G__43906;\ni__43342 \x3d G__43907;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(sci.impl.protocols.extend.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.protocols.extend.cljs$lang$applyTo \x3d (function (seq43336){\nvar G__43337 \x3d cljs.core.first(seq43336);\nvar seq43336__$1 \x3d cljs.core.next(seq43336);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43337,seq43336__$1);\n}));\n\n/**\n * Processes single args+body pair for extending via metadata\n */\nsci.impl.protocols.process_single_extend_meta \x3d (function sci$impl$protocols$process_single_extend_meta(fq,p__43587,default_method_QMARK_){\nvar vec__43588 \x3d p__43587;\nvar seq__43589 \x3d cljs.core.seq(vec__43588);\nvar first__43590 \x3d cljs.core.first(seq__43589);\nvar seq__43589__$1 \x3d cljs.core.next(seq__43589);\nvar args \x3d first__43590;\nvar body \x3d seq__43589__$1;\nreturn (new cljs.core.List(null,args,(new cljs.core.List(null,(cljs.core.truth_(default_method_QMARK_)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43577__auto__\x22,\x22farg__43577__auto__\x22,-48314554,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43578__auto__\x22,\x22m__43578__auto__\x22,-1487622484,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43577__auto__\x22,\x22farg__43577__auto__\x22,-48314554,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43578__auto__\x22,\x22m__43578__auto__\x22,-1487622484,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43577__auto__\x22,\x22farg__43577__auto__\x22,-48314554,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43580__auto__\x22,\x22default__43580__auto__\x22,890230784,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43580__auto__\x22,\x22default__43580__auto__\x22,890230784,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43577__auto__\x22,\x22farg__43577__auto__\x22,-48314554,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43580__auto__\x22,\x22default__43580__auto__\x22,890230784,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43580__auto__\x22,\x22default__43580__auto__\x22,890230784,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43579__auto__\x22,\x22meth__43579__auto__\x22,-1930727821,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))):cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43581__auto__\x22,\x22farg__43581__auto__\x22,-2041488842,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43582__auto__\x22,\x22m__43582__auto__\x22,-1702214720,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43581__auto__\x22,\x22farg__43581__auto__\x22,-2041488842,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43583__auto__\x22,\x22meth__43583__auto__\x22,-303611607,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43582__auto__\x22,\x22m__43582__auto__\x22,-1702214720,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43583__auto__\x22,\x22meth__43583__auto__\x22,-303611607,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),(2),null));\n});\nsci.impl.protocols.process_single \x3d (function sci$impl$protocols$process_single(fq,p__43619){\nvar vec__43620 \x3d p__43619;\nvar seq__43621 \x3d cljs.core.seq(vec__43620);\nvar first__43622 \x3d cljs.core.first(seq__43621);\nvar seq__43621__$1 \x3d cljs.core.next(seq__43621);\nvar args \x3d first__43622;\nvar body \x3d seq__43621__$1;\nreturn (new cljs.core.List(null,args,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43616__auto__\x22,\x22farg__43616__auto__\x22,-1528054904,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(args),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43617__auto__\x22,\x22meth__43617__auto__\x22,-1310598032,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22type\x22,\x22cljs.core/type\x22,-821761154,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22farg__43616__auto__\x22,\x22farg__43616__auto__\x22,-1528054904,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43618__auto__\x22,\x22default__43618__auto__\x22,-1297838305,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get-method\x22,\x22cljs.core/get-method\x22,-487793502,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x3d\x22,\x22cljs.core/not\x3d\x22,1017572457,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22default__43618__auto__\x22,\x22default__43618__auto__\x22,-1297838305,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43617__auto__\x22,\x22meth__43617__auto__\x22,-1310598032,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22apply\x22,\x22cljs.core/apply\x22,1757277831,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meth__43617__auto__\x22,\x22meth__43617__auto__\x22,-1310598032,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,args,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(2),null));\n});\nsci.impl.protocols.process_methods \x3d (function sci$impl$protocols$process_methods(ctx,type,meths,protocol_ns,extend_via_metadata){\nvar default_method_QMARK_ \x3d sci.impl.protocols.default_QMARK_(ctx,type);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43634){\nvar vec__43635 \x3d p__43634;\nvar seq__43636 \x3d cljs.core.seq(vec__43635);\nvar first__43637 \x3d cljs.core.first(seq__43636);\nvar seq__43636__$1 \x3d cljs.core.next(seq__43636);\nvar meth_name \x3d first__43637;\nvar fn_body \x3d seq__43636__$1;\nvar fq \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(protocol_ns,cljs.core.name(meth_name));\nvar fn_body__$1 \x3d (cljs.core.truth_(extend_via_metadata)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single_extend_meta(fq,fn_body,default_method_QMARK_):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43632_SHARP_){\nreturn sci.impl.protocols.process_single_extend_meta(fq,p1__43632_SHARP_,default_method_QMARK_);\n}),fn_body)):((default_method_QMARK_)?((cljs.core.vector_QMARK_(cljs.core.first(fn_body)))?sci.impl.protocols.process_single(fq,fn_body):cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__43633_SHARP_){\nreturn sci.impl.protocols.process_single(fq,p1__43633_SHARP_);\n}),fn_body)):fn_body\n));\nif(default_method_QMARK_){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),null,(1),null)),fn_body__$1], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,type,null,(1),null)),fn_body__$1], 0))));\n}\n}),meths);\n});\nsci.impl.protocols.cljs_type_symbols \x3d new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Symbol(null,\x22default\x22,\x22default\x22,-347290801,null),sci.impl.protocols.extend_default_val,new cljs.core.Symbol(null,\x22object\x22,\x22object\x22,-1179821820,null),new cljs.core.Symbol(\x22js\x22,\x22Object\x22,\x22js/Object\x22,61215323,null),new cljs.core.Symbol(null,\x22string\x22,\x22string\x22,-349010059,null),new cljs.core.Symbol(\x22js\x22,\x22String\x22,\x22js/String\x22,-2070054036,null),new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),new cljs.core.Symbol(\x22js\x22,\x22Number\x22,\x22js/Number\x22,-508133572,null),new cljs.core.Symbol(null,\x22array\x22,\x22array\x22,-440182315,null),new cljs.core.Symbol(\x22js\x22,\x22Array\x22,\x22js/Array\x22,-423508366,null),new cljs.core.Symbol(null,\x22function\x22,\x22function\x22,-486723946,null),new cljs.core.Symbol(\x22js\x22,\x22Function\x22,\x22js/Function\x22,-749892063,null),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Symbol(\x22js\x22,\x22Boolean\x22,\x22js/Boolean\x22,1661145260,null)], null);\nsci.impl.protocols.type__GT_str \x3d (function sci$impl$protocols$type__GT_str(t){\nif((!((t \x3d\x3d null)))){\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(t);\n} else {\nreturn \x22nil\x22;\n}\n});\nsci.impl.protocols.extend_protocol \x3d (function sci$impl$protocols$extend_protocol(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43908 \x3d arguments.length;\nvar i__5750__auto___43909 \x3d (0);\nwhile(true){\nif((i__5750__auto___43909 \x3c len__5749__auto___43908)){\nargs__5755__auto__.push((arguments[i__5750__auto___43909]));\n\nvar G__43910 \x3d (i__5750__auto___43909 + (1));\ni__5750__auto___43909 \x3d G__43910;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.extend_protocol.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,protocol_name,impls){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar print_writer_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22IPrintWithWriter\x22,\x22IPrintWithWriter\x22,-1205316154,null),protocol_name);\nvar impls__$1 \x3d sci.impl.utils.split_when((function (p1__43642_SHARP_){\nreturn (!(cljs.core.seq_QMARK_(p1__43642_SHARP_)));\n}),impls);\nvar protocol_var \x3d (function (){var or__5025__auto__ \x3d (function (){var G__43651 \x3d ctx;\nvar G__43652 \x3d new cljs.core.Keyword(null,\x22bindingx\x22,\x22bindingx\x22,679516896).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__43653 \x3d protocol_name;\nvar fexpr__43650 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43650.cljs$core$IFn$_invoke$arity$3 ? fexpr__43650.cljs$core$IFn$_invoke$arity$3(G__43651,G__43652,G__43653) : fexpr__43650.call(null,G__43651,G__43652,G__43653));\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d ((print_writer_QMARK_)?new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22IPrintWithWriter\x22,\x22sci.impl.protocols/IPrintWithWriter\x22,1832791161):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27),form);\n}\n}\n})();\nvar protocol_data \x3d ((sci.impl.utils.var_QMARK_(protocol_var))?cljs.core.deref(protocol_var):null);\nvar extend_via_metadata \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(protocol_data);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(protocol_data);\nvar pns \x3d (((protocol_var instanceof cljs.core.Keyword))?\x22sci.impl.protocols\x22:cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)));\nvar expansion \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43655){\nvar vec__43656 \x3d p__43655;\nvar seq__43657 \x3d cljs.core.seq(vec__43656);\nvar first__43658 \x3d cljs.core.first(seq__43657);\nvar seq__43657__$1 \x3d cljs.core.next(seq__43657);\nvar type \x3d first__43658;\nvar meths \x3d seq__43657__$1;\nvar type__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,type,type);\nif(print_writer_QMARK_){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-meta!\x22,\x22cljs.core/alter-meta!\x22,574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),cljs.core.rest(cljs.core.first(meths))))),null,(1),null))], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-var-root\x22,\x22cljs.core/alter-var-root\x22,-1342668238,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,protocol_name,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22update\x22,\x22cljs.core/update\x22,-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fnil\x22,\x22cljs.core/fnil\x22,479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22conj\x22,\x22cljs.core/conj\x22,-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.protocols\x22,\x22type-\x3estr\x22,\x22sci.impl.protocols/type-\x3estr\x22,1214133319,null),null,(1),null)),(new cljs.core.List(null,type__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,type__$1,meths,pns,extend_via_metadata)], 0))));\n}\n}),impls__$1))));\nreturn expansion;\n}));\n\n(sci.impl.protocols.extend_protocol.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.protocols.extend_protocol.cljs$lang$applyTo \x3d (function (seq43643){\nvar G__43644 \x3d cljs.core.first(seq43643);\nvar seq43643__$1 \x3d cljs.core.next(seq43643);\nvar G__43645 \x3d cljs.core.first(seq43643__$1);\nvar seq43643__$2 \x3d cljs.core.next(seq43643__$1);\nvar G__43646 \x3d cljs.core.first(seq43643__$2);\nvar seq43643__$3 \x3d cljs.core.next(seq43643__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43644,G__43645,G__43646,seq43643__$3);\n}));\n\nsci.impl.protocols.extend_type \x3d (function sci$impl$protocols$extend_type(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43922 \x3d arguments.length;\nvar i__5750__auto___43923 \x3d (0);\nwhile(true){\nif((i__5750__auto___43923 \x3c len__5749__auto___43922)){\nargs__5755__auto__.push((arguments[i__5750__auto___43923]));\n\nvar G__43924 \x3d (i__5750__auto___43923 + (1));\ni__5750__auto___43923 \x3d G__43924;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.protocols.extend_type.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_env,atype,proto_PLUS_meths){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar atype__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.protocols.cljs_type_symbols,atype,atype);\nvar proto_PLUS_meths__$1 \x3d sci.impl.utils.split_when((function (p1__43663_SHARP_){\nreturn (!(cljs.core.seq_QMARK_(p1__43663_SHARP_)));\n}),proto_PLUS_meths);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43671){\nvar vec__43672 \x3d p__43671;\nvar seq__43673 \x3d cljs.core.seq(vec__43672);\nvar first__43674 \x3d cljs.core.first(seq__43673);\nvar seq__43673__$1 \x3d cljs.core.next(seq__43673);\nvar proto \x3d first__43674;\nvar meths \x3d seq__43673__$1;\nvar protocol_var \x3d (function (){var or__5025__auto__ \x3d (function (){var G__43676 \x3d ctx;\nvar G__43677 \x3d new cljs.core.Keyword(null,\x22bindingx\x22,\x22bindingx\x22,679516896).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__43678 \x3d proto;\nvar fexpr__43675 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43675.cljs$core$IFn$_invoke$arity$3 ? fexpr__43675.cljs$core$IFn$_invoke$arity$3(G__43676,G__43677,G__43678) : fexpr__43675.call(null,G__43676,G__43677,G__43678));\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(proto)].join(\x27\x27),form);\n}\n})();\nvar proto_data \x3d cljs.core.deref(protocol_var);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(proto_data);\nvar pns \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns));\nvar extend_via_metadata \x3d new cljs.core.Keyword(null,\x22extend-via-metadata\x22,\x22extend-via-metadata\x22,-427346794).cljs$core$IFn$_invoke$arity$1(proto_data);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-var-root\x22,\x22cljs.core/alter-var-root\x22,-1342668238,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,proto,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22update\x22,\x22cljs.core/update\x22,-908565906,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fnil\x22,\x22cljs.core/fnil\x22,479587341,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22conj\x22,\x22cljs.core/conj\x22,-460750931,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_set,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.protocols\x22,\x22type-\x3estr\x22,\x22sci.impl.protocols/type-\x3estr\x22,1214133319,null),null,(1),null)),(new cljs.core.List(null,atype__$1,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.protocols.process_methods(ctx,atype__$1,meths,pns,extend_via_metadata)], 0))));\n}),proto_PLUS_meths__$1))));\n}));\n\n(sci.impl.protocols.extend_type.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.protocols.extend_type.cljs$lang$applyTo \x3d (function (seq43664){\nvar G__43665 \x3d cljs.core.first(seq43664);\nvar seq43664__$1 \x3d cljs.core.next(seq43664);\nvar G__43666 \x3d cljs.core.first(seq43664__$1);\nvar seq43664__$2 \x3d cljs.core.next(seq43664__$1);\nvar G__43667 \x3d cljs.core.first(seq43664__$2);\nvar seq43664__$3 \x3d cljs.core.next(seq43664__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43665,G__43666,G__43667,seq43664__$3);\n}));\n\nsci.impl.protocols.find_matching_non_default_method \x3d (function sci$impl$protocols$find_matching_non_default_method(protocol,obj){\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218).cljs$core$IFn$_invoke$arity$1(protocol);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar sats \x3d temp__5823__auto__;\nvar or__5025__auto__ \x3d cljs.core.contains_QMARK_(sats,sci.impl.protocols.extend_default_val);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (((obj \x3d\x3d null))?cljs.core.contains_QMARK_(sats,\x22nil\x22):null);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar temp__5823__auto____$1 \x3d sci.impl.types.type_impl(obj);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar t \x3d temp__5823__auto____$1;\nreturn cljs.core.contains_QMARK_(sats,sci.impl.protocols.type__GT_str(t));\n} else {\nreturn null;\n}\n}\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.boolean$(cljs.core.some((function (p1__43680_SHARP_){\nvar temp__5823__auto__ \x3d cljs.core.get_method(p1__43680_SHARP_,sci.impl.types.type_impl(obj));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar m \x3d temp__5823__auto__;\nvar ms \x3d cljs.core.methods$(p1__43680_SHARP_);\nvar default$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ms,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328));\nreturn (!((m \x3d\x3d\x3d default$)));\n} else {\nreturn null;\n}\n}),new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(protocol)));\n}\n});\nsci.impl.protocols.satisfies_QMARK_ \x3d (function sci$impl$protocols$satisfies_QMARK_(protocol,obj){\nif((obj instanceof sci.impl.types.Reified)){\nreturn cljs.core.contains_QMARK_(obj.sci$impl$types$IReified$getProtocols$arity$1(null),protocol);\n} else {\nvar p \x3d new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118).cljs$core$IFn$_invoke$arity$1(protocol);\nvar or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d p;\nif(cljs.core.truth_(and__5023__auto__)){\nvar pred__43688 \x3d cljs.core._EQ_;\nvar expr__43689 \x3d p;\nif(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.IDeref,expr__43689) : pred__43688.call(null,cljs.core.IDeref,expr__43689)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IDeref$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,obj);\n}\n} else {\nif(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.ISwap,expr__43689) : pred__43688.call(null,cljs.core.ISwap,expr__43689)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition1$ \x26 (65536))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$ISwap$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.ISwap,obj);\n}\n} else {\nif(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.IReset,expr__43689) : pred__43688.call(null,cljs.core.IReset,expr__43689)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition1$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IReset$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition1$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IReset,obj);\n}\n} else {\nif(cljs.core.truth_((pred__43688.cljs$core$IFn$_invoke$arity$2 ? pred__43688.cljs$core$IFn$_invoke$arity$2(cljs.core.IRecord,expr__43689) : pred__43688.call(null,cljs.core.IRecord,expr__43689)))){\nif((!((obj \x3d\x3d null)))){\nif((((obj.cljs$lang$protocol_mask$partition0$ \x26 (67108864))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d obj.cljs$core$IRecord$)))){\nreturn true;\n} else {\nif((!obj.cljs$lang$protocol_mask$partition0$)){\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj);\n} else {\nreturn false;\n}\n}\n} else {\nreturn cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,obj);\n}\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(expr__43689)].join(\x27\x27)));\n}\n}\n}\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.protocols.find_matching_non_default_method(protocol,obj);\n}\n}\n});\nsci.impl.protocols.instance_impl \x3d (function sci$impl$protocols$instance_impl(clazz,x){\nif((clazz instanceof sci.lang.Type)){\nif((((!((x \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.sci$impl$types$SciTypeInstance$))))?true:false):false)){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,x.sci$impl$types$SciTypeInstance$_get_type$arity$1(null));\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(clazz,new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(x)));\n}\n} else {\nif(cljs.core.map_QMARK_(clazz)){\nreturn sci.impl.protocols.satisfies_QMARK_(clazz,x);\n} else {\nreturn (x instanceof clazz);\n\n}\n}\n});\n/**\n * Returns true if atype extends protocol\n */\nsci.impl.protocols.extends_QMARK_ \x3d (function sci$impl$protocols$extends_QMARK_(protocol,atype){\nreturn cljs.core.boolean$(cljs.core.some((function (p1__43712_SHARP_){\nreturn cljs.core.get_method(p1__43712_SHARP_,atype);\n}),new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866).cljs$core$IFn$_invoke$arity$1(protocol)));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.records.js", true, "goog.provide(\x27sci.impl.records\x27);\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.records !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.records.to_string !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.records.to_string \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43798 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43798.cljs$core$IFn$_invoke$arity$0 ? fexpr__43798.cljs$core$IFn$_invoke$arity$0() : fexpr__43798.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.records\x22,\x22to-string\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.records.to_string.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (this$){\nvar t \x3d sci.impl.types.type_impl(this$);\nreturn [cljs.core.namespace(t),\x22.\x22,cljs.core.name(t),\x22@\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.hash(this$).toString((16)))].join(\x27\x27);\n}));\nsci.impl.records.clojure_str \x3d (function sci$impl$records$clojure_str(v){\nvar t \x3d sci.impl.types.type_impl(v);\nreturn [\x22#\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(t),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,v))].join(\x27\x27);\n});\n\n/**\n * @interface\n */\nsci.impl.records.SciPrintMethod \x3d function(){};\n\nvar sci$impl$records$SciPrintMethod$_sci_print_method$dyn_43943 \x3d (function (x,w){\nvar x__5373__auto__ \x3d (((x \x3d\x3d null))?null:x);\nvar m__5374__auto__ \x3d (sci.impl.records._sci_print_method[goog.typeOf(x__5373__auto__)]);\nif((!((m__5374__auto__ \x3d\x3d null)))){\nreturn (m__5374__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5374__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5374__auto__.call(null,x,w));\n} else {\nvar m__5372__auto__ \x3d (sci.impl.records._sci_print_method[\x22_\x22]);\nif((!((m__5372__auto__ \x3d\x3d null)))){\nreturn (m__5372__auto__.cljs$core$IFn$_invoke$arity$2 ? m__5372__auto__.cljs$core$IFn$_invoke$arity$2(x,w) : m__5372__auto__.call(null,x,w));\n} else {\nthrow cljs.core.missing_protocol(\x22SciPrintMethod.-sci-print-method\x22,x);\n}\n}\n});\nsci.impl.records._sci_print_method \x3d (function sci$impl$records$_sci_print_method(x,w){\nif((((!((x \x3d\x3d null)))) \x26\x26 ((!((x.sci$impl$records$SciPrintMethod$_sci_print_method$arity$2 \x3d\x3d null)))))){\nreturn x.sci$impl$records$SciPrintMethod$_sci_print_method$arity$2(x,w);\n} else {\nreturn sci$impl$records$SciPrintMethod$_sci_print_method$dyn_43943(x,w);\n}\n});\n\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {sci.impl.types.SciTypeInstance}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nsci.impl.records.SciRecord \x3d (function (rec_name,type,var$,ext_map,my_hash){\nthis.rec_name \x3d rec_name;\nthis.type \x3d type;\nthis.var$ \x3d var$;\nthis.ext_map \x3d ext_map;\nthis.my_hash \x3d my_hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(sci.impl.records.SciRecord.prototype.toString \x3d (function (){\nvar self__ \x3d this;\nvar this$ \x3d this;\nreturn sci.impl.records.to_string.cljs$core$IFn$_invoke$arity$1(this$);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (_,k){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._lookup(self__.ext_map,k);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (_,k,else$){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._lookup(self__.ext_map,k,else$);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this$,f,init){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,p__43893){\nvar vec__43894 \x3d p__43893;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43894,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43894,(1),null);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(ret,k,v) : f.call(null,ret,k,v));\n}),init,this$__$1);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this$,w,opts){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nvar temp__5821__auto__ \x3d self__.var$;\nif(cljs.core.truth_(temp__5821__auto__)){\nvar rv \x3d temp__5821__auto__;\nvar m \x3d cljs.core.meta(rv);\nvar temp__5821__auto____$1 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22print-method\x22,\x22sci.impl/print-method\x22,281191566).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar pm \x3d temp__5821__auto____$1;\nreturn (pm.cljs$core$IFn$_invoke$arity$3 ? pm.cljs$core$IFn$_invoke$arity$3(this$__$1,w,opts) : pm.call(null,this$__$1,w,opts));\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.records.clojure_str(this$__$1)], 0));\n}\n} else {\nreturn cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(w,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.records.clojure_str(this$__$1)], 0));\n}\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._iterator(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.meta(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,self__.ext_map,self__.my_hash));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core.count(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nvar hq \x3d self__.my_hash;\nif((!((hq \x3d\x3d null)))){\nvar type_hash \x3d cljs.core.hash(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(self__.rec_name)));\nvar h \x3d (type_hash ^ cljs.core.hash_unordered_coll(self__.ext_map));\n(self__.my_hash \x3d h);\n\nreturn h;\n} else {\nreturn hq;\n}\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this$,other){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nreturn (((!((other \x3d\x3d null)))) \x26\x26 ((((this$__$1.constructor \x3d\x3d\x3d other.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.rec_name,other.rec_name)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.ext_map,other.ext_map)))))));\n}));\n\n(sci.impl.records.SciRecord.prototype.sci$impl$types$SciTypeInstance$ \x3d cljs.core.PROTOCOL_SENTINEL);\n\n(sci.impl.records.SciRecord.prototype.sci$impl$types$SciTypeInstance$_get_type$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn self__.type;\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (_,k){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.ext_map,k),null));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (_,k){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._contains_key_QMARK_(self__.ext_map,k);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (_,k,v){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.ext_map,k,v),null));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (_){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn cljs.core._seq(self__.ext_map);\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (_,m){\nvar self__ \x3d this;\nvar ___$1 \x3d this;\nreturn (new sci.impl.records.SciRecord(self__.rec_name,self__.type,self__.var$,cljs.core.with_meta(self__.ext_map,m),self__.my_hash));\n}));\n\n(sci.impl.records.SciRecord.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this$,entry){\nvar self__ \x3d this;\nvar this$__$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry)){\nreturn this$__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry,(0)),cljs.core._nth(entry,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this$__$1,entry);\n}\n}));\n\n(sci.impl.records.SciRecord.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rec-name\x22,\x22rec-name\x22,407587896,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),new cljs.core.Symbol(null,\x22ext-map\x22,\x22ext-map\x22,-1560591553,null),cljs.core.with_meta(new cljs.core.Symbol(null,\x22my_hash\x22,\x22my_hash\x22,-1166068909,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true], null))], null);\n}));\n\n(sci.impl.records.SciRecord.cljs$lang$type \x3d true);\n\n(sci.impl.records.SciRecord.cljs$lang$ctorStr \x3d \x22sci.impl.records/SciRecord\x22);\n\n(sci.impl.records.SciRecord.cljs$lang$ctorPrWriter \x3d (function (this__5310__auto__,writer__5311__auto__,opt__5312__auto__){\nreturn cljs.core._write(writer__5311__auto__,\x22sci.impl.records/SciRecord\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.records/SciRecord.\n */\nsci.impl.records.__GT_SciRecord \x3d (function sci$impl$records$__GT_SciRecord(rec_name,type,var$,ext_map,my_hash){\nreturn (new sci.impl.records.SciRecord(rec_name,type,var$,ext_map,my_hash));\n});\n\nsci.impl.records.__GT_record_impl \x3d (function sci$impl$records$__GT_record_impl(rec_name,type,var$,m){\nreturn (new sci.impl.records.SciRecord(rec_name,type,var$,m,null));\n});\nsci.impl.records.defrecord \x3d (function sci$impl$records$defrecord(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43944 \x3d arguments.length;\nvar i__5750__auto___43945 \x3d (0);\nwhile(true){\nif((i__5750__auto___43945 \x3c len__5749__auto___43944)){\nargs__5755__auto__.push((arguments[i__5750__auto___43945]));\n\nvar G__43946 \x3d (i__5750__auto___43945 + (1));\ni__5750__auto___43945 \x3d G__43946;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.records.defrecord.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.records.defrecord.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__43925,_,record_name,fields,raw_protocol_impls){\nvar vec__43926 \x3d p__43925;\nvar seq__43927 \x3d cljs.core.seq(vec__43926);\nvar first__43928 \x3d cljs.core.first(seq__43927);\nvar seq__43927__$1 \x3d cljs.core.next(seq__43927);\nvar _fname \x3d first__43928;\nvar ___$1 \x3d seq__43927__$1;\nvar form \x3d vec__43926;\nvar ctx \x3d sci.ctx_store.get_ctx();\nif(cljs.core.truth_(new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22defrecord\x22,\x22clojure.core/defrecord\x22,581689476,null),cljs.core.rest(form));\n} else {\nvar factory_fn_str \x3d [\x22-\x3e\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27);\nvar factory_fn_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(factory_fn_str);\nvar constructor_fn_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22__\x22,factory_fn_str,\x22__ctor__\x22].join(\x27\x27));\nvar map_factory_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([\x22map\x22,factory_fn_str].join(\x27\x27));\nvar keys \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,fields);\nvar rec_type \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.munge(sci.impl.utils.current_ns_name())),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(record_name)].join(\x27\x27));\nvar protocol_impls \x3d sci.impl.utils.split_when(cljs.core.symbol_QMARK_,raw_protocol_impls);\nvar field_set \x3d cljs.core.set(fields);\nvar protocol_impls__$1 \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p__43929,expr){\nvar vec__43930 \x3d p__43929;\nvar seq__43931 \x3d cljs.core.seq(vec__43930);\nvar first__43932 \x3d cljs.core.first(seq__43931);\nvar seq__43931__$1 \x3d cljs.core.next(seq__43931);\nvar protocol_name \x3d first__43932;\nvar impls \x3d seq__43931__$1;\nvar impls__$1 \x3d cljs.core.group_by(cljs.core.first,impls);\nvar protocol \x3d (function (){var G__43934 \x3d ctx;\nvar G__43935 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__43936 \x3d protocol_name;\nvar fexpr__43933 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43933.cljs$core$IFn$_invoke$arity$3 ? fexpr__43933.cljs$core$IFn$_invoke$arity$3(G__43934,G__43935,G__43936) : fexpr__43933.call(null,G__43934,G__43935,G__43936));\n})();\nvar protocol__$1 \x3d (function (){var or__5025__auto__ \x3d protocol;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22Object\x22,\x22Object\x22,61210754,null),protocol_name)){\nreturn new cljs.core.Keyword(\x22sci.impl.records\x22,\x22object\x22,\x22sci.impl.records/object\x22,-590699738);\n} else {\nreturn null;\n}\n}\n})();\nvar ___$2 \x3d (cljs.core.truth_(protocol__$1)?null:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Protocol not found: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(protocol_name)].join(\x27\x27),expr));\nvar protocol__$2 \x3d ((sci.impl.utils.var_QMARK_(protocol__$1))?cljs.core.deref(protocol__$1):protocol__$1);\nvar protocol_var \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar ___$3 \x3d (cljs.core.truth_(protocol_var)?sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$variadic(protocol_var,cljs.core.update,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22satisfies\x22,\x22satisfies\x22,-311664218),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),sci.impl.protocols.type__GT_str(rec_type)], 0)):null);\nvar protocol_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(protocol__$2);\nvar pns \x3d (cljs.core.truth_(protocol_ns)?cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(protocol_ns)):((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.impl.records\x22,\x22object\x22,\x22sci.impl.records/object\x22,-590699738),protocol__$2))?\x22sci.impl.records\x22:null));\nvar fq_meth_name \x3d (function (p1__43911_SHARP_){\nif(cljs.core.simple_symbol_QMARK_(p1__43911_SHARP_)){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(pns,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__43911_SHARP_));\n} else {\nreturn p1__43911_SHARP_;\n}\n});\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43937){\nvar vec__43938 \x3d p__43937;\nvar method_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43938,(0),null);\nvar bodies \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43938,(1),null);\nvar bodies__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies);\nvar bodies__$2 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (impl){\nvar args \x3d cljs.core.first(impl);\nvar body \x3d cljs.core.rest(impl);\nvar destr \x3d sci.impl.utils.maybe_destructured(args,body);\nvar args__$1 \x3d new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(destr);\nvar body__$1 \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(destr);\nvar orig_this_sym \x3d cljs.core.first(args__$1);\nvar rest_args \x3d cljs.core.rest(args__$1);\nvar shadows_this_QMARK_ \x3d cljs.core.some((function (p1__43912_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(orig_this_sym,p1__43912_SHARP_);\n}),rest_args);\nvar this_sym \x3d (cljs.core.truth_(shadows_this_QMARK_)?cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22this_\x22):orig_this_sym);\nvar args__$2 \x3d (cljs.core.truth_(shadows_this_QMARK_)?cljs.core.vec(cljs.core.cons(this_sym,rest_args)):args__$1);\nvar bindings \x3d cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (field){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [field,(new cljs.core.List(null,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(field),(new cljs.core.List(null,this_sym,null,(1),null)),(2),null))], null);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.disj,field_set,args__$2)], 0));\nvar bindings__$1 \x3d (cljs.core.truth_(shadows_this_QMARK_)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(bindings,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [orig_this_sym,this_sym], null)):bindings);\nvar bindings__$2 \x3d cljs.core.vec(bindings__$1);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,args__$2,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,bindings__$2,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body__$1], 0)))),null,(1),null)))));\n}),bodies__$1);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defmethod\x22,\x22cljs.core/defmethod\x22,-180785162,null),null,(1),null)),(new cljs.core.List(null,fq_meth_name(method_name),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),bodies__$2], 0))));\n}),impls__$1);\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([protocol_impls,raw_protocol_impls], 0));\nvar arg_syms \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__43913_SHARP_){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(p1__43913_SHARP_));\n}),keys);\nvar nil_map \x3d cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword,field_set),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(null));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22declare\x22,\x22cljs.core/declare\x22,1312638100,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,factory_fn_sym,null,(1),null)),(new cljs.core.List(null,constructor_fn_sym,null,(1),null)),(new cljs.core.List(null,map_factory_sym,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(record_name,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci\x22,\x22record\x22,\x22sci/record\x22,-778731026),true], null)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.records\x22,\x22-create-record-type\x22,\x22sci.impl.records/-create-record-type\x22,558578550,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(\x22sci.impl\x22,\x22type-name\x22,\x22sci.impl/type-name\x22,-1528979388),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,rec_type,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22record\x22,\x22sci.impl/record\x22,-1939193950),true,new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,constructor_fn_sym,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl\x22,\x22var\x22,\x22sci.impl/var\x22,-2041185552),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,record_name,null,(1),null)),(2),null)),new cljs.core.Keyword(\x22sci.impl.record\x22,\x22map-constructor\x22,\x22sci.impl.record/map-constructor\x22,1072184780),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,map_factory_sym,null,(1),null)),(2),null))], null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,constructor_fn_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(arg_syms)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,constructor_fn_sym,null,(1),null)),arg_syms,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(arg_syms,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43914__auto__\x22,\x22meta__43914__auto__\x22,1072559868,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ext__43915__auto__\x22,\x22ext__43915__auto__\x22,-733964769,null),null,(1),null))], 0))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.records\x22,\x22-\x3erecord-impl\x22,\x22sci.impl.records/-\x3erecord-impl\x22,-1005013370,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,rec_type,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22cond-\x3e\x22,\x22cljs.core/cond-\x3e\x22,-113941356,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22zipmap\x22,\x22cljs.core/zipmap\x22,-1902130674,null),null,(1),null)),(new cljs.core.List(null,keys,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,arg_syms,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ext__43915__auto__\x22,\x22ext__43915__auto__\x22,-733964769,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22merge\x22,\x22cljs.core/merge\x22,-822184067,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ext__43915__auto__\x22,\x22ext__43915__auto__\x22,-733964769,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43914__auto__\x22,\x22meta__43914__auto__\x22,1072559868,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-meta\x22,\x22cljs.core/with-meta\x22,749126446,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22meta__43914__auto__\x22,\x22meta__43914__auto__\x22,1072559868,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,factory_fn_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(arg_syms)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,constructor_fn_sym,null,(1),null)),arg_syms,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),null,(1),null)),(new cljs.core.List(null,map_factory_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43916__auto__\x22,\x22m__43916__auto__\x22,-1035575860,null),null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.records\x22,\x22-\x3erecord-impl\x22,\x22sci.impl.records/-\x3erecord-impl\x22,-1005013370,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,rec_type,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,rec_type,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,record_name,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22merge\x22,\x22cljs.core/merge\x22,-822184067,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,nil_map,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22m__43916__auto__\x22,\x22m__43916__auto__\x22,-1035575860,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),protocol_impls__$1,(new cljs.core.List(null,record_name,null,(1),null))], 0))));\n}\n}));\n\n(sci.impl.records.defrecord.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.records.defrecord.cljs$lang$applyTo \x3d (function (seq43917){\nvar G__43918 \x3d cljs.core.first(seq43917);\nvar seq43917__$1 \x3d cljs.core.next(seq43917);\nvar G__43919 \x3d cljs.core.first(seq43917__$1);\nvar seq43917__$2 \x3d cljs.core.next(seq43917__$1);\nvar G__43920 \x3d cljs.core.first(seq43917__$2);\nvar seq43917__$3 \x3d cljs.core.next(seq43917__$2);\nvar G__43921 \x3d cljs.core.first(seq43917__$3);\nvar seq43917__$4 \x3d cljs.core.next(seq43917__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43918,G__43919,G__43920,G__43921,seq43917__$4);\n}));\n\n/**\n * A record class is represented by a symbol with metadata (currently). This is only an implementation detail.\n * A protocol is represented by a map with :ns, :methods and optionally :class. This is also an implementation detail.\n */\nsci.impl.records.resolve_record_or_protocol_class \x3d (function sci$impl$records$resolve_record_or_protocol_class(var_args){\nvar G__43942 \x3d arguments.length;\nswitch (G__43942) {\ncase 2:\nreturn sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,sym){\nvar sym_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym);\nvar last_dot \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(sym_str,\x22.\x22);\nvar class_name \x3d (cljs.core.truth_(last_dot)?cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_str,(last_dot + (1)),((sym_str).length)):sym_str);\nvar namespace \x3d (cljs.core.truth_(last_dot)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_str,(0),last_dot)):sci.impl.utils.current_ns_name());\nreturn sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$3(ctx,namespace,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(class_name));\n}));\n\n(sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,package$,class$){\nvar namespace \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(clojure.string.replace(cljs.core.str.cljs$core$IFn$_invoke$arity$1(package$),\x22_\x22,\x22-\x22));\nvar temp__5823__auto__ \x3d (function (){var ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespace], null));\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ns,class$);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(ns),class$);\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar sci_var \x3d temp__5823__auto__;\nif(sci.impl.utils.var_QMARK_(sci_var)){\nreturn cljs.core.deref(sci_var);\n} else {\nreturn sci_var;\n}\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.records.resolve_record_or_protocol_class.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.records.resolve_record_class \x3d (function sci$impl$records$resolve_record_class(ctx,class_sym){\nvar temp__5823__auto__ \x3d sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2(ctx,class_sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar x \x3d temp__5823__auto__;\nif((x instanceof sci.lang.Type)){\nreturn x;\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.faster.js", true, "goog.provide(\x27sci.impl.faster\x27);\n");
SHADOW_ENV.evalLoad("sci.impl.resolve.js", true, "goog.provide(\x27sci.impl.resolve\x27);\nsci.impl.resolve.throw_error_with_location \x3d (function sci$impl$resolve$throw_error_with_location(msg,node){\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3(msg,node,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),\x22analysis\x22], null));\n});\nsci.impl.resolve.mark_resolve_sym \x3d (function sci$impl$resolve$mark_resolve_sym(sym,idx){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(sym,(function (m){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978),new cljs.core.Keyword(null,\x22resolve-sym\x22,\x22resolve-sym\x22,-1193683260),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci.impl\x22,\x22idx\x22,\x22sci.impl/idx\x22,700902278),idx], 0));\n}));\n});\nsci.impl.resolve.check_permission_BANG_ \x3d (function sci$impl$resolve$check_permission_BANG_(ctx,sym,kv){\nvar or__5025__auto__ \x3d (sci.impl.utils.allowed_loop \x3d\x3d\x3d sym);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (sci.impl.utils.allowed_recur \x3d\x3d\x3d sym);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nvar check_sym \x3d sci.impl.utils.strip_core_ns(sym);\nvar allow \x3d new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745).cljs$core$IFn$_invoke$arity$1(ctx);\nif((cljs.core.truth_(allow)?(function (){var vec__43949 \x3d kv;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43949,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43949,(1),null);\nreturn ((((sci.impl.utils.var_QMARK_(v)) \x26\x26 (cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v)))))) || (cljs.core.contains_QMARK_(allow,check_sym)));\n})():true)){\n} else {\nsci.impl.resolve.throw_error_with_location([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 is not allowed!\x22].join(\x27\x27),sym);\n}\n\nvar deny \x3d new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523).cljs$core$IFn$_invoke$arity$1(ctx);\nif((cljs.core.truth_(deny)?cljs.core.contains_QMARK_(deny,check_sym):false)){\nreturn sci.impl.resolve.throw_error_with_location([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 is not allowed!\x22].join(\x27\x27),sym);\n} else {\nreturn null;\n}\n}\n}\n});\nsci.impl.resolve.lookup_STAR_ \x3d (function sci$impl$resolve$lookup_STAR_(var_args){\nvar G__43956 \x3d arguments.length;\nswitch (G__43956) {\ncase 3:\nreturn sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sym,call_QMARK_){\nreturn sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,false);\n}));\n\n(sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sym,call_QMARK_,only_var_QMARK_){\nvar sym_ns \x3d (function (){var G__43962 \x3d cljs.core.namespace(sym);\nif((G__43962 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(G__43962);\n}\n})();\nvar sym_name_str \x3d cljs.core.name(sym);\nvar sym_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(sym_name_str);\nvar env \x3d ctx.get(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235));\nvar env__$1 \x3d cljs.core.deref(env);\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar the_current_ns \x3d (function (){var G__43966 \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env__$1);\nreturn (cnn.cljs$core$IFn$_invoke$arity$1 ? cnn.cljs$core$IFn$_invoke$arity$1(G__43966) : cnn.call(null,G__43966));\n})();\nvar sym_ns__$1 \x3d (cljs.core.truth_(sym_ns)?(function (){var or__5025__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(the_current_ns,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),sym_ns], null));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sym_ns;\n}\n})():null);\nvar sym_ns__$2 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821).cljs$core$IFn$_invoke$arity$1(env__$1),sym_ns__$1,sym_ns__$1);\nif(cljs.core.truth_(sym_ns__$2)){\nvar or__5025__auto__ \x3d ((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),sym_ns__$2)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),sym_ns__$2))))?(function (){var or__5025__auto__ \x3d (function (){var G__43970 \x3d env__$1;\nvar G__43970__$1 \x3d (((G__43970 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(G__43970));\nvar G__43970__$2 \x3d (((G__43970__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43970__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nif((G__43970__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.find(G__43970__$2,sym_name);\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5823__auto__ \x3d (cljs.core.truth_(call_QMARK_)?cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.ana_macros,sym_name):null);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,v], null);\n} else {\nreturn null;\n}\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var G__43972 \x3d env__$1;\nvar G__43972__$1 \x3d (((G__43972 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(G__43972));\nvar G__43972__$2 \x3d (((G__43972__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43972__$1,sym_ns__$2));\nif((G__43972__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.find(G__43972__$2,sym_name);\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nif(cljs.core.truth_(only_var_QMARK_)){\nreturn null;\n} else {\nvar temp__5823__auto__ \x3d sci.impl.interop.resolve_class(ctx,sym_ns__$2);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar clazz \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,(cljs.core.truth_(call_QMARK_)?cljs.core.with_meta(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [clazz,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym_name).split(\x22.\x22),sym_ns__$2], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22static-access\x22,\x22sci.impl.analyzer/static-access\x22,-79014000),true], null)):(function (){var stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(sym),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns)], 0));\nvar path \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym_name).split(\x22.\x22);\nvar len \x3d path.length;\nif(((1) \x3d\x3d\x3d len)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.get_static_field(clazz,sym_name);\n}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.get_static_fields(clazz,path);\n}),stack);\n}\n})())], null);\n} else {\nreturn null;\n}\n}\n}\n}\n} else {\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar refers \x3d temp__5823__auto__;\nreturn cljs.core.find(refers,sym_name);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.find(the_current_ns,sym);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var kv \x3d (function (){var G__43974 \x3d env__$1;\nvar G__43974__$1 \x3d (((G__43974 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(G__43974));\nvar G__43974__$2 \x3d (((G__43974__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43974__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nif((G__43974__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.find(G__43974__$2,sym_name);\n}\n})();\nif(cljs.core.truth_((function (){var G__43975 \x3d the_current_ns;\nvar G__43975__$1 \x3d (((G__43975 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(G__43975));\nvar G__43975__$2 \x3d (((G__43975__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43975__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nvar G__43975__$3 \x3d (((G__43975__$2 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334).cljs$core$IFn$_invoke$arity$1(G__43975__$2));\nif((G__43975__$3 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.contains_QMARK_(G__43975__$3,sym_name);\n}\n})())){\nreturn null;\n} else {\nreturn kv;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d (cljs.core.truth_((cljs.core.truth_(call_QMARK_)?cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.ana_macros,sym):null))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,sym], null):null);\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nif(cljs.core.truth_(only_var_QMARK_)){\nreturn null;\n} else {\nvar or__5025__auto____$4 \x3d (function (){var temp__5823__auto__ \x3d sci.impl.interop.resolve_class(ctx,sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar c \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,c], null);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$4)){\nreturn or__5025__auto____$4;\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dotted-access\x22,\x22dotted-access\x22,114961112).cljs$core$IFn$_invoke$arity$1(ctx))){\nreturn null;\n} else {\nvar temp__5823__auto__ \x3d sci.impl.records.resolve_record_or_protocol_class.cljs$core$IFn$_invoke$arity$2(ctx,sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar x \x3d temp__5823__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,x], null);\n} else {\nreturn null;\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(sci.impl.resolve.lookup_STAR_.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * :syms \x3d closed over -\x3e idx\n */\nsci.impl.resolve.update_parents \x3d (function sci$impl$resolve$update_parents(ctx,closure_bindings,ob){\nvar parents \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx);\nvar new_cb \x3d cljs.core._vreset_BANG_(closure_bindings,(function (cb){\nreturn cljs.core.first(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__43979,_idx){\nvar vec__43980 \x3d p__43979;\nvar acc \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43980,(0),null);\nvar path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43980,(1),null);\nvar new_acc \x3d cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(acc,path,(function (entry){\nvar iden__GT_invoke_idx \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762).cljs$core$IFn$_invoke$arity$1(entry);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})();\nvar added_before_QMARK_ \x3d cljs.core.contains_QMARK_(iden__GT_invoke_idx,ob);\nif(added_before_QMARK_){\nreturn entry;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(entry,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_invoke_idx,ob,cljs.core.count(iden__GT_invoke_idx)));\n}\n}));\nvar new_res \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new_acc,cljs.core.pop(cljs.core.pop(path))], null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(acc,new_acc)){\nreturn cljs.core.reduced(new_res);\n} else {\nreturn new_res;\n}\n}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cb,parents], null),cljs.core.range.cljs$core$IFn$_invoke$arity$1((cljs.core.count(parents) / (2)))));\n})(cljs.core._deref(closure_bindings)));\nvar closure_idx \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new_cb,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(parents,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ob], 0)));\nreturn closure_idx;\n});\nsci.impl.resolve.lookup \x3d (function sci$impl$resolve$lookup(var_args){\nvar G__44000 \x3d arguments.length;\nswitch (G__44000) {\ncase 3:\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sym,call_QMARK_){\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,null);\n}));\n\n(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sym,call_QMARK_,m){\nreturn sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5(ctx,sym,call_QMARK_,m,null);\n}));\n\n(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,sym,call_QMARK_,_,only_var_QMARK_){\nvar bindings \x3d ctx.get(new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192));\nvar track_mutable_QMARK_ \x3d ctx.get(new cljs.core.Keyword(null,\x22deftype-fields\x22,\x22deftype-fields\x22,-222569172));\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d cljs.core.find(bindings,sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar vec__44018 \x3d temp__5823__auto__;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44018,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44018,(1),null);\nvar idx \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(ctx),v);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar oi \x3d new cljs.core.Keyword(null,\x22outer-idens\x22,\x22outer-idens\x22,1197381241).cljs$core$IFn$_invoke$arity$1(ctx);\nvar ob \x3d (oi.cljs$core$IFn$_invoke$arity$1 ? oi.cljs$core$IFn$_invoke$arity$1(v) : oi.call(null,v));\nreturn sci.impl.resolve.update_parents(ctx,new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx),ob);\n}\n})();\nvar mutable_QMARK_ \x3d (cljs.core.truth_(track_mutable_QMARK_)?(function (){var temp__5823__auto____$1 \x3d (function (){var G__44021 \x3d k;\nif((G__44021 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.meta(G__44021);\n}\n})();\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar m \x3d temp__5823__auto____$1;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22volatile-mutable\x22,\x22volatile-mutable\x22,1731728411).cljs$core$IFn$_invoke$arity$1(m);\n}\n} else {\nreturn null;\n}\n})():null);\nvar v__$1 \x3d (cljs.core.truth_(call_QMARK_)?sci.impl.resolve.mark_resolve_sym(k,idx):(function (){var v__$1 \x3d (function (){var G__44022 \x3d (cljs.core.truth_(mutable_QMARK_)?(function (){var ext_map \x3d cljs.core.second(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Symbol(null,\x22__sci_this\x22,\x22__sci_this\x22,-193704996,null),false));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings__$1){\nvar this$__$1 \x3d sci.impl.types.eval(ext_map,ctx__$1,bindings__$1);\nvar inner \x3d sci.impl.types.getVal(this$__$1);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(inner,sym);\n}),null);\n})():sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings__$1){\nreturn (bindings__$1[idx]);\n}),null));\nif(cljs.core.truth_(mutable_QMARK_)){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(G__44022,cljs.core.assoc,new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266),true);\n} else {\nreturn G__44022;\n}\n})();\nreturn v__$1;\n})());\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v__$1], null);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5823__auto__ \x3d sci.impl.resolve.lookup_STAR_.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,only_var_QMARK_);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar kv \x3d temp__5823__auto__;\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317).cljs$core$IFn$_invoke$arity$1(ctx))){\nsci.impl.resolve.check_permission_BANG_(ctx,sym,kv);\n} else {\n}\n\nreturn kv;\n} else {\nreturn null;\n}\n}\n}));\n\n(sci.impl.resolve.lookup.cljs$lang$maxFixedArity \x3d 5);\n\nsci.impl.resolve.resolve_symbol_STAR_ \x3d (function sci$impl$resolve$resolve_symbol_STAR_(ctx,sym,call_QMARK_,m){\nvar or__5025__auto__ \x3d sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar n \x3d cljs.core.name(sym);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d call_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((clojure.string.starts_with_QMARK_(n,\x22.\x22)) \x26\x26 ((((n).length) \x3e (1))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,new cljs.core.Symbol(null,\x22expand-dot*\x22,\x22expand-dot*\x22,-1946890561,null)], null);\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d call_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((clojure.string.ends_with_QMARK_(n,\x22.\x22)) \x26\x26 ((((n).length) \x3e (1))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,new cljs.core.Symbol(null,\x22expand-constructor\x22,\x22expand-constructor\x22,-343741576,null)], null);\n} else {\nreturn null;\n}\n}\n}\n});\nsci.impl.resolve.resolve_prefix_PLUS_path \x3d (function sci$impl$resolve$resolve_prefix_PLUS_path(ctx,sym,m){\nvar sym_ns \x3d cljs.core.namespace(sym);\nvar sym_name \x3d cljs.core.name(sym);\nvar segments \x3d sym_name.split(\x22.\x22);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22dotted-access\x22,\x22dotted-access\x22,114961112),true);\nvar prefix \x3d null;\nvar segments__$1 \x3d segments;\nwhile(true){\nif(cljs.core.empty_QMARK_(segments__$1)){\nreturn null;\n} else {\nvar fst_segment \x3d cljs.core.first(segments__$1);\nvar nxt_segments \x3d cljs.core.next(segments__$1);\nvar new_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(sym_ns,[prefix,(cljs.core.truth_(prefix)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(fst_segment)].join(\x27\x27));\nvar new_sym_2 \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(sym_ns);\nif(and__5023__auto__){\nreturn prefix;\n} else {\nreturn and__5023__auto__;\n}\n})())?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(prefix,fst_segment):null);\nvar temp__5821__auto__ \x3d sci.impl.resolve.resolve_symbol_STAR_(ctx__$1,new_sym,false,m);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.second(v),nxt_segments], null);\n} else {\nvar temp__5821__auto____$1 \x3d (cljs.core.truth_(new_sym_2)?sci.impl.resolve.resolve_symbol_STAR_(ctx__$1,new_sym_2,false,m):null);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar v2 \x3d temp__5821__auto____$1;\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.second(v2),nxt_segments], null);\n} else {\nvar G__44115 \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(new_sym);\nvar G__44116 \x3d nxt_segments;\nprefix \x3d G__44115;\nsegments__$1 \x3d G__44116;\ncontinue;\n}\n}\n}\nbreak;\n}\n});\nsci.impl.resolve.resolve_dotted_access \x3d (function sci$impl$resolve$resolve_dotted_access(ctx,sym,call_QMARK_,m){\nvar temp__5823__auto__ \x3d sci.impl.resolve.resolve_prefix_PLUS_path(ctx,sym,m);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar vec__44056 \x3d temp__5823__auto__;\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44056,(0),null);\nvar segments \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__44056,(1),null);\nvar v__$1 \x3d ((sci.impl.utils.var_QMARK_(v))?cljs.core.deref(v):v);\nvar segments__$1 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(segments);\nif(cljs.core.truth_(call_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v__$1,segments__$1], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22static-access\x22,\x22sci.impl.analyzer/static-access\x22,-79014000),true], null))], null);\n} else {\nif((v__$1 instanceof sci.impl.types.NodeR)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.get_static_fields(sci.impl.types.eval(v__$1,ctx__$1,bindings),segments__$1);\n}),sym)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sym,sci.impl.interop.get_static_fields(v__$1,segments__$1)], null);\n}\n}\n} else {\nreturn null;\n}\n});\nsci.impl.resolve.resolve_symbol \x3d (function sci$impl$resolve$resolve_symbol(var_args){\nvar G__44075 \x3d arguments.length;\nswitch (G__44075) {\ncase 2:\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,sym){\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,sym,false,null);\n}));\n\n(sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sym,call_QMARK_){\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,sym,call_QMARK_,null);\n}));\n\n(sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sym,call_QMARK_,m){\nreturn cljs.core.second((function (){var or__5025__auto__ \x3d sci.impl.resolve.resolve_symbol_STAR_(ctx,sym,call_QMARK_,m);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var resolved \x3d sci.impl.resolve.resolve_dotted_access(ctx,sym,call_QMARK_,m);\nreturn resolved;\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.resolve.throw_error_with_location([\x22Could not resolve symbol: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27),sym);\n}\n}\n})());\n}));\n\n(sci.impl.resolve.resolve_symbol.cljs$lang$maxFixedArity \x3d 4);\n\n");
SHADOW_ENV.evalLoad("sci.impl.evaluator.js", true, "goog.provide(\x27sci.impl.evaluator\x27);\nsci.impl.evaluator.macros \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),\x22null\x22,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),\x22null\x22,new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),\x22null\x22,new cljs.core.Symbol(null,\x22syntax-quote\x22,\x22syntax-quote\x22,407366680,null),\x22null\x22,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),\x22null\x22], null), null);\nsci.impl.evaluator.eval_def \x3d (function sci$impl$evaluator$eval_def(ctx,bindings,var_name,init,m){\nvar init__$1 \x3d sci.impl.types.eval(init,ctx,bindings);\nvar m__$1 \x3d sci.impl.types.eval(m,ctx,bindings);\nvar cnn \x3d sci.impl.types.getName(new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m__$1));\nvar assoc_in_env \x3d (function (env){\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469)),cnn);\nvar prev \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(the_current_ns,var_name);\nvar prev__$1 \x3d (((!(sci.impl.utils.var_QMARK_(prev))))?(new sci.lang.Var(prev,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnn),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_name)),cljs.core.meta(prev),false,false,null)):prev);\nvar v \x3d (((sci.impl.utils.var_unbound \x3d\x3d\x3d init__$1))?(function (){var G__45046 \x3d prev__$1;\ncljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__45046,cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m__$1], 0));\n\nreturn G__45046;\n})():(function (){\nsci.impl.vars.bindRoot(prev__$1,init__$1);\n\ncljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(prev__$1,cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m__$1], 0));\n\nreturn prev__$1;\n})()\n);\nvar the_current_ns__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,var_name,v);\nreturn cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn], null),the_current_ns__$1);\n});\nvar env \x3d cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),assoc_in_env);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469)),cnn),var_name);\n});\nsci.impl.evaluator.eval_case \x3d (function sci$impl$evaluator$eval_case(var_args){\nvar G__45048 \x3d arguments.length;\nswitch (G__45048) {\ncase 4:\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,bindings,case_map,case_val){\nvar v \x3d sci.impl.types.eval(case_val,ctx,bindings);\nvar found \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(case_map,v,new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426));\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426),found)){\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v)].join(\x27\x27)));\n} else {\nreturn sci.impl.types.eval(found,ctx,bindings);\n}\n}));\n\n(sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,bindings,case_map,case_val,case_default){\nvar v \x3d sci.impl.types.eval(case_val,ctx,bindings);\nvar found \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(case_map,v,new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426));\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22not-found\x22,\x22sci.impl.evaluator/not-found\x22,1684798426),found)){\nreturn sci.impl.types.eval(case_default,ctx,bindings);\n} else {\nreturn sci.impl.types.eval(found,ctx,bindings);\n}\n}));\n\n(sci.impl.evaluator.eval_case.cljs$lang$maxFixedArity \x3d 5);\n\nsci.impl.evaluator.eval_try \x3d (function sci$impl$evaluator$eval_try(ctx,bindings,body,catches,finally$,sci_error){\ntry{var _STAR_in_try_STAR__orig_val__45057 \x3d sci.impl.utils._STAR_in_try_STAR_;\nvar _STAR_in_try_STAR__temp_val__45058 \x3d (function (){var or__5025__auto__ \x3d (cljs.core.truth_(sci_error)?new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803):null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.seq(catches);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.utils._STAR_in_try_STAR_;\n}\n}\n})();\n(sci.impl.utils._STAR_in_try_STAR_ \x3d _STAR_in_try_STAR__temp_val__45058);\n\ntry{return sci.impl.types.eval(body,ctx,bindings);\n}finally {(sci.impl.utils._STAR_in_try_STAR_ \x3d _STAR_in_try_STAR__orig_val__45057);\n}}catch (e45053){var e \x3d e45053;\nvar temp__5821__auto__ \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,c){\nvar clazz \x3d new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(c);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),clazz);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((clazz instanceof sci.impl.types.NodeR)){\nvar c__5058__auto__ \x3d sci.impl.types.eval(clazz,ctx,bindings);\nvar x__5059__auto__ \x3d e;\nreturn (x__5059__auto__ instanceof c__5058__auto__);\n} else {\nreturn (e instanceof clazz);\n}\n}\n})())){\nreturn cljs.core.reduced(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(\x22sci.impl.evaluator\x22,\x22try-result\x22,\x22sci.impl.evaluator/try-result\x22,-1394897780),(function (){\n(bindings[new cljs.core.Keyword(null,\x22ex-idx\x22,\x22ex-idx\x22,795118805).cljs$core$IFn$_invoke$arity$1(c)] \x3d e);\n\nreturn sci.impl.types.eval(new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(c),ctx,bindings);\n})()\n], null));\n} else {\nreturn null;\n}\n}),null,catches);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__45054 \x3d temp__5821__auto__;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45054,(0),null);\nvar r \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45054,(1),null);\nreturn r;\n} else {\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e,body);\n}\n}finally {sci.impl.types.eval(finally$,ctx,bindings);\n}});\nsci.impl.evaluator.allowed_instance_method_invocation \x3d (function sci$impl$evaluator$allowed_instance_method_invocation(ctx,bindings,instance_expr,method_str,args,arg_count){\nvar instance_expr_STAR_ \x3d sci.impl.types.eval(instance_expr,ctx,bindings);\nreturn sci.impl.interop.invoke_instance_method(ctx,bindings,instance_expr_STAR_,null,method_str,args,arg_count,null);\n});\nsci.impl.evaluator.allowed_instance_field_invocation \x3d (function sci$impl$evaluator$allowed_instance_field_invocation(ctx,bindings,instance_expr,method_str){\nvar instance_expr_STAR_ \x3d sci.impl.types.eval(instance_expr,ctx,bindings);\nreturn sci.impl.interop.invoke_instance_field(instance_expr_STAR_,null,method_str);\n});\nsci.impl.evaluator.none_sentinel \x3d (new Object());\nsci.impl.evaluator.get_from_type \x3d (function sci$impl$evaluator$get_from_type(instance,_method_str,method_str_unmunged,args){\nif((args.length \x3d\x3d\x3d (0))){\nif((instance instanceof sci.impl.records.SciRecord)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(instance,cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(method_str_unmunged),sci.impl.evaluator.none_sentinel);\n} else {\nif((instance instanceof sci.impl.deftype.SciType)){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(instance.sci$impl$types$IBox$getVal$arity$1(null),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(method_str_unmunged),sci.impl.evaluator.none_sentinel);\n} else {\nreturn sci.impl.evaluator.none_sentinel;\n}\n}\n} else {\nreturn sci.impl.evaluator.none_sentinel;\n}\n});\nsci.impl.evaluator.eval_instance_method_invocation \x3d (function sci$impl$evaluator$eval_instance_method_invocation(ctx,bindings,instance_expr,method_str,method_str_unmunged,field_access,args,allowed,arg_count,arg_types){\nvar instance_meta \x3d cljs.core.meta(instance_expr);\nvar tag_class \x3d new cljs.core.Keyword(null,\x22tag-class\x22,\x22tag-class\x22,714967874).cljs$core$IFn$_invoke$arity$1(instance_meta);\nvar instance_expr_STAR_ \x3d sci.impl.types.eval(instance_expr,ctx,bindings);\nvar v \x3d sci.impl.evaluator.get_from_type(instance_expr_STAR_,method_str,method_str_unmunged,args);\nif((!((sci.impl.evaluator.none_sentinel \x3d\x3d\x3d v)))){\nreturn v;\n} else {\nvar instance_class \x3d (function (){var or__5025__auto__ \x3d tag_class;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.type(instance_expr_STAR_);\n}\n})();\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar class__GT_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar allowed_QMARK_ \x3d (function (){var or__5025__auto__ \x3d allowed;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar instance_class_name \x3d instance_class.name;\nvar instance_class_symbol \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(instance_class_name);\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class__GT_opts,instance_class_symbol);\n}\n}\n})();\nvar target_class \x3d (cljs.core.truth_(allowed_QMARK_)?instance_class:(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019).cljs$core$IFn$_invoke$arity$1(env);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar f \x3d temp__5823__auto__;\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(instance_expr_STAR_) : f.call(null,instance_expr_STAR_));\n} else {\nreturn null;\n}\n})());\nif(cljs.core.truth_(allowed_QMARK_)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Method \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(method_str),\x22 on \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(instance_class),\x22 not allowed!\x22].join(\x27\x27),instance_expr);\n}\n\nif(cljs.core.truth_(field_access)){\nreturn sci.impl.interop.invoke_instance_field(instance_expr_STAR_,target_class,method_str);\n} else {\nreturn sci.impl.interop.invoke_instance_method(ctx,bindings,instance_expr_STAR_,target_class,method_str,args,arg_count,arg_types);\n}\n}\n});\nsci.impl.evaluator.eval_resolve \x3d (function sci$impl$evaluator$eval_resolve(var_args){\nvar G__45069 \x3d arguments.length;\nswitch (G__45069) {\ncase 3:\nreturn sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,bindings,sym){\nreturn sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$4(ctx,bindings,null,sym);\n}));\n\n(sci.impl.evaluator.eval_resolve.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,bindings,env,sym){\nif(((cljs.core.not(env)) || ((!(cljs.core.contains_QMARK_(env,sym)))))){\nvar sym__$1 \x3d sci.impl.types.eval(sym,ctx,bindings);\nvar res \x3d cljs.core.second(sci.impl.resolve.lookup.cljs$core$IFn$_invoke$arity$5(ctx,sym__$1,false,null,cljs.core.qualified_symbol_QMARK_(sym__$1)));\nif((res instanceof sci.impl.types.NodeR)){\nreturn null;\n} else {\nreturn res;\n}\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.evaluator.eval_resolve.cljs$lang$maxFixedArity \x3d 4);\n\ncljs.core.vreset_BANG_(sci.impl.utils.eval_resolve_state,sci.impl.evaluator.eval_resolve);\nsci.impl.evaluator.eval_import \x3d (function sci$impl$evaluator$eval_import(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___45336 \x3d arguments.length;\nvar i__5750__auto___45337 \x3d (0);\nwhile(true){\nif((i__5750__auto___45337 \x3c len__5749__auto___45336)){\nargs__5755__auto__.push((arguments[i__5750__auto___45337]));\n\nvar G__45338 \x3d (i__5750__auto___45337 + (1));\ni__5750__auto___45337 \x3d G__45338;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.evaluator.eval_import.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.evaluator.eval_import.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,import_symbols_or_lists){\nvar specs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45070_SHARP_){\nif(((cljs.core.seq_QMARK_(p1__45070_SHARP_)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),cljs.core.first(p1__45070_SHARP_))))){\nreturn cljs.core.second(p1__45070_SHARP_);\n} else {\nreturn p1__45070_SHARP_;\n}\n}),import_symbols_or_lists);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,spec){\nvar vec__45076 \x3d (((spec instanceof cljs.core.Symbol))?(function (){var s \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(spec);\nvar last_dot \x3d clojure.string.last_index_of.cljs$core$IFn$_invoke$arity$2(s,\x22.\x22);\nvar package_PLUS_class_name \x3d (cljs.core.truth_(last_dot)?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(0),last_dot)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(s,(last_dot + (1)),((s).length)))], null)], null):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [spec], null)], null));\nreturn package_PLUS_class_name;\n})():(function (){var p \x3d cljs.core.first(spec);\nvar cs \x3d cljs.core.rest(spec);\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p,cs], null);\n})());\nvar package$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45076,(0),null);\nvar classes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45076,(1),null);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (___$1,class$){\nvar fq_class_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(package$)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(package$),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(class$)].join(\x27\x27):class$));\nvar temp__5821__auto__ \x3d sci.impl.interop.resolve_class(ctx,fq_class_name);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar clazz \x3d temp__5821__auto__;\nvar cnn \x3d sci.impl.utils.current_ns_name();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),class$], null),fq_class_name);\n\nreturn clazz;\n} else {\nvar temp__5821__auto____$1 \x3d (function (){var rec_ns \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.demunge(cljs.core.str.cljs$core$IFn$_invoke$arity$1(package$)));\nvar rec_var \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),rec_ns,class$], null));\nreturn rec_var;\n})();\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar rec_var \x3d temp__5821__auto____$1;\nvar cnn \x3d sci.impl.utils.current_ns_name();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),class$], null),rec_var);\n\nreturn cljs.core.deref(rec_var);\n} else {\nthrow (new Error([\x22Unable to resolve classname: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fq_class_name)].join(\x27\x27)));\n}\n}\n}),null,classes);\n}),null,specs);\n}));\n\n(sci.impl.evaluator.eval_import.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.evaluator.eval_import.cljs$lang$applyTo \x3d (function (seq45071){\nvar G__45072 \x3d cljs.core.first(seq45071);\nvar seq45071__$1 \x3d cljs.core.next(seq45071);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45072,seq45071__$1);\n}));\n\nsci.impl.evaluator.fn_call \x3d (function sci$impl$evaluator$fn_call(ctx,bindings,f,args){\nvar G__45283 \x3d cljs.core.count(args);\nswitch (G__45283) {\ncase (0):\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n\nbreak;\ncase (1):\nvar arg45092 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg45092) : f.call(null,arg45092));\n\nbreak;\ncase (2):\nvar arg45093 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45094 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg45093,arg45094) : f.call(null,arg45093,arg45094));\n\nbreak;\ncase (3):\nvar arg45095 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45096 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45097 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg45095,arg45096,arg45097) : f.call(null,arg45095,arg45096,arg45097));\n\nbreak;\ncase (4):\nvar arg45098 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45099 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45100 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45101 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg45098,arg45099,arg45100,arg45101) : f.call(null,arg45098,arg45099,arg45100,arg45101));\n\nbreak;\ncase (5):\nvar arg45102 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45103 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45104 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45105 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45106 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg45102,arg45103,arg45104,arg45105,arg45106) : f.call(null,arg45102,arg45103,arg45104,arg45105,arg45106));\n\nbreak;\ncase (6):\nvar arg45107 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45108 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45109 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45110 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45111 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45112 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg45107,arg45108,arg45109,arg45110,arg45111,arg45112) : f.call(null,arg45107,arg45108,arg45109,arg45110,arg45111,arg45112));\n\nbreak;\ncase (7):\nvar arg45113 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45114 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45115 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45116 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45117 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45118 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45119 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(arg45113,arg45114,arg45115,arg45116,arg45117,arg45118,arg45119) : f.call(null,arg45113,arg45114,arg45115,arg45116,arg45117,arg45118,arg45119));\n\nbreak;\ncase (8):\nvar arg45120 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45121 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45122 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45123 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45124 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45125 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45126 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45127 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(arg45120,arg45121,arg45122,arg45123,arg45124,arg45125,arg45126,arg45127) : f.call(null,arg45120,arg45121,arg45122,arg45123,arg45124,arg45125,arg45126,arg45127));\n\nbreak;\ncase (9):\nvar arg45128 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45129 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45130 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45131 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45132 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45133 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45134 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45135 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45136 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(arg45128,arg45129,arg45130,arg45131,arg45132,arg45133,arg45134,arg45135,arg45136) : f.call(null,arg45128,arg45129,arg45130,arg45131,arg45132,arg45133,arg45134,arg45135,arg45136));\n\nbreak;\ncase (10):\nvar arg45137 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45138 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45139 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45140 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45141 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45142 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45143 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45144 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45145 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45146 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(arg45137,arg45138,arg45139,arg45140,arg45141,arg45142,arg45143,arg45144,arg45145,arg45146) : f.call(null,arg45137,arg45138,arg45139,arg45140,arg45141,arg45142,arg45143,arg45144,arg45145,arg45146));\n\nbreak;\ncase (11):\nvar arg45147 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45148 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45149 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45150 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45151 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45152 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45153 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45154 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45155 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45156 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45157 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(arg45147,arg45148,arg45149,arg45150,arg45151,arg45152,arg45153,arg45154,arg45155,arg45156,arg45157) : f.call(null,arg45147,arg45148,arg45149,arg45150,arg45151,arg45152,arg45153,arg45154,arg45155,arg45156,arg45157));\n\nbreak;\ncase (12):\nvar arg45158 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45159 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45160 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45161 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45162 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45163 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45164 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45165 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45166 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45167 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45168 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45169 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(arg45158,arg45159,arg45160,arg45161,arg45162,arg45163,arg45164,arg45165,arg45166,arg45167,arg45168,arg45169) : f.call(null,arg45158,arg45159,arg45160,arg45161,arg45162,arg45163,arg45164,arg45165,arg45166,arg45167,arg45168,arg45169));\n\nbreak;\ncase (13):\nvar arg45170 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45171 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45172 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45173 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45174 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45175 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45176 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45177 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45178 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45179 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45180 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45181 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45182 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(arg45170,arg45171,arg45172,arg45173,arg45174,arg45175,arg45176,arg45177,arg45178,arg45179,arg45180,arg45181,arg45182) : f.call(null,arg45170,arg45171,arg45172,arg45173,arg45174,arg45175,arg45176,arg45177,arg45178,arg45179,arg45180,arg45181,arg45182));\n\nbreak;\ncase (14):\nvar arg45183 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45184 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45185 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45186 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45187 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45188 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45189 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45190 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45191 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45192 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45193 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45194 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45195 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45196 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(arg45183,arg45184,arg45185,arg45186,arg45187,arg45188,arg45189,arg45190,arg45191,arg45192,arg45193,arg45194,arg45195,arg45196) : f.call(null,arg45183,arg45184,arg45185,arg45186,arg45187,arg45188,arg45189,arg45190,arg45191,arg45192,arg45193,arg45194,arg45195,arg45196));\n\nbreak;\ncase (15):\nvar arg45197 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45198 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45199 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45200 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45201 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45202 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45203 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45204 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45205 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45206 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45207 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45208 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45209 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45210 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45211 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(arg45197,arg45198,arg45199,arg45200,arg45201,arg45202,arg45203,arg45204,arg45205,arg45206,arg45207,arg45208,arg45209,arg45210,arg45211) : f.call(null,arg45197,arg45198,arg45199,arg45200,arg45201,arg45202,arg45203,arg45204,arg45205,arg45206,arg45207,arg45208,arg45209,arg45210,arg45211));\n\nbreak;\ncase (16):\nvar arg45212 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45213 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45214 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45215 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45216 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45217 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45218 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45219 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45220 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45221 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45222 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45223 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45224 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45225 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45226 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45227 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(arg45212,arg45213,arg45214,arg45215,arg45216,arg45217,arg45218,arg45219,arg45220,arg45221,arg45222,arg45223,arg45224,arg45225,arg45226,arg45227) : f.call(null,arg45212,arg45213,arg45214,arg45215,arg45216,arg45217,arg45218,arg45219,arg45220,arg45221,arg45222,arg45223,arg45224,arg45225,arg45226,arg45227));\n\nbreak;\ncase (17):\nvar arg45228 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45229 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45230 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45231 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45232 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45233 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45234 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45235 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45236 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45237 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45238 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45239 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45240 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45241 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45242 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45243 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nvar arg45244 \x3d sci.impl.types.eval(cljs.core.first(args__$16),ctx,bindings);\nvar args__$17 \x3d cljs.core.rest(args__$16);\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(arg45228,arg45229,arg45230,arg45231,arg45232,arg45233,arg45234,arg45235,arg45236,arg45237,arg45238,arg45239,arg45240,arg45241,arg45242,arg45243,arg45244) : f.call(null,arg45228,arg45229,arg45230,arg45231,arg45232,arg45233,arg45234,arg45235,arg45236,arg45237,arg45238,arg45239,arg45240,arg45241,arg45242,arg45243,arg45244));\n\nbreak;\ncase (18):\nvar arg45245 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45246 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45247 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45248 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45249 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45250 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45251 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45252 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45253 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45254 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45255 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45256 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45257 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45258 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45259 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45260 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nvar arg45261 \x3d sci.impl.types.eval(cljs.core.first(args__$16),ctx,bindings);\nvar args__$17 \x3d cljs.core.rest(args__$16);\nvar arg45262 \x3d sci.impl.types.eval(cljs.core.first(args__$17),ctx,bindings);\nvar args__$18 \x3d cljs.core.rest(args__$17);\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(arg45245,arg45246,arg45247,arg45248,arg45249,arg45250,arg45251,arg45252,arg45253,arg45254,arg45255,arg45256,arg45257,arg45258,arg45259,arg45260,arg45261,arg45262) : f.call(null,arg45245,arg45246,arg45247,arg45248,arg45249,arg45250,arg45251,arg45252,arg45253,arg45254,arg45255,arg45256,arg45257,arg45258,arg45259,arg45260,arg45261,arg45262));\n\nbreak;\ncase (19):\nvar arg45263 \x3d sci.impl.types.eval(cljs.core.first(args),ctx,bindings);\nvar args__$1 \x3d cljs.core.rest(args);\nvar arg45264 \x3d sci.impl.types.eval(cljs.core.first(args__$1),ctx,bindings);\nvar args__$2 \x3d cljs.core.rest(args__$1);\nvar arg45265 \x3d sci.impl.types.eval(cljs.core.first(args__$2),ctx,bindings);\nvar args__$3 \x3d cljs.core.rest(args__$2);\nvar arg45266 \x3d sci.impl.types.eval(cljs.core.first(args__$3),ctx,bindings);\nvar args__$4 \x3d cljs.core.rest(args__$3);\nvar arg45267 \x3d sci.impl.types.eval(cljs.core.first(args__$4),ctx,bindings);\nvar args__$5 \x3d cljs.core.rest(args__$4);\nvar arg45268 \x3d sci.impl.types.eval(cljs.core.first(args__$5),ctx,bindings);\nvar args__$6 \x3d cljs.core.rest(args__$5);\nvar arg45269 \x3d sci.impl.types.eval(cljs.core.first(args__$6),ctx,bindings);\nvar args__$7 \x3d cljs.core.rest(args__$6);\nvar arg45270 \x3d sci.impl.types.eval(cljs.core.first(args__$7),ctx,bindings);\nvar args__$8 \x3d cljs.core.rest(args__$7);\nvar arg45271 \x3d sci.impl.types.eval(cljs.core.first(args__$8),ctx,bindings);\nvar args__$9 \x3d cljs.core.rest(args__$8);\nvar arg45272 \x3d sci.impl.types.eval(cljs.core.first(args__$9),ctx,bindings);\nvar args__$10 \x3d cljs.core.rest(args__$9);\nvar arg45273 \x3d sci.impl.types.eval(cljs.core.first(args__$10),ctx,bindings);\nvar args__$11 \x3d cljs.core.rest(args__$10);\nvar arg45274 \x3d sci.impl.types.eval(cljs.core.first(args__$11),ctx,bindings);\nvar args__$12 \x3d cljs.core.rest(args__$11);\nvar arg45275 \x3d sci.impl.types.eval(cljs.core.first(args__$12),ctx,bindings);\nvar args__$13 \x3d cljs.core.rest(args__$12);\nvar arg45276 \x3d sci.impl.types.eval(cljs.core.first(args__$13),ctx,bindings);\nvar args__$14 \x3d cljs.core.rest(args__$13);\nvar arg45277 \x3d sci.impl.types.eval(cljs.core.first(args__$14),ctx,bindings);\nvar args__$15 \x3d cljs.core.rest(args__$14);\nvar arg45278 \x3d sci.impl.types.eval(cljs.core.first(args__$15),ctx,bindings);\nvar args__$16 \x3d cljs.core.rest(args__$15);\nvar arg45279 \x3d sci.impl.types.eval(cljs.core.first(args__$16),ctx,bindings);\nvar args__$17 \x3d cljs.core.rest(args__$16);\nvar arg45280 \x3d sci.impl.types.eval(cljs.core.first(args__$17),ctx,bindings);\nvar args__$18 \x3d cljs.core.rest(args__$17);\nvar arg45281 \x3d sci.impl.types.eval(cljs.core.first(args__$18),ctx,bindings);\nvar args__$19 \x3d cljs.core.rest(args__$18);\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(arg45263,arg45264,arg45265,arg45266,arg45267,arg45268,arg45269,arg45270,arg45271,arg45272,arg45273,arg45274,arg45275,arg45276,arg45277,arg45278,arg45279,arg45280,arg45281) : f.call(null,arg45263,arg45264,arg45265,arg45266,arg45267,arg45268,arg45269,arg45270,arg45271,arg45272,arg45273,arg45274,arg45275,arg45276,arg45277,arg45278,arg45279,arg45280,arg45281));\n\nbreak;\ndefault:\nvar args__$1 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__44799_SHARP_){\nreturn sci.impl.types.eval(p1__44799_SHARP_,ctx,bindings);\n}),args);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args__$1);\n\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.fns.js", true, "goog.provide(\x27sci.impl.fns\x27);\nsci.impl.fns.fun \x3d (function sci$impl$fns$fun(var_args){\nvar G__42634 \x3d arguments.length;\nswitch (G__42634) {\ncase 5:\nreturn sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ncase 11:\nreturn sci.impl.fns.fun.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)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5 \x3d (function (ctx,enclosed_array,fn_body,fn_name,macro_QMARK_){\nreturn sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,fn_body,fn_name,macro_QMARK_,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body),new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058).cljs$core$IFn$_invoke$arity$1(fn_body),sci.impl.utils.current_ns_name(),new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228).cljs$core$IFn$_invoke$arity$1(fn_body));\n}));\n\n(sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11 \x3d (function (ctx,enclosed_array,fn_body,fn_name,macro_QMARK_,fixed_arity,enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx){\nvar f \x3d (cljs.core.truth_(vararg_idx)?(function (){var G__42639 \x3d fixed_arity;\nswitch (G__42639) {\ncase (0):\nvar recur__41966__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_0__delegate \x3d function (G__42640){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[vararg_idx] \x3d G__42640);\n\nwhile(true){\nvar ret__41967__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41966__auto__ \x3d\x3d\x3d ret__41967__auto__)){\ncontinue;\n} else {\nreturn ret__41967__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_0 \x3d function (var_args){\nvar G__42640 \x3d null;\nif (arguments.length \x3e 0) {\nvar G__43360__i \x3d 0, G__43360__a \x3d new Array(arguments.length - 0);\nwhile (G__43360__i \x3c G__43360__a.length) {G__43360__a[G__43360__i] \x3d arguments[G__43360__i + 0]; ++G__43360__i;}\n G__42640 \x3d new cljs.core.IndexedSeq(G__43360__a,0,null);\n} \nreturn sci$impl$fns$arity_0__delegate.call(this,G__42640);};\nsci$impl$fns$arity_0.cljs$lang$maxFixedArity \x3d 0;\nsci$impl$fns$arity_0.cljs$lang$applyTo \x3d (function (arglist__43361){\nvar G__42640 \x3d cljs.core.seq(arglist__43361);\nreturn sci$impl$fns$arity_0__delegate(G__42640);\n});\nsci$impl$fns$arity_0.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_0__delegate;\nreturn sci$impl$fns$arity_0;\n})()\n;\n\nbreak;\ncase (1):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_1__delegate \x3d function (G__42641,G__42642){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42641);\n\n(invoc_array[vararg_idx] \x3d G__42642);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_1 \x3d function (G__42641,var_args){\nvar G__42642 \x3d null;\nif (arguments.length \x3e 1) {\nvar G__43362__i \x3d 0, G__43362__a \x3d new Array(arguments.length - 1);\nwhile (G__43362__i \x3c G__43362__a.length) {G__43362__a[G__43362__i] \x3d arguments[G__43362__i + 1]; ++G__43362__i;}\n G__42642 \x3d new cljs.core.IndexedSeq(G__43362__a,0,null);\n} \nreturn sci$impl$fns$arity_1__delegate.call(this,G__42641,G__42642);};\nsci$impl$fns$arity_1.cljs$lang$maxFixedArity \x3d 1;\nsci$impl$fns$arity_1.cljs$lang$applyTo \x3d (function (arglist__43363){\nvar G__42641 \x3d cljs.core.first(arglist__43363);\nvar G__42642 \x3d cljs.core.rest(arglist__43363);\nreturn sci$impl$fns$arity_1__delegate(G__42641,G__42642);\n});\nsci$impl$fns$arity_1.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_1__delegate;\nreturn sci$impl$fns$arity_1;\n})()\n;\n\nbreak;\ncase (2):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_2__delegate \x3d function (G__42647,G__42648,G__42649){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42647);\n\n(invoc_array[(1)] \x3d G__42648);\n\n(invoc_array[vararg_idx] \x3d G__42649);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_2 \x3d function (G__42647,G__42648,var_args){\nvar G__42649 \x3d null;\nif (arguments.length \x3e 2) {\nvar G__43367__i \x3d 0, G__43367__a \x3d new Array(arguments.length - 2);\nwhile (G__43367__i \x3c G__43367__a.length) {G__43367__a[G__43367__i] \x3d arguments[G__43367__i + 2]; ++G__43367__i;}\n G__42649 \x3d new cljs.core.IndexedSeq(G__43367__a,0,null);\n} \nreturn sci$impl$fns$arity_2__delegate.call(this,G__42647,G__42648,G__42649);};\nsci$impl$fns$arity_2.cljs$lang$maxFixedArity \x3d 2;\nsci$impl$fns$arity_2.cljs$lang$applyTo \x3d (function (arglist__43368){\nvar G__42647 \x3d cljs.core.first(arglist__43368);\narglist__43368 \x3d cljs.core.next(arglist__43368);\nvar G__42648 \x3d cljs.core.first(arglist__43368);\nvar G__42649 \x3d cljs.core.rest(arglist__43368);\nreturn sci$impl$fns$arity_2__delegate(G__42647,G__42648,G__42649);\n});\nsci$impl$fns$arity_2.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_2__delegate;\nreturn sci$impl$fns$arity_2;\n})()\n;\n\nbreak;\ncase (3):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_3__delegate \x3d function (G__42650,G__42651,G__42652,G__42653){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42650);\n\n(invoc_array[(1)] \x3d G__42651);\n\n(invoc_array[(2)] \x3d G__42652);\n\n(invoc_array[vararg_idx] \x3d G__42653);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_3 \x3d function (G__42650,G__42651,G__42652,var_args){\nvar G__42653 \x3d null;\nif (arguments.length \x3e 3) {\nvar G__43369__i \x3d 0, G__43369__a \x3d new Array(arguments.length - 3);\nwhile (G__43369__i \x3c G__43369__a.length) {G__43369__a[G__43369__i] \x3d arguments[G__43369__i + 3]; ++G__43369__i;}\n G__42653 \x3d new cljs.core.IndexedSeq(G__43369__a,0,null);\n} \nreturn sci$impl$fns$arity_3__delegate.call(this,G__42650,G__42651,G__42652,G__42653);};\nsci$impl$fns$arity_3.cljs$lang$maxFixedArity \x3d 3;\nsci$impl$fns$arity_3.cljs$lang$applyTo \x3d (function (arglist__43370){\nvar G__42650 \x3d cljs.core.first(arglist__43370);\narglist__43370 \x3d cljs.core.next(arglist__43370);\nvar G__42651 \x3d cljs.core.first(arglist__43370);\narglist__43370 \x3d cljs.core.next(arglist__43370);\nvar G__42652 \x3d cljs.core.first(arglist__43370);\nvar G__42653 \x3d cljs.core.rest(arglist__43370);\nreturn sci$impl$fns$arity_3__delegate(G__42650,G__42651,G__42652,G__42653);\n});\nsci$impl$fns$arity_3.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_3__delegate;\nreturn sci$impl$fns$arity_3;\n})()\n;\n\nbreak;\ncase (4):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_4__delegate \x3d function (G__42654,G__42655,G__42656,G__42657,G__42658){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42654);\n\n(invoc_array[(1)] \x3d G__42655);\n\n(invoc_array[(2)] \x3d G__42656);\n\n(invoc_array[(3)] \x3d G__42657);\n\n(invoc_array[vararg_idx] \x3d G__42658);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_4 \x3d function (G__42654,G__42655,G__42656,G__42657,var_args){\nvar G__42658 \x3d null;\nif (arguments.length \x3e 4) {\nvar G__43372__i \x3d 0, G__43372__a \x3d new Array(arguments.length - 4);\nwhile (G__43372__i \x3c G__43372__a.length) {G__43372__a[G__43372__i] \x3d arguments[G__43372__i + 4]; ++G__43372__i;}\n G__42658 \x3d new cljs.core.IndexedSeq(G__43372__a,0,null);\n} \nreturn sci$impl$fns$arity_4__delegate.call(this,G__42654,G__42655,G__42656,G__42657,G__42658);};\nsci$impl$fns$arity_4.cljs$lang$maxFixedArity \x3d 4;\nsci$impl$fns$arity_4.cljs$lang$applyTo \x3d (function (arglist__43373){\nvar G__42654 \x3d cljs.core.first(arglist__43373);\narglist__43373 \x3d cljs.core.next(arglist__43373);\nvar G__42655 \x3d cljs.core.first(arglist__43373);\narglist__43373 \x3d cljs.core.next(arglist__43373);\nvar G__42656 \x3d cljs.core.first(arglist__43373);\narglist__43373 \x3d cljs.core.next(arglist__43373);\nvar G__42657 \x3d cljs.core.first(arglist__43373);\nvar G__42658 \x3d cljs.core.rest(arglist__43373);\nreturn sci$impl$fns$arity_4__delegate(G__42654,G__42655,G__42656,G__42657,G__42658);\n});\nsci$impl$fns$arity_4.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_4__delegate;\nreturn sci$impl$fns$arity_4;\n})()\n;\n\nbreak;\ncase (5):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_5__delegate \x3d function (G__42659,G__42660,G__42661,G__42662,G__42663,G__42664){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42659);\n\n(invoc_array[(1)] \x3d G__42660);\n\n(invoc_array[(2)] \x3d G__42661);\n\n(invoc_array[(3)] \x3d G__42662);\n\n(invoc_array[(4)] \x3d G__42663);\n\n(invoc_array[vararg_idx] \x3d G__42664);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_5 \x3d function (G__42659,G__42660,G__42661,G__42662,G__42663,var_args){\nvar G__42664 \x3d null;\nif (arguments.length \x3e 5) {\nvar G__43382__i \x3d 0, G__43382__a \x3d new Array(arguments.length - 5);\nwhile (G__43382__i \x3c G__43382__a.length) {G__43382__a[G__43382__i] \x3d arguments[G__43382__i + 5]; ++G__43382__i;}\n G__42664 \x3d new cljs.core.IndexedSeq(G__43382__a,0,null);\n} \nreturn sci$impl$fns$arity_5__delegate.call(this,G__42659,G__42660,G__42661,G__42662,G__42663,G__42664);};\nsci$impl$fns$arity_5.cljs$lang$maxFixedArity \x3d 5;\nsci$impl$fns$arity_5.cljs$lang$applyTo \x3d (function (arglist__43383){\nvar G__42659 \x3d cljs.core.first(arglist__43383);\narglist__43383 \x3d cljs.core.next(arglist__43383);\nvar G__42660 \x3d cljs.core.first(arglist__43383);\narglist__43383 \x3d cljs.core.next(arglist__43383);\nvar G__42661 \x3d cljs.core.first(arglist__43383);\narglist__43383 \x3d cljs.core.next(arglist__43383);\nvar G__42662 \x3d cljs.core.first(arglist__43383);\narglist__43383 \x3d cljs.core.next(arglist__43383);\nvar G__42663 \x3d cljs.core.first(arglist__43383);\nvar G__42664 \x3d cljs.core.rest(arglist__43383);\nreturn sci$impl$fns$arity_5__delegate(G__42659,G__42660,G__42661,G__42662,G__42663,G__42664);\n});\nsci$impl$fns$arity_5.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_5__delegate;\nreturn sci$impl$fns$arity_5;\n})()\n;\n\nbreak;\ncase (6):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_6__delegate \x3d function (G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42666);\n\n(invoc_array[(1)] \x3d G__42667);\n\n(invoc_array[(2)] \x3d G__42668);\n\n(invoc_array[(3)] \x3d G__42669);\n\n(invoc_array[(4)] \x3d G__42670);\n\n(invoc_array[(5)] \x3d G__42671);\n\n(invoc_array[vararg_idx] \x3d G__42672);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_6 \x3d function (G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,var_args){\nvar G__42672 \x3d null;\nif (arguments.length \x3e 6) {\nvar G__43384__i \x3d 0, G__43384__a \x3d new Array(arguments.length - 6);\nwhile (G__43384__i \x3c G__43384__a.length) {G__43384__a[G__43384__i] \x3d arguments[G__43384__i + 6]; ++G__43384__i;}\n G__42672 \x3d new cljs.core.IndexedSeq(G__43384__a,0,null);\n} \nreturn sci$impl$fns$arity_6__delegate.call(this,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672);};\nsci$impl$fns$arity_6.cljs$lang$maxFixedArity \x3d 6;\nsci$impl$fns$arity_6.cljs$lang$applyTo \x3d (function (arglist__43385){\nvar G__42666 \x3d cljs.core.first(arglist__43385);\narglist__43385 \x3d cljs.core.next(arglist__43385);\nvar G__42667 \x3d cljs.core.first(arglist__43385);\narglist__43385 \x3d cljs.core.next(arglist__43385);\nvar G__42668 \x3d cljs.core.first(arglist__43385);\narglist__43385 \x3d cljs.core.next(arglist__43385);\nvar G__42669 \x3d cljs.core.first(arglist__43385);\narglist__43385 \x3d cljs.core.next(arglist__43385);\nvar G__42670 \x3d cljs.core.first(arglist__43385);\narglist__43385 \x3d cljs.core.next(arglist__43385);\nvar G__42671 \x3d cljs.core.first(arglist__43385);\nvar G__42672 \x3d cljs.core.rest(arglist__43385);\nreturn sci$impl$fns$arity_6__delegate(G__42666,G__42667,G__42668,G__42669,G__42670,G__42671,G__42672);\n});\nsci$impl$fns$arity_6.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_6__delegate;\nreturn sci$impl$fns$arity_6;\n})()\n;\n\nbreak;\ncase (7):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_7__delegate \x3d function (G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681,G__42682){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42675);\n\n(invoc_array[(1)] \x3d G__42676);\n\n(invoc_array[(2)] \x3d G__42677);\n\n(invoc_array[(3)] \x3d G__42678);\n\n(invoc_array[(4)] \x3d G__42679);\n\n(invoc_array[(5)] \x3d G__42680);\n\n(invoc_array[(6)] \x3d G__42681);\n\n(invoc_array[vararg_idx] \x3d G__42682);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_7 \x3d function (G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681,var_args){\nvar G__42682 \x3d null;\nif (arguments.length \x3e 7) {\nvar G__43389__i \x3d 0, G__43389__a \x3d new Array(arguments.length - 7);\nwhile (G__43389__i \x3c G__43389__a.length) {G__43389__a[G__43389__i] \x3d arguments[G__43389__i + 7]; ++G__43389__i;}\n G__42682 \x3d new cljs.core.IndexedSeq(G__43389__a,0,null);\n} \nreturn sci$impl$fns$arity_7__delegate.call(this,G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681,G__42682);};\nsci$impl$fns$arity_7.cljs$lang$maxFixedArity \x3d 7;\nsci$impl$fns$arity_7.cljs$lang$applyTo \x3d (function (arglist__43390){\nvar G__42675 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42676 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42677 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42678 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42679 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42680 \x3d cljs.core.first(arglist__43390);\narglist__43390 \x3d cljs.core.next(arglist__43390);\nvar G__42681 \x3d cljs.core.first(arglist__43390);\nvar G__42682 \x3d cljs.core.rest(arglist__43390);\nreturn sci$impl$fns$arity_7__delegate(G__42675,G__42676,G__42677,G__42678,G__42679,G__42680,G__42681,G__42682);\n});\nsci$impl$fns$arity_7.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_7__delegate;\nreturn sci$impl$fns$arity_7;\n})()\n;\n\nbreak;\ncase (8):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_8__delegate \x3d function (G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691,G__42692,G__42693){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42685);\n\n(invoc_array[(1)] \x3d G__42686);\n\n(invoc_array[(2)] \x3d G__42687);\n\n(invoc_array[(3)] \x3d G__42688);\n\n(invoc_array[(4)] \x3d G__42689);\n\n(invoc_array[(5)] \x3d G__42690);\n\n(invoc_array[(6)] \x3d G__42691);\n\n(invoc_array[(7)] \x3d G__42692);\n\n(invoc_array[vararg_idx] \x3d G__42693);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_8 \x3d function (G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691,G__42692,var_args){\nvar G__42693 \x3d null;\nif (arguments.length \x3e 8) {\nvar G__43391__i \x3d 0, G__43391__a \x3d new Array(arguments.length - 8);\nwhile (G__43391__i \x3c G__43391__a.length) {G__43391__a[G__43391__i] \x3d arguments[G__43391__i + 8]; ++G__43391__i;}\n G__42693 \x3d new cljs.core.IndexedSeq(G__43391__a,0,null);\n} \nreturn sci$impl$fns$arity_8__delegate.call(this,G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691,G__42692,G__42693);};\nsci$impl$fns$arity_8.cljs$lang$maxFixedArity \x3d 8;\nsci$impl$fns$arity_8.cljs$lang$applyTo \x3d (function (arglist__43392){\nvar G__42685 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42686 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42687 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42688 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42689 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42690 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42691 \x3d cljs.core.first(arglist__43392);\narglist__43392 \x3d cljs.core.next(arglist__43392);\nvar G__42692 \x3d cljs.core.first(arglist__43392);\nvar G__42693 \x3d cljs.core.rest(arglist__43392);\nreturn sci$impl$fns$arity_8__delegate(G__42685,G__42686,G__42687,G__42688,G__42689,G__42690,G__42691,G__42692,G__42693);\n});\nsci$impl$fns$arity_8.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_8__delegate;\nreturn sci$impl$fns$arity_8;\n})()\n;\n\nbreak;\ncase (9):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_9__delegate \x3d function (G__42695,G__42696,G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42695);\n\n(invoc_array[(1)] \x3d G__42696);\n\n(invoc_array[(2)] \x3d G__42697);\n\n(invoc_array[(3)] \x3d G__42698);\n\n(invoc_array[(4)] \x3d G__42699);\n\n(invoc_array[(5)] \x3d G__42700);\n\n(invoc_array[(6)] \x3d G__42701);\n\n(invoc_array[(7)] \x3d G__42702);\n\n(invoc_array[(8)] \x3d G__42703);\n\n(invoc_array[vararg_idx] \x3d G__42704);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_9 \x3d function (G__42695,G__42696,G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,var_args){\nvar G__42704 \x3d null;\nif (arguments.length \x3e 9) {\nvar G__43393__i \x3d 0, G__43393__a \x3d new Array(arguments.length - 9);\nwhile (G__43393__i \x3c G__43393__a.length) {G__43393__a[G__43393__i] \x3d arguments[G__43393__i + 9]; ++G__43393__i;}\n G__42704 \x3d new cljs.core.IndexedSeq(G__43393__a,0,null);\n} \nreturn sci$impl$fns$arity_9__delegate.call(this,G__42695,G__42696,G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704);};\nsci$impl$fns$arity_9.cljs$lang$maxFixedArity \x3d 9;\nsci$impl$fns$arity_9.cljs$lang$applyTo \x3d (function (arglist__43394){\nvar G__42695 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42696 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42697 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42698 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42699 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42700 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42701 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42702 \x3d cljs.core.first(arglist__43394);\narglist__43394 \x3d cljs.core.next(arglist__43394);\nvar G__42703 \x3d cljs.core.first(arglist__43394);\nvar G__42704 \x3d cljs.core.rest(arglist__43394);\nreturn sci$impl$fns$arity_9__delegate(G__42695,G__42696,G__42697,G__42698,G__42699,G__42700,G__42701,G__42702,G__42703,G__42704);\n});\nsci$impl$fns$arity_9.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_9__delegate;\nreturn sci$impl$fns$arity_9;\n})()\n;\n\nbreak;\ncase (10):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_10__delegate \x3d function (G__42709,G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42709);\n\n(invoc_array[(1)] \x3d G__42710);\n\n(invoc_array[(2)] \x3d G__42711);\n\n(invoc_array[(3)] \x3d G__42712);\n\n(invoc_array[(4)] \x3d G__42713);\n\n(invoc_array[(5)] \x3d G__42714);\n\n(invoc_array[(6)] \x3d G__42715);\n\n(invoc_array[(7)] \x3d G__42716);\n\n(invoc_array[(8)] \x3d G__42717);\n\n(invoc_array[(9)] \x3d G__42718);\n\n(invoc_array[vararg_idx] \x3d G__42719);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_10 \x3d function (G__42709,G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,var_args){\nvar G__42719 \x3d null;\nif (arguments.length \x3e 10) {\nvar G__43398__i \x3d 0, G__43398__a \x3d new Array(arguments.length - 10);\nwhile (G__43398__i \x3c G__43398__a.length) {G__43398__a[G__43398__i] \x3d arguments[G__43398__i + 10]; ++G__43398__i;}\n G__42719 \x3d new cljs.core.IndexedSeq(G__43398__a,0,null);\n} \nreturn sci$impl$fns$arity_10__delegate.call(this,G__42709,G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719);};\nsci$impl$fns$arity_10.cljs$lang$maxFixedArity \x3d 10;\nsci$impl$fns$arity_10.cljs$lang$applyTo \x3d (function (arglist__43399){\nvar G__42709 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42710 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42711 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42712 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42713 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42714 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42715 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42716 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42717 \x3d cljs.core.first(arglist__43399);\narglist__43399 \x3d cljs.core.next(arglist__43399);\nvar G__42718 \x3d cljs.core.first(arglist__43399);\nvar G__42719 \x3d cljs.core.rest(arglist__43399);\nreturn sci$impl$fns$arity_10__delegate(G__42709,G__42710,G__42711,G__42712,G__42713,G__42714,G__42715,G__42716,G__42717,G__42718,G__42719);\n});\nsci$impl$fns$arity_10.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_10__delegate;\nreturn sci$impl$fns$arity_10;\n})()\n;\n\nbreak;\ncase (11):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_11__delegate \x3d function (G__42720,G__42721,G__42722,G__42723,G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42720);\n\n(invoc_array[(1)] \x3d G__42721);\n\n(invoc_array[(2)] \x3d G__42722);\n\n(invoc_array[(3)] \x3d G__42723);\n\n(invoc_array[(4)] \x3d G__42724);\n\n(invoc_array[(5)] \x3d G__42725);\n\n(invoc_array[(6)] \x3d G__42726);\n\n(invoc_array[(7)] \x3d G__42727);\n\n(invoc_array[(8)] \x3d G__42728);\n\n(invoc_array[(9)] \x3d G__42729);\n\n(invoc_array[(10)] \x3d G__42730);\n\n(invoc_array[vararg_idx] \x3d G__42731);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_11 \x3d function (G__42720,G__42721,G__42722,G__42723,G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,var_args){\nvar G__42731 \x3d null;\nif (arguments.length \x3e 11) {\nvar G__43407__i \x3d 0, G__43407__a \x3d new Array(arguments.length - 11);\nwhile (G__43407__i \x3c G__43407__a.length) {G__43407__a[G__43407__i] \x3d arguments[G__43407__i + 11]; ++G__43407__i;}\n G__42731 \x3d new cljs.core.IndexedSeq(G__43407__a,0,null);\n} \nreturn sci$impl$fns$arity_11__delegate.call(this,G__42720,G__42721,G__42722,G__42723,G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731);};\nsci$impl$fns$arity_11.cljs$lang$maxFixedArity \x3d 11;\nsci$impl$fns$arity_11.cljs$lang$applyTo \x3d (function (arglist__43408){\nvar G__42720 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42721 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42722 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42723 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42724 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42725 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42726 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42727 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42728 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42729 \x3d cljs.core.first(arglist__43408);\narglist__43408 \x3d cljs.core.next(arglist__43408);\nvar G__42730 \x3d cljs.core.first(arglist__43408);\nvar G__42731 \x3d cljs.core.rest(arglist__43408);\nreturn sci$impl$fns$arity_11__delegate(G__42720,G__42721,G__42722,G__42723,G__42724,G__42725,G__42726,G__42727,G__42728,G__42729,G__42730,G__42731);\n});\nsci$impl$fns$arity_11.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_11__delegate;\nreturn sci$impl$fns$arity_11;\n})()\n;\n\nbreak;\ncase (12):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_12__delegate \x3d function (G__42732,G__42733,G__42734,G__42735,G__42736,G__42737,G__42738,G__42739,G__42740,G__42741,G__42742,G__42743,G__42744){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42732);\n\n(invoc_array[(1)] \x3d G__42733);\n\n(invoc_array[(2)] \x3d G__42734);\n\n(invoc_array[(3)] \x3d G__42735);\n\n(invoc_array[(4)] \x3d G__42736);\n\n(invoc_array[(5)] \x3d G__42737);\n\n(invoc_array[(6)] \x3d G__42738);\n\n(invoc_array[(7)] \x3d G__42739);\n\n(invoc_array[(8)] \x3d G__42740);\n\n(invoc_array[(9)] \x3d G__42741);\n\n(invoc_array[(10)] \x3d G__42742);\n\n(invoc_array[(11)] \x3d G__42743);\n\n(invoc_array[vararg_idx] \x3d G__42744);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_12 \x3d function (G__42732,G__42733,G__42734,G__42735,G__42736,G__42737,G__42738,G__42739,G__42740,G__42741,G__42742,G__42743,var_args){\nvar G__42744 \x3d null;\nif (arguments.length \x3e 12) {\nvar G__43411__i \x3d 0, G__43411__a \x3d new Array(arguments.length - 12);\nwhile (G__43411__i \x3c G__43411__a.length) {G__43411__a[G__43411__i] \x3d arguments[G__43411__i + 12]; ++G__43411__i;}\n G__42744 \x3d new cljs.core.IndexedSeq(G__43411__a,0,null);\n} \nreturn sci$impl$fns$arity_12__delegate.call(this,G__42732,G__42733,G__42734,G__42735,G__42736,G__42737,G__42738,G__42739,G__42740,G__42741,G__42742,G__42743,G__42744);};\nsci$impl$fns$arity_12.cljs$lang$maxFixedArity \x3d 12;\nsci$impl$fns$arity_12.cljs$lang$applyTo \x3d (function (arglist__43412){\nvar G__42732 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42733 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42734 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42735 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42736 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42737 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42738 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42739 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42740 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42741 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42742 \x3d cljs.core.first(arglist__43412);\narglist__43412 \x3d cljs.core.next(arglist__43412);\nvar G__42743 \x3d cljs.core.first(arglist__43412);\nvar G__42744 \x3d cljs.core.rest(arglist__43412);\nreturn sci$impl$fns$arity_12__delegate(G__42732,G__42733,G__42734,G__42735,G__42736,G__42737,G__42738,G__42739,G__42740,G__42741,G__42742,G__42743,G__42744);\n});\nsci$impl$fns$arity_12.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_12__delegate;\nreturn sci$impl$fns$arity_12;\n})()\n;\n\nbreak;\ncase (13):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_13__delegate \x3d function (G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753,G__42754,G__42755,G__42756,G__42757,G__42758,G__42759){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42746);\n\n(invoc_array[(1)] \x3d G__42747);\n\n(invoc_array[(2)] \x3d G__42748);\n\n(invoc_array[(3)] \x3d G__42749);\n\n(invoc_array[(4)] \x3d G__42750);\n\n(invoc_array[(5)] \x3d G__42751);\n\n(invoc_array[(6)] \x3d G__42752);\n\n(invoc_array[(7)] \x3d G__42753);\n\n(invoc_array[(8)] \x3d G__42754);\n\n(invoc_array[(9)] \x3d G__42755);\n\n(invoc_array[(10)] \x3d G__42756);\n\n(invoc_array[(11)] \x3d G__42757);\n\n(invoc_array[(12)] \x3d G__42758);\n\n(invoc_array[vararg_idx] \x3d G__42759);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_13 \x3d function (G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753,G__42754,G__42755,G__42756,G__42757,G__42758,var_args){\nvar G__42759 \x3d null;\nif (arguments.length \x3e 13) {\nvar G__43415__i \x3d 0, G__43415__a \x3d new Array(arguments.length - 13);\nwhile (G__43415__i \x3c G__43415__a.length) {G__43415__a[G__43415__i] \x3d arguments[G__43415__i + 13]; ++G__43415__i;}\n G__42759 \x3d new cljs.core.IndexedSeq(G__43415__a,0,null);\n} \nreturn sci$impl$fns$arity_13__delegate.call(this,G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753,G__42754,G__42755,G__42756,G__42757,G__42758,G__42759);};\nsci$impl$fns$arity_13.cljs$lang$maxFixedArity \x3d 13;\nsci$impl$fns$arity_13.cljs$lang$applyTo \x3d (function (arglist__43416){\nvar G__42746 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42747 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42748 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42749 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42750 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42751 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42752 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42753 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42754 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42755 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42756 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42757 \x3d cljs.core.first(arglist__43416);\narglist__43416 \x3d cljs.core.next(arglist__43416);\nvar G__42758 \x3d cljs.core.first(arglist__43416);\nvar G__42759 \x3d cljs.core.rest(arglist__43416);\nreturn sci$impl$fns$arity_13__delegate(G__42746,G__42747,G__42748,G__42749,G__42750,G__42751,G__42752,G__42753,G__42754,G__42755,G__42756,G__42757,G__42758,G__42759);\n});\nsci$impl$fns$arity_13.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_13__delegate;\nreturn sci$impl$fns$arity_13;\n})()\n;\n\nbreak;\ncase (14):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_14__delegate \x3d function (G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773,G__42774,G__42775){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42761);\n\n(invoc_array[(1)] \x3d G__42762);\n\n(invoc_array[(2)] \x3d G__42763);\n\n(invoc_array[(3)] \x3d G__42764);\n\n(invoc_array[(4)] \x3d G__42765);\n\n(invoc_array[(5)] \x3d G__42766);\n\n(invoc_array[(6)] \x3d G__42767);\n\n(invoc_array[(7)] \x3d G__42768);\n\n(invoc_array[(8)] \x3d G__42769);\n\n(invoc_array[(9)] \x3d G__42770);\n\n(invoc_array[(10)] \x3d G__42771);\n\n(invoc_array[(11)] \x3d G__42772);\n\n(invoc_array[(12)] \x3d G__42773);\n\n(invoc_array[(13)] \x3d G__42774);\n\n(invoc_array[vararg_idx] \x3d G__42775);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_14 \x3d function (G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773,G__42774,var_args){\nvar G__42775 \x3d null;\nif (arguments.length \x3e 14) {\nvar G__43424__i \x3d 0, G__43424__a \x3d new Array(arguments.length - 14);\nwhile (G__43424__i \x3c G__43424__a.length) {G__43424__a[G__43424__i] \x3d arguments[G__43424__i + 14]; ++G__43424__i;}\n G__42775 \x3d new cljs.core.IndexedSeq(G__43424__a,0,null);\n} \nreturn sci$impl$fns$arity_14__delegate.call(this,G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773,G__42774,G__42775);};\nsci$impl$fns$arity_14.cljs$lang$maxFixedArity \x3d 14;\nsci$impl$fns$arity_14.cljs$lang$applyTo \x3d (function (arglist__43425){\nvar G__42761 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42762 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42763 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42764 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42765 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42766 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42767 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42768 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42769 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42770 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42771 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42772 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42773 \x3d cljs.core.first(arglist__43425);\narglist__43425 \x3d cljs.core.next(arglist__43425);\nvar G__42774 \x3d cljs.core.first(arglist__43425);\nvar G__42775 \x3d cljs.core.rest(arglist__43425);\nreturn sci$impl$fns$arity_14__delegate(G__42761,G__42762,G__42763,G__42764,G__42765,G__42766,G__42767,G__42768,G__42769,G__42770,G__42771,G__42772,G__42773,G__42774,G__42775);\n});\nsci$impl$fns$arity_14.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_14__delegate;\nreturn sci$impl$fns$arity_14;\n})()\n;\n\nbreak;\ncase (15):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_15__delegate \x3d function (G__42776,G__42777,G__42778,G__42779,G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42776);\n\n(invoc_array[(1)] \x3d G__42777);\n\n(invoc_array[(2)] \x3d G__42778);\n\n(invoc_array[(3)] \x3d G__42779);\n\n(invoc_array[(4)] \x3d G__42780);\n\n(invoc_array[(5)] \x3d G__42781);\n\n(invoc_array[(6)] \x3d G__42782);\n\n(invoc_array[(7)] \x3d G__42783);\n\n(invoc_array[(8)] \x3d G__42784);\n\n(invoc_array[(9)] \x3d G__42785);\n\n(invoc_array[(10)] \x3d G__42786);\n\n(invoc_array[(11)] \x3d G__42787);\n\n(invoc_array[(12)] \x3d G__42788);\n\n(invoc_array[(13)] \x3d G__42789);\n\n(invoc_array[(14)] \x3d G__42790);\n\n(invoc_array[vararg_idx] \x3d G__42791);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_15 \x3d function (G__42776,G__42777,G__42778,G__42779,G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,var_args){\nvar G__42791 \x3d null;\nif (arguments.length \x3e 15) {\nvar G__43430__i \x3d 0, G__43430__a \x3d new Array(arguments.length - 15);\nwhile (G__43430__i \x3c G__43430__a.length) {G__43430__a[G__43430__i] \x3d arguments[G__43430__i + 15]; ++G__43430__i;}\n G__42791 \x3d new cljs.core.IndexedSeq(G__43430__a,0,null);\n} \nreturn sci$impl$fns$arity_15__delegate.call(this,G__42776,G__42777,G__42778,G__42779,G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791);};\nsci$impl$fns$arity_15.cljs$lang$maxFixedArity \x3d 15;\nsci$impl$fns$arity_15.cljs$lang$applyTo \x3d (function (arglist__43431){\nvar G__42776 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42777 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42778 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42779 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42780 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42781 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42782 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42783 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42784 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42785 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42786 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42787 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42788 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42789 \x3d cljs.core.first(arglist__43431);\narglist__43431 \x3d cljs.core.next(arglist__43431);\nvar G__42790 \x3d cljs.core.first(arglist__43431);\nvar G__42791 \x3d cljs.core.rest(arglist__43431);\nreturn sci$impl$fns$arity_15__delegate(G__42776,G__42777,G__42778,G__42779,G__42780,G__42781,G__42782,G__42783,G__42784,G__42785,G__42786,G__42787,G__42788,G__42789,G__42790,G__42791);\n});\nsci$impl$fns$arity_15.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_15__delegate;\nreturn sci$impl$fns$arity_15;\n})()\n;\n\nbreak;\ncase (16):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_16__delegate \x3d function (G__42793,G__42794,G__42795,G__42796,G__42797,G__42798,G__42799,G__42800,G__42801,G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42793);\n\n(invoc_array[(1)] \x3d G__42794);\n\n(invoc_array[(2)] \x3d G__42795);\n\n(invoc_array[(3)] \x3d G__42796);\n\n(invoc_array[(4)] \x3d G__42797);\n\n(invoc_array[(5)] \x3d G__42798);\n\n(invoc_array[(6)] \x3d G__42799);\n\n(invoc_array[(7)] \x3d G__42800);\n\n(invoc_array[(8)] \x3d G__42801);\n\n(invoc_array[(9)] \x3d G__42802);\n\n(invoc_array[(10)] \x3d G__42803);\n\n(invoc_array[(11)] \x3d G__42804);\n\n(invoc_array[(12)] \x3d G__42805);\n\n(invoc_array[(13)] \x3d G__42806);\n\n(invoc_array[(14)] \x3d G__42807);\n\n(invoc_array[(15)] \x3d G__42808);\n\n(invoc_array[vararg_idx] \x3d G__42809);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_16 \x3d function (G__42793,G__42794,G__42795,G__42796,G__42797,G__42798,G__42799,G__42800,G__42801,G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,var_args){\nvar G__42809 \x3d null;\nif (arguments.length \x3e 16) {\nvar G__43435__i \x3d 0, G__43435__a \x3d new Array(arguments.length - 16);\nwhile (G__43435__i \x3c G__43435__a.length) {G__43435__a[G__43435__i] \x3d arguments[G__43435__i + 16]; ++G__43435__i;}\n G__42809 \x3d new cljs.core.IndexedSeq(G__43435__a,0,null);\n} \nreturn sci$impl$fns$arity_16__delegate.call(this,G__42793,G__42794,G__42795,G__42796,G__42797,G__42798,G__42799,G__42800,G__42801,G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809);};\nsci$impl$fns$arity_16.cljs$lang$maxFixedArity \x3d 16;\nsci$impl$fns$arity_16.cljs$lang$applyTo \x3d (function (arglist__43436){\nvar G__42793 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42794 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42795 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42796 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42797 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42798 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42799 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42800 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42801 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42802 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42803 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42804 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42805 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42806 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42807 \x3d cljs.core.first(arglist__43436);\narglist__43436 \x3d cljs.core.next(arglist__43436);\nvar G__42808 \x3d cljs.core.first(arglist__43436);\nvar G__42809 \x3d cljs.core.rest(arglist__43436);\nreturn sci$impl$fns$arity_16__delegate(G__42793,G__42794,G__42795,G__42796,G__42797,G__42798,G__42799,G__42800,G__42801,G__42802,G__42803,G__42804,G__42805,G__42806,G__42807,G__42808,G__42809);\n});\nsci$impl$fns$arity_16.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_16__delegate;\nreturn sci$impl$fns$arity_16;\n})()\n;\n\nbreak;\ncase (17):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_17__delegate \x3d function (G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818,G__42819,G__42820,G__42821,G__42822,G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42812);\n\n(invoc_array[(1)] \x3d G__42813);\n\n(invoc_array[(2)] \x3d G__42814);\n\n(invoc_array[(3)] \x3d G__42815);\n\n(invoc_array[(4)] \x3d G__42816);\n\n(invoc_array[(5)] \x3d G__42817);\n\n(invoc_array[(6)] \x3d G__42818);\n\n(invoc_array[(7)] \x3d G__42819);\n\n(invoc_array[(8)] \x3d G__42820);\n\n(invoc_array[(9)] \x3d G__42821);\n\n(invoc_array[(10)] \x3d G__42822);\n\n(invoc_array[(11)] \x3d G__42823);\n\n(invoc_array[(12)] \x3d G__42824);\n\n(invoc_array[(13)] \x3d G__42825);\n\n(invoc_array[(14)] \x3d G__42826);\n\n(invoc_array[(15)] \x3d G__42827);\n\n(invoc_array[(16)] \x3d G__42828);\n\n(invoc_array[vararg_idx] \x3d G__42829);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_17 \x3d function (G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818,G__42819,G__42820,G__42821,G__42822,G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,var_args){\nvar G__42829 \x3d null;\nif (arguments.length \x3e 17) {\nvar G__43450__i \x3d 0, G__43450__a \x3d new Array(arguments.length - 17);\nwhile (G__43450__i \x3c G__43450__a.length) {G__43450__a[G__43450__i] \x3d arguments[G__43450__i + 17]; ++G__43450__i;}\n G__42829 \x3d new cljs.core.IndexedSeq(G__43450__a,0,null);\n} \nreturn sci$impl$fns$arity_17__delegate.call(this,G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818,G__42819,G__42820,G__42821,G__42822,G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829);};\nsci$impl$fns$arity_17.cljs$lang$maxFixedArity \x3d 17;\nsci$impl$fns$arity_17.cljs$lang$applyTo \x3d (function (arglist__43451){\nvar G__42812 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42813 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42814 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42815 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42816 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42817 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42818 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42819 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42820 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42821 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42822 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42823 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42824 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42825 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42826 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42827 \x3d cljs.core.first(arglist__43451);\narglist__43451 \x3d cljs.core.next(arglist__43451);\nvar G__42828 \x3d cljs.core.first(arglist__43451);\nvar G__42829 \x3d cljs.core.rest(arglist__43451);\nreturn sci$impl$fns$arity_17__delegate(G__42812,G__42813,G__42814,G__42815,G__42816,G__42817,G__42818,G__42819,G__42820,G__42821,G__42822,G__42823,G__42824,G__42825,G__42826,G__42827,G__42828,G__42829);\n});\nsci$impl$fns$arity_17.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_17__delegate;\nreturn sci$impl$fns$arity_17;\n})()\n;\n\nbreak;\ncase (18):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_18__delegate \x3d function (G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840,G__42841,G__42842,G__42843,G__42844,G__42845,G__42846,G__42847,G__42848,G__42849,G__42850,G__42851){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42833);\n\n(invoc_array[(1)] \x3d G__42834);\n\n(invoc_array[(2)] \x3d G__42835);\n\n(invoc_array[(3)] \x3d G__42836);\n\n(invoc_array[(4)] \x3d G__42837);\n\n(invoc_array[(5)] \x3d G__42838);\n\n(invoc_array[(6)] \x3d G__42839);\n\n(invoc_array[(7)] \x3d G__42840);\n\n(invoc_array[(8)] \x3d G__42841);\n\n(invoc_array[(9)] \x3d G__42842);\n\n(invoc_array[(10)] \x3d G__42843);\n\n(invoc_array[(11)] \x3d G__42844);\n\n(invoc_array[(12)] \x3d G__42845);\n\n(invoc_array[(13)] \x3d G__42846);\n\n(invoc_array[(14)] \x3d G__42847);\n\n(invoc_array[(15)] \x3d G__42848);\n\n(invoc_array[(16)] \x3d G__42849);\n\n(invoc_array[(17)] \x3d G__42850);\n\n(invoc_array[vararg_idx] \x3d G__42851);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_18 \x3d function (G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840,G__42841,G__42842,G__42843,G__42844,G__42845,G__42846,G__42847,G__42848,G__42849,G__42850,var_args){\nvar G__42851 \x3d null;\nif (arguments.length \x3e 18) {\nvar G__43462__i \x3d 0, G__43462__a \x3d new Array(arguments.length - 18);\nwhile (G__43462__i \x3c G__43462__a.length) {G__43462__a[G__43462__i] \x3d arguments[G__43462__i + 18]; ++G__43462__i;}\n G__42851 \x3d new cljs.core.IndexedSeq(G__43462__a,0,null);\n} \nreturn sci$impl$fns$arity_18__delegate.call(this,G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840,G__42841,G__42842,G__42843,G__42844,G__42845,G__42846,G__42847,G__42848,G__42849,G__42850,G__42851);};\nsci$impl$fns$arity_18.cljs$lang$maxFixedArity \x3d 18;\nsci$impl$fns$arity_18.cljs$lang$applyTo \x3d (function (arglist__43465){\nvar G__42833 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42834 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42835 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42836 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42837 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42838 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42839 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42840 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42841 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42842 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42843 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42844 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42845 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42846 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42847 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42848 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42849 \x3d cljs.core.first(arglist__43465);\narglist__43465 \x3d cljs.core.next(arglist__43465);\nvar G__42850 \x3d cljs.core.first(arglist__43465);\nvar G__42851 \x3d cljs.core.rest(arglist__43465);\nreturn sci$impl$fns$arity_18__delegate(G__42833,G__42834,G__42835,G__42836,G__42837,G__42838,G__42839,G__42840,G__42841,G__42842,G__42843,G__42844,G__42845,G__42846,G__42847,G__42848,G__42849,G__42850,G__42851);\n});\nsci$impl$fns$arity_18.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_18__delegate;\nreturn sci$impl$fns$arity_18;\n})()\n;\n\nbreak;\ncase (19):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_19__delegate \x3d function (G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864,G__42865,G__42866,G__42867,G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42856);\n\n(invoc_array[(1)] \x3d G__42857);\n\n(invoc_array[(2)] \x3d G__42858);\n\n(invoc_array[(3)] \x3d G__42859);\n\n(invoc_array[(4)] \x3d G__42860);\n\n(invoc_array[(5)] \x3d G__42861);\n\n(invoc_array[(6)] \x3d G__42862);\n\n(invoc_array[(7)] \x3d G__42863);\n\n(invoc_array[(8)] \x3d G__42864);\n\n(invoc_array[(9)] \x3d G__42865);\n\n(invoc_array[(10)] \x3d G__42866);\n\n(invoc_array[(11)] \x3d G__42867);\n\n(invoc_array[(12)] \x3d G__42868);\n\n(invoc_array[(13)] \x3d G__42869);\n\n(invoc_array[(14)] \x3d G__42870);\n\n(invoc_array[(15)] \x3d G__42871);\n\n(invoc_array[(16)] \x3d G__42872);\n\n(invoc_array[(17)] \x3d G__42873);\n\n(invoc_array[(18)] \x3d G__42874);\n\n(invoc_array[vararg_idx] \x3d G__42875);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_19 \x3d function (G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864,G__42865,G__42866,G__42867,G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,var_args){\nvar G__42875 \x3d null;\nif (arguments.length \x3e 19) {\nvar G__43467__i \x3d 0, G__43467__a \x3d new Array(arguments.length - 19);\nwhile (G__43467__i \x3c G__43467__a.length) {G__43467__a[G__43467__i] \x3d arguments[G__43467__i + 19]; ++G__43467__i;}\n G__42875 \x3d new cljs.core.IndexedSeq(G__43467__a,0,null);\n} \nreturn sci$impl$fns$arity_19__delegate.call(this,G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864,G__42865,G__42866,G__42867,G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875);};\nsci$impl$fns$arity_19.cljs$lang$maxFixedArity \x3d 19;\nsci$impl$fns$arity_19.cljs$lang$applyTo \x3d (function (arglist__43468){\nvar G__42856 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42857 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42858 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42859 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42860 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42861 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42862 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42863 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42864 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42865 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42866 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42867 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42868 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42869 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42870 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42871 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42872 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42873 \x3d cljs.core.first(arglist__43468);\narglist__43468 \x3d cljs.core.next(arglist__43468);\nvar G__42874 \x3d cljs.core.first(arglist__43468);\nvar G__42875 \x3d cljs.core.rest(arglist__43468);\nreturn sci$impl$fns$arity_19__delegate(G__42856,G__42857,G__42858,G__42859,G__42860,G__42861,G__42862,G__42863,G__42864,G__42865,G__42866,G__42867,G__42868,G__42869,G__42870,G__42871,G__42872,G__42873,G__42874,G__42875);\n});\nsci$impl$fns$arity_19.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_19__delegate;\nreturn sci$impl$fns$arity_19;\n})()\n;\n\nbreak;\ncase (20):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function() { \nvar sci$impl$fns$arity_20__delegate \x3d function (G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887,G__42888,G__42889,G__42890,G__42891,G__42892,G__42893,G__42894,G__42895,G__42896,G__42897){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42877);\n\n(invoc_array[(1)] \x3d G__42878);\n\n(invoc_array[(2)] \x3d G__42879);\n\n(invoc_array[(3)] \x3d G__42880);\n\n(invoc_array[(4)] \x3d G__42881);\n\n(invoc_array[(5)] \x3d G__42882);\n\n(invoc_array[(6)] \x3d G__42883);\n\n(invoc_array[(7)] \x3d G__42884);\n\n(invoc_array[(8)] \x3d G__42885);\n\n(invoc_array[(9)] \x3d G__42886);\n\n(invoc_array[(10)] \x3d G__42887);\n\n(invoc_array[(11)] \x3d G__42888);\n\n(invoc_array[(12)] \x3d G__42889);\n\n(invoc_array[(13)] \x3d G__42890);\n\n(invoc_array[(14)] \x3d G__42891);\n\n(invoc_array[(15)] \x3d G__42892);\n\n(invoc_array[(16)] \x3d G__42893);\n\n(invoc_array[(17)] \x3d G__42894);\n\n(invoc_array[(18)] \x3d G__42895);\n\n(invoc_array[(19)] \x3d G__42896);\n\n(invoc_array[vararg_idx] \x3d G__42897);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n};\nvar sci$impl$fns$arity_20 \x3d function (G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887,G__42888,G__42889,G__42890,G__42891,G__42892,G__42893,G__42894,G__42895,G__42896,var_args){\nvar G__42897 \x3d null;\nif (arguments.length \x3e 20) {\nvar G__43472__i \x3d 0, G__43472__a \x3d new Array(arguments.length - 20);\nwhile (G__43472__i \x3c G__43472__a.length) {G__43472__a[G__43472__i] \x3d arguments[G__43472__i + 20]; ++G__43472__i;}\n G__42897 \x3d new cljs.core.IndexedSeq(G__43472__a,0,null);\n} \nreturn sci$impl$fns$arity_20__delegate.call(this,G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887,G__42888,G__42889,G__42890,G__42891,G__42892,G__42893,G__42894,G__42895,G__42896,G__42897);};\nsci$impl$fns$arity_20.cljs$lang$maxFixedArity \x3d 20;\nsci$impl$fns$arity_20.cljs$lang$applyTo \x3d (function (arglist__43477){\nvar G__42877 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42878 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42879 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42880 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42881 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42882 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42883 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42884 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42885 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42886 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42887 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42888 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42889 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42890 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42891 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42892 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42893 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42894 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42895 \x3d cljs.core.first(arglist__43477);\narglist__43477 \x3d cljs.core.next(arglist__43477);\nvar G__42896 \x3d cljs.core.first(arglist__43477);\nvar G__42897 \x3d cljs.core.rest(arglist__43477);\nreturn sci$impl$fns$arity_20__delegate(G__42877,G__42878,G__42879,G__42880,G__42881,G__42882,G__42883,G__42884,G__42885,G__42886,G__42887,G__42888,G__42889,G__42890,G__42891,G__42892,G__42893,G__42894,G__42895,G__42896,G__42897);\n});\nsci$impl$fns$arity_20.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$fns$arity_20__delegate;\nreturn sci$impl$fns$arity_20;\n})()\n;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__42639)].join(\x27\x27)));\n\n}\n})():(function (){var G__42901 \x3d fixed_arity;\nswitch (G__42901) {\ncase (0):\nvar recur__41966__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_0(){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\nwhile(true){\nvar ret__41967__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41966__auto__ \x3d\x3d\x3d ret__41967__auto__)){\ncontinue;\n} else {\nreturn ret__41967__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (1):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_1(G__42902){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42902);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (2):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_2(G__42905,G__42906){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42905);\n\n(invoc_array[(1)] \x3d G__42906);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (3):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_3(G__42912,G__42913,G__42914){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42912);\n\n(invoc_array[(1)] \x3d G__42913);\n\n(invoc_array[(2)] \x3d G__42914);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (4):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_4(G__42916,G__42917,G__42918,G__42919){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42916);\n\n(invoc_array[(1)] \x3d G__42917);\n\n(invoc_array[(2)] \x3d G__42918);\n\n(invoc_array[(3)] \x3d G__42919);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (5):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_5(G__42922,G__42923,G__42924,G__42925,G__42926){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42922);\n\n(invoc_array[(1)] \x3d G__42923);\n\n(invoc_array[(2)] \x3d G__42924);\n\n(invoc_array[(3)] \x3d G__42925);\n\n(invoc_array[(4)] \x3d G__42926);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (6):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_6(G__42933,G__42934,G__42935,G__42936,G__42937,G__42938){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42933);\n\n(invoc_array[(1)] \x3d G__42934);\n\n(invoc_array[(2)] \x3d G__42935);\n\n(invoc_array[(3)] \x3d G__42936);\n\n(invoc_array[(4)] \x3d G__42937);\n\n(invoc_array[(5)] \x3d G__42938);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (7):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_7(G__42939,G__42940,G__42941,G__42942,G__42943,G__42944,G__42945){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42939);\n\n(invoc_array[(1)] \x3d G__42940);\n\n(invoc_array[(2)] \x3d G__42941);\n\n(invoc_array[(3)] \x3d G__42942);\n\n(invoc_array[(4)] \x3d G__42943);\n\n(invoc_array[(5)] \x3d G__42944);\n\n(invoc_array[(6)] \x3d G__42945);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (8):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_8(G__42951,G__42952,G__42953,G__42954,G__42955,G__42956,G__42957,G__42958){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42951);\n\n(invoc_array[(1)] \x3d G__42952);\n\n(invoc_array[(2)] \x3d G__42953);\n\n(invoc_array[(3)] \x3d G__42954);\n\n(invoc_array[(4)] \x3d G__42955);\n\n(invoc_array[(5)] \x3d G__42956);\n\n(invoc_array[(6)] \x3d G__42957);\n\n(invoc_array[(7)] \x3d G__42958);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (9):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_9(G__42964,G__42965,G__42966,G__42967,G__42968,G__42969,G__42970,G__42971,G__42972){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42964);\n\n(invoc_array[(1)] \x3d G__42965);\n\n(invoc_array[(2)] \x3d G__42966);\n\n(invoc_array[(3)] \x3d G__42967);\n\n(invoc_array[(4)] \x3d G__42968);\n\n(invoc_array[(5)] \x3d G__42969);\n\n(invoc_array[(6)] \x3d G__42970);\n\n(invoc_array[(7)] \x3d G__42971);\n\n(invoc_array[(8)] \x3d G__42972);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (10):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_10(G__42982,G__42983,G__42984,G__42985,G__42986,G__42987,G__42988,G__42989,G__42990,G__42991){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42982);\n\n(invoc_array[(1)] \x3d G__42983);\n\n(invoc_array[(2)] \x3d G__42984);\n\n(invoc_array[(3)] \x3d G__42985);\n\n(invoc_array[(4)] \x3d G__42986);\n\n(invoc_array[(5)] \x3d G__42987);\n\n(invoc_array[(6)] \x3d G__42988);\n\n(invoc_array[(7)] \x3d G__42989);\n\n(invoc_array[(8)] \x3d G__42990);\n\n(invoc_array[(9)] \x3d G__42991);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (11):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_11(G__42997,G__42998,G__42999,G__43000,G__43001,G__43002,G__43003,G__43004,G__43005,G__43006,G__43007){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__42997);\n\n(invoc_array[(1)] \x3d G__42998);\n\n(invoc_array[(2)] \x3d G__42999);\n\n(invoc_array[(3)] \x3d G__43000);\n\n(invoc_array[(4)] \x3d G__43001);\n\n(invoc_array[(5)] \x3d G__43002);\n\n(invoc_array[(6)] \x3d G__43003);\n\n(invoc_array[(7)] \x3d G__43004);\n\n(invoc_array[(8)] \x3d G__43005);\n\n(invoc_array[(9)] \x3d G__43006);\n\n(invoc_array[(10)] \x3d G__43007);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (12):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_12(G__43017,G__43018,G__43019,G__43020,G__43021,G__43022,G__43023,G__43024,G__43025,G__43026,G__43027,G__43028){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43017);\n\n(invoc_array[(1)] \x3d G__43018);\n\n(invoc_array[(2)] \x3d G__43019);\n\n(invoc_array[(3)] \x3d G__43020);\n\n(invoc_array[(4)] \x3d G__43021);\n\n(invoc_array[(5)] \x3d G__43022);\n\n(invoc_array[(6)] \x3d G__43023);\n\n(invoc_array[(7)] \x3d G__43024);\n\n(invoc_array[(8)] \x3d G__43025);\n\n(invoc_array[(9)] \x3d G__43026);\n\n(invoc_array[(10)] \x3d G__43027);\n\n(invoc_array[(11)] \x3d G__43028);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (13):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_13(G__43033,G__43034,G__43035,G__43036,G__43037,G__43038,G__43039,G__43040,G__43041,G__43042,G__43043,G__43044,G__43045){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43033);\n\n(invoc_array[(1)] \x3d G__43034);\n\n(invoc_array[(2)] \x3d G__43035);\n\n(invoc_array[(3)] \x3d G__43036);\n\n(invoc_array[(4)] \x3d G__43037);\n\n(invoc_array[(5)] \x3d G__43038);\n\n(invoc_array[(6)] \x3d G__43039);\n\n(invoc_array[(7)] \x3d G__43040);\n\n(invoc_array[(8)] \x3d G__43041);\n\n(invoc_array[(9)] \x3d G__43042);\n\n(invoc_array[(10)] \x3d G__43043);\n\n(invoc_array[(11)] \x3d G__43044);\n\n(invoc_array[(12)] \x3d G__43045);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (14):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_14(G__43050,G__43051,G__43052,G__43053,G__43054,G__43055,G__43056,G__43057,G__43058,G__43059,G__43060,G__43061,G__43062,G__43063){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43050);\n\n(invoc_array[(1)] \x3d G__43051);\n\n(invoc_array[(2)] \x3d G__43052);\n\n(invoc_array[(3)] \x3d G__43053);\n\n(invoc_array[(4)] \x3d G__43054);\n\n(invoc_array[(5)] \x3d G__43055);\n\n(invoc_array[(6)] \x3d G__43056);\n\n(invoc_array[(7)] \x3d G__43057);\n\n(invoc_array[(8)] \x3d G__43058);\n\n(invoc_array[(9)] \x3d G__43059);\n\n(invoc_array[(10)] \x3d G__43060);\n\n(invoc_array[(11)] \x3d G__43061);\n\n(invoc_array[(12)] \x3d G__43062);\n\n(invoc_array[(13)] \x3d G__43063);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (15):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_15(G__43072,G__43073,G__43074,G__43075,G__43076,G__43077,G__43078,G__43079,G__43080,G__43081,G__43082,G__43083,G__43084,G__43085,G__43086){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43072);\n\n(invoc_array[(1)] \x3d G__43073);\n\n(invoc_array[(2)] \x3d G__43074);\n\n(invoc_array[(3)] \x3d G__43075);\n\n(invoc_array[(4)] \x3d G__43076);\n\n(invoc_array[(5)] \x3d G__43077);\n\n(invoc_array[(6)] \x3d G__43078);\n\n(invoc_array[(7)] \x3d G__43079);\n\n(invoc_array[(8)] \x3d G__43080);\n\n(invoc_array[(9)] \x3d G__43081);\n\n(invoc_array[(10)] \x3d G__43082);\n\n(invoc_array[(11)] \x3d G__43083);\n\n(invoc_array[(12)] \x3d G__43084);\n\n(invoc_array[(13)] \x3d G__43085);\n\n(invoc_array[(14)] \x3d G__43086);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (16):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_16(G__43088,G__43089,G__43090,G__43091,G__43092,G__43093,G__43094,G__43095,G__43096,G__43097,G__43098,G__43099,G__43100,G__43101,G__43102,G__43103){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43088);\n\n(invoc_array[(1)] \x3d G__43089);\n\n(invoc_array[(2)] \x3d G__43090);\n\n(invoc_array[(3)] \x3d G__43091);\n\n(invoc_array[(4)] \x3d G__43092);\n\n(invoc_array[(5)] \x3d G__43093);\n\n(invoc_array[(6)] \x3d G__43094);\n\n(invoc_array[(7)] \x3d G__43095);\n\n(invoc_array[(8)] \x3d G__43096);\n\n(invoc_array[(9)] \x3d G__43097);\n\n(invoc_array[(10)] \x3d G__43098);\n\n(invoc_array[(11)] \x3d G__43099);\n\n(invoc_array[(12)] \x3d G__43100);\n\n(invoc_array[(13)] \x3d G__43101);\n\n(invoc_array[(14)] \x3d G__43102);\n\n(invoc_array[(15)] \x3d G__43103);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (17):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_17(G__43113,G__43114,G__43115,G__43116,G__43117,G__43118,G__43119,G__43120,G__43121,G__43122,G__43123,G__43124,G__43125,G__43126,G__43127,G__43128,G__43129){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43113);\n\n(invoc_array[(1)] \x3d G__43114);\n\n(invoc_array[(2)] \x3d G__43115);\n\n(invoc_array[(3)] \x3d G__43116);\n\n(invoc_array[(4)] \x3d G__43117);\n\n(invoc_array[(5)] \x3d G__43118);\n\n(invoc_array[(6)] \x3d G__43119);\n\n(invoc_array[(7)] \x3d G__43120);\n\n(invoc_array[(8)] \x3d G__43121);\n\n(invoc_array[(9)] \x3d G__43122);\n\n(invoc_array[(10)] \x3d G__43123);\n\n(invoc_array[(11)] \x3d G__43124);\n\n(invoc_array[(12)] \x3d G__43125);\n\n(invoc_array[(13)] \x3d G__43126);\n\n(invoc_array[(14)] \x3d G__43127);\n\n(invoc_array[(15)] \x3d G__43128);\n\n(invoc_array[(16)] \x3d G__43129);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (18):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_18(G__43134,G__43135,G__43136,G__43137,G__43138,G__43139,G__43140,G__43141,G__43142,G__43143,G__43144,G__43145,G__43146,G__43147,G__43148,G__43149,G__43150,G__43151){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43134);\n\n(invoc_array[(1)] \x3d G__43135);\n\n(invoc_array[(2)] \x3d G__43136);\n\n(invoc_array[(3)] \x3d G__43137);\n\n(invoc_array[(4)] \x3d G__43138);\n\n(invoc_array[(5)] \x3d G__43139);\n\n(invoc_array[(6)] \x3d G__43140);\n\n(invoc_array[(7)] \x3d G__43141);\n\n(invoc_array[(8)] \x3d G__43142);\n\n(invoc_array[(9)] \x3d G__43143);\n\n(invoc_array[(10)] \x3d G__43144);\n\n(invoc_array[(11)] \x3d G__43145);\n\n(invoc_array[(12)] \x3d G__43146);\n\n(invoc_array[(13)] \x3d G__43147);\n\n(invoc_array[(14)] \x3d G__43148);\n\n(invoc_array[(15)] \x3d G__43149);\n\n(invoc_array[(16)] \x3d G__43150);\n\n(invoc_array[(17)] \x3d G__43151);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (19):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_19(G__43153,G__43154,G__43155,G__43156,G__43157,G__43158,G__43159,G__43160,G__43161,G__43162,G__43163,G__43164,G__43165,G__43166,G__43167,G__43168,G__43169,G__43170,G__43171){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43153);\n\n(invoc_array[(1)] \x3d G__43154);\n\n(invoc_array[(2)] \x3d G__43155);\n\n(invoc_array[(3)] \x3d G__43156);\n\n(invoc_array[(4)] \x3d G__43157);\n\n(invoc_array[(5)] \x3d G__43158);\n\n(invoc_array[(6)] \x3d G__43159);\n\n(invoc_array[(7)] \x3d G__43160);\n\n(invoc_array[(8)] \x3d G__43161);\n\n(invoc_array[(9)] \x3d G__43162);\n\n(invoc_array[(10)] \x3d G__43163);\n\n(invoc_array[(11)] \x3d G__43164);\n\n(invoc_array[(12)] \x3d G__43165);\n\n(invoc_array[(13)] \x3d G__43166);\n\n(invoc_array[(14)] \x3d G__43167);\n\n(invoc_array[(15)] \x3d G__43168);\n\n(invoc_array[(16)] \x3d G__43169);\n\n(invoc_array[(17)] \x3d G__43170);\n\n(invoc_array[(18)] \x3d G__43171);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ncase (20):\nvar recur__41968__auto__ \x3d sci.impl.utils.recur;\nreturn (function sci$impl$fns$arity_20(G__43176,G__43177,G__43178,G__43179,G__43180,G__43181,G__43182,G__43183,G__43184,G__43185,G__43186,G__43187,G__43188,G__43189,G__43190,G__43191,G__43192,G__43193,G__43194,G__43195){\nvar invoc_array \x3d (((invoc_size \x3d\x3d\x3d (0)))?null:cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(invoc_size));\nif(cljs.core.truth_(enclosed__GT_invocation)){\n(enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2 ? enclosed__GT_invocation.cljs$core$IFn$_invoke$arity$2(enclosed_array,invoc_array) : enclosed__GT_invocation.call(null,enclosed_array,invoc_array));\n} else {\n}\n\n(invoc_array[(0)] \x3d G__43176);\n\n(invoc_array[(1)] \x3d G__43177);\n\n(invoc_array[(2)] \x3d G__43178);\n\n(invoc_array[(3)] \x3d G__43179);\n\n(invoc_array[(4)] \x3d G__43180);\n\n(invoc_array[(5)] \x3d G__43181);\n\n(invoc_array[(6)] \x3d G__43182);\n\n(invoc_array[(7)] \x3d G__43183);\n\n(invoc_array[(8)] \x3d G__43184);\n\n(invoc_array[(9)] \x3d G__43185);\n\n(invoc_array[(10)] \x3d G__43186);\n\n(invoc_array[(11)] \x3d G__43187);\n\n(invoc_array[(12)] \x3d G__43188);\n\n(invoc_array[(13)] \x3d G__43189);\n\n(invoc_array[(14)] \x3d G__43190);\n\n(invoc_array[(15)] \x3d G__43191);\n\n(invoc_array[(16)] \x3d G__43192);\n\n(invoc_array[(17)] \x3d G__43193);\n\n(invoc_array[(18)] \x3d G__43194);\n\n(invoc_array[(19)] \x3d G__43195);\n\nwhile(true){\nvar ret__41969__auto__ \x3d sci.impl.types.eval(body,ctx,invoc_array);\nif((recur__41968__auto__ \x3d\x3d\x3d ret__41969__auto__)){\ncontinue;\n} else {\nreturn ret__41969__auto__;\n}\nbreak;\n}\n});\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__42901)].join(\x27\x27)));\n\n}\n})());\nreturn f;\n}));\n\n(sci.impl.fns.fun.cljs$lang$maxFixedArity \x3d 11);\n\nsci.impl.fns.lookup_by_arity \x3d (function sci$impl$fns$lookup_by_arity(arities,arity){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(arities,arity);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22variadic\x22,\x22variadic\x22,882626057).cljs$core$IFn$_invoke$arity$1(arities);\n}\n});\nsci.impl.fns.fn_arity_map \x3d (function sci$impl$fns$fn_arity_map(ctx,enclosed_array,fn_name,macro_QMARK_,fn_bodies){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (arity_map,fn_body){\nvar f \x3d sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$5(ctx,enclosed_array,fn_body,fn_name,macro_QMARK_);\nvar var_arg_QMARK_ \x3d new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nif(cljs.core.truth_(var_arg_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,new cljs.core.Keyword(null,\x22variadic\x22,\x22variadic\x22,882626057),f);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,fixed_arity,f);\n}\n}),cljs.core.PersistentArrayMap.EMPTY,fn_bodies);\n});\nsci.impl.fns.maybe_destructured \x3d (function sci$impl$fns$maybe_destructured(params,body,loc){\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,params)){\nreturn cljs.core.cons(params,body);\n} else {\nvar params__$1 \x3d params;\nvar new_params \x3d cljs.core.with_meta(cljs.core.PersistentVector.EMPTY,cljs.core.meta(params__$1));\nvar lets \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.truth_(params__$1)){\nif((cljs.core.first(params__$1) instanceof cljs.core.Symbol)){\nvar G__43515 \x3d cljs.core.next(params__$1);\nvar G__43516 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,cljs.core.first(params__$1));\nvar G__43517 \x3d lets;\nparams__$1 \x3d G__43515;\nnew_params \x3d G__43516;\nlets \x3d G__43517;\ncontinue;\n} else {\nvar gparam \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22p__\x22);\nvar G__43524 \x3d cljs.core.next(params__$1);\nvar G__43525 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new_params,gparam);\nvar G__43526 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(lets,cljs.core.first(params__$1)),gparam);\nparams__$1 \x3d G__43524;\nnew_params \x3d G__43525;\nlets \x3d G__43526;\ncontinue;\n}\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new_params,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,lets,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),loc),null,(1),null)))));\n}\nbreak;\n}\n}\n});\nsci.impl.fns.fn_STAR__STAR_ \x3d (function sci$impl$fns$fn_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43527 \x3d arguments.length;\nvar i__5750__auto___43528 \x3d (0);\nwhile(true){\nif((i__5750__auto___43528 \x3c len__5749__auto___43527)){\nargs__5755__auto__.push((arguments[i__5750__auto___43528]));\n\nvar G__43529 \x3d (i__5750__auto___43528 + (1));\ni__5750__auto___43528 \x3d G__43529;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.fns.fn_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.fns.fn_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,sigs){\nvar name \x3d (((cljs.core.first(sigs) instanceof cljs.core.Symbol))?cljs.core.first(sigs):null);\nvar sigs__$1 \x3d (cljs.core.truth_(name)?cljs.core.next(sigs):sigs);\nvar sigs__$2 \x3d ((cljs.core.vector_QMARK_(cljs.core.first(sigs__$1)))?(new cljs.core.List(null,sigs__$1,null,(1),null)):((cljs.core.seq_QMARK_(cljs.core.first(sigs__$1)))?sigs__$1:sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(((cljs.core.seq(sigs__$1))?[\x22Parameter declaration \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(sigs__$1)),\x22 should be a vector\x22].join(\x27\x27):\x22Parameter declaration missing\x22),form)));\nvar psig \x3d (function (sig){\nif((!(cljs.core.seq_QMARK_(sig)))){\nthrow sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Invalid signature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sig),\x22 should be a list\x22].join(\x27\x27),form);\n} else {\n}\n\nvar vec__43234 \x3d sig;\nvar seq__43235 \x3d cljs.core.seq(vec__43234);\nvar first__43236 \x3d cljs.core.first(seq__43235);\nvar seq__43235__$1 \x3d cljs.core.next(seq__43235);\nvar params \x3d first__43236;\nvar body \x3d seq__43235__$1;\nvar ___$1 \x3d (((!(cljs.core.vector_QMARK_(params))))?sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(((cljs.core.seq_QMARK_(cljs.core.first(sigs__$2)))?[\x22Parameter declaration \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(params),\x22 should be a vector\x22].join(\x27\x27):[\x22Invalid signature \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sig),\x22 should be a list\x22].join(\x27\x27)),form):null);\nvar conds \x3d ((((cljs.core.next(body)) \x26\x26 (cljs.core.map_QMARK_(cljs.core.first(body)))))?cljs.core.first(body):null);\nvar body__$1 \x3d (cljs.core.truth_(conds)?cljs.core.next(body):body);\nvar conds__$1 \x3d (function (){var or__5025__auto__ \x3d conds;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.meta(params);\n}\n})();\nvar pre \x3d new cljs.core.Keyword(null,\x22pre\x22,\x22pre\x22,2118456869).cljs$core$IFn$_invoke$arity$1(conds__$1);\nvar post \x3d new cljs.core.Keyword(null,\x22post\x22,\x22post\x22,269697687).cljs$core$IFn$_invoke$arity$1(conds__$1);\nvar body__$2 \x3d (cljs.core.truth_(post)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null)),(new cljs.core.List(null,((((1) \x3c cljs.core.count(body__$1)))?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body__$1))):cljs.core.first(body__$1)),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (c){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assert\x22,\x22cljs.core/assert\x22,1075777968,null),null,(1),null)),(new cljs.core.List(null,c,null,(1),null)))));\n}),post),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22%\x22,\x22%\x22,-950237169,null),null,(1),null))], 0)))),null,(1),null))))):body__$1);\nvar body__$3 \x3d (cljs.core.truth_(pre)?cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (c){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assert\x22,\x22cljs.core/assert\x22,1075777968,null),null,(1),null)),(new cljs.core.List(null,c,null,(1),null)))));\n}),pre),body__$2):body__$2);\nreturn sci.impl.fns.maybe_destructured(params,body__$3,cljs.core.meta(form));\n});\nvar new_sigs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(psig,sigs__$2);\nvar expr \x3d cljs.core.with_meta((cljs.core.truth_(name)?cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),name,new_sigs):cljs.core.cons(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),new_sigs)),cljs.core.meta(form));\nreturn expr;\n}));\n\n(sci.impl.fns.fn_STAR__STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.fns.fn_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq43217){\nvar G__43218 \x3d cljs.core.first(seq43217);\nvar seq43217__$1 \x3d cljs.core.next(seq43217);\nvar G__43219 \x3d cljs.core.first(seq43217__$1);\nvar seq43217__$2 \x3d cljs.core.next(seq43217__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43218,G__43219,seq43217__$2);\n}));\n\nsci.impl.fns.sigs \x3d (function sci$impl$fns$sigs(fdecl){\nvar asig \x3d (function (fdecl__$1){\nvar arglist \x3d cljs.core.first(fdecl__$1);\nvar arglist__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22\x26form\x22,\x22\x26form\x22,1482799337,null),cljs.core.first(arglist)))?cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(arglist,(2),cljs.core.count(arglist)):arglist);\nvar body \x3d cljs.core.next(fdecl__$1);\nif(cljs.core.map_QMARK_(cljs.core.first(body))){\nif(cljs.core.next(body)){\nreturn cljs.core.with_meta(arglist__$1,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(cljs.core.meta(arglist__$1))?cljs.core.meta(arglist__$1):cljs.core.PersistentArrayMap.EMPTY),cljs.core.first(body)));\n} else {\nreturn arglist__$1;\n}\n} else {\nreturn arglist__$1;\n}\n});\nif(cljs.core.seq_QMARK_(cljs.core.first(fdecl))){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar fdecls \x3d fdecl;\nwhile(true){\nif(cljs.core.truth_(fdecls)){\nvar G__43535 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.identity(asig(cljs.core.first(fdecls))));\nvar G__43536 \x3d cljs.core.next(fdecls);\nret \x3d G__43535;\nfdecls \x3d G__43536;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n} else {\nreturn (new cljs.core.List(null,cljs.core.identity(asig(fdecl)),null,(1),null));\n}\n});\nsci.impl.fns.defn_STAR_ \x3d (function sci$impl$fns$defn_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43537 \x3d arguments.length;\nvar i__5750__auto___43538 \x3d (0);\nwhile(true){\nif((i__5750__auto___43538 \x3c len__5749__auto___43537)){\nargs__5755__auto__.push((arguments[i__5750__auto___43538]));\n\nvar G__43539 \x3d (i__5750__auto___43538 + (1));\ni__5750__auto___43538 \x3d G__43539;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.fns.defn_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.fns.defn_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,name,fdecl){\nif((name instanceof cljs.core.Symbol)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22First argument to defn must be a symbol\x22,form);\n}\n\nvar m \x3d ((typeof cljs.core.first(fdecl) \x3d\x3d\x3d \x27string\x27)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),cljs.core.first(fdecl)], null):cljs.core.PersistentArrayMap.EMPTY);\nvar fdecl__$1 \x3d ((typeof cljs.core.first(fdecl) \x3d\x3d\x3d \x27string\x27)?cljs.core.next(fdecl):fdecl);\nvar m__$1 \x3d ((cljs.core.map_QMARK_(cljs.core.first(fdecl__$1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(m,cljs.core.first(fdecl__$1)):m);\nvar fdecl__$2 \x3d ((cljs.core.map_QMARK_(cljs.core.first(fdecl__$1)))?cljs.core.next(fdecl__$1):fdecl__$1);\nvar fdecl__$3 \x3d ((cljs.core.vector_QMARK_(cljs.core.first(fdecl__$2)))?(new cljs.core.List(null,fdecl__$2,null,(1),null)):fdecl__$2);\nvar m__$2 \x3d ((cljs.core.map_QMARK_(cljs.core.last(fdecl__$3)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$2(m__$1,cljs.core.last(fdecl__$3)):m__$1);\nvar fdecl__$4 \x3d ((cljs.core.map_QMARK_(cljs.core.last(fdecl__$3)))?cljs.core.butlast(fdecl__$3):fdecl__$3);\nvar m__$3 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,sci.impl.fns.sigs(fdecl__$4),null,(1),null)),(2),null))], null),m__$2);\nvar name_m \x3d cljs.core.meta(name);\nvar m__$4 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2((cljs.core.truth_(name_m)?name_m:cljs.core.PersistentArrayMap.EMPTY),m__$3);\nvar macro_QMARK_ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(name_m);\nvar expr \x3d cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),fdecl__$4);\nvar expr__$1 \x3d (new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),(new cljs.core.List(null,cljs.core.with_meta(name,m__$4),(new cljs.core.List(null,(cljs.core.truth_((function (){var or__5025__auto__ \x3d macro_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn name;\n}\n})())?cljs.core.with_meta(expr,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci.impl\x22,\x22fn\x22,\x22sci.impl/fn\x22,1695180073),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),macro_QMARK_,new cljs.core.Keyword(null,\x22fn-name\x22,\x22fn-name\x22,-766594004),name], null)], null)):expr),null,(1),null)),(2),null)),(3),null));\nreturn expr__$1;\n}));\n\n(sci.impl.fns.defn_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.fns.defn_STAR_.cljs$lang$applyTo \x3d (function (seq43288){\nvar G__43289 \x3d cljs.core.first(seq43288);\nvar seq43288__$1 \x3d cljs.core.next(seq43288);\nvar G__43290 \x3d cljs.core.first(seq43288__$1);\nvar seq43288__$2 \x3d cljs.core.next(seq43288__$1);\nvar G__43291 \x3d cljs.core.first(seq43288__$2);\nvar seq43288__$3 \x3d cljs.core.next(seq43288__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43289,G__43290,G__43291,seq43288__$3);\n}));\n\nsci.impl.fns.defmacro_STAR_ \x3d (function sci$impl$fns$defmacro_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43546 \x3d arguments.length;\nvar i__5750__auto___43547 \x3d (0);\nwhile(true){\nif((i__5750__auto___43547 \x3c len__5749__auto___43546)){\nargs__5755__auto__.push((arguments[i__5750__auto___43547]));\n\nvar G__43550 \x3d (i__5750__auto___43547 + (1));\ni__5750__auto___43547 \x3d G__43550;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.fns.defmacro_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.fns.defmacro_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,name,args){\nvar name__$1 \x3d cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true);\nvar prefix \x3d (function (){var p \x3d (new cljs.core.List(null,name__$1,null,(1),null));\nvar args__$1 \x3d args;\nwhile(true){\nvar f \x3d cljs.core.first(args__$1);\nif(typeof f \x3d\x3d\x3d \x27string\x27){\nvar G__43555 \x3d cljs.core.cons(f,p);\nvar G__43556 \x3d cljs.core.next(args__$1);\np \x3d G__43555;\nargs__$1 \x3d G__43556;\ncontinue;\n} else {\nif(cljs.core.map_QMARK_(f)){\nvar G__43557 \x3d cljs.core.cons(f,p);\nvar G__43558 \x3d cljs.core.next(args__$1);\np \x3d G__43557;\nargs__$1 \x3d G__43558;\ncontinue;\n} else {\nreturn p;\n}\n}\nbreak;\n}\n})();\nvar fdecl \x3d (function (){var fd \x3d args;\nwhile(true){\nif(typeof cljs.core.first(fd) \x3d\x3d\x3d \x27string\x27){\nvar G__43559 \x3d cljs.core.next(fd);\nfd \x3d G__43559;\ncontinue;\n} else {\nif(cljs.core.map_QMARK_(cljs.core.first(fd))){\nvar G__43560 \x3d cljs.core.next(fd);\nfd \x3d G__43560;\ncontinue;\n} else {\nreturn fd;\n}\n}\nbreak;\n}\n})();\nvar fdecl__$1 \x3d ((cljs.core.vector_QMARK_(cljs.core.first(fdecl)))?(new cljs.core.List(null,fdecl,null,(1),null)):fdecl);\nvar add_implicit_args \x3d (function (fd){\nvar args__$1 \x3d cljs.core.first(fd);\nreturn cljs.core.cons(cljs.core.vec(cljs.core.cons(new cljs.core.Symbol(null,\x22\x26form\x22,\x22\x26form\x22,1482799337,null),cljs.core.cons(new cljs.core.Symbol(null,\x22\x26env\x22,\x22\x26env\x22,-919163083,null),args__$1))),cljs.core.next(fd));\n});\nvar add_args \x3d (function (acc,ds){\nwhile(true){\nif((ds \x3d\x3d null)){\nreturn acc;\n} else {\nvar d \x3d cljs.core.first(ds);\nif(cljs.core.map_QMARK_(d)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,d);\n} else {\nvar G__43561 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,add_implicit_args(d));\nvar G__43562 \x3d cljs.core.next(ds);\nacc \x3d G__43561;\nds \x3d G__43562;\ncontinue;\n}\n}\nbreak;\n}\n});\nvar fdecl__$2 \x3d cljs.core.seq(add_args(cljs.core.PersistentVector.EMPTY,fdecl__$1));\nvar decl \x3d (function (){var p \x3d prefix;\nvar d \x3d fdecl__$2;\nwhile(true){\nif(cljs.core.truth_(p)){\nvar G__43566 \x3d cljs.core.next(p);\nvar G__43567 \x3d cljs.core.cons(cljs.core.first(p),d);\np \x3d G__43566;\nd \x3d G__43567;\ncontinue;\n} else {\nreturn d;\n}\nbreak;\n}\n})();\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),decl),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,name__$1,null,(1),null)),(2),null)),null,(1),null)),(2),null)),(3),null));\n}));\n\n(sci.impl.fns.defmacro_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.fns.defmacro_STAR_.cljs$lang$applyTo \x3d (function (seq43304){\nvar G__43305 \x3d cljs.core.first(seq43304);\nvar seq43304__$1 \x3d cljs.core.next(seq43304);\nvar G__43306 \x3d cljs.core.first(seq43304__$1);\nvar seq43304__$2 \x3d cljs.core.next(seq43304__$1);\nvar G__43307 \x3d cljs.core.first(seq43304__$2);\nvar seq43304__$3 \x3d cljs.core.next(seq43304__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43305,G__43306,G__43307,seq43304__$3);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.parser.js", true, "goog.provide(\x27sci.impl.parser\x27);\nsci.impl.parser.eof \x3d new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517);\nsci.impl.parser.read_eval \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*read-eval*\x22,\x22*read-eval*\x22,1122065414,null),false,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Defaults to true (or value specified by system property, see below)\\n ***This setting implies that the full power of the reader is in play,\\n including syntax that can cause code to execute. It should never be\\n used with untrusted sources. See also: clojure.edn/read.***\\n\\n When set to logical false in the thread-local binding,\\n the eval reader (#\x3d) and record/type literal syntax are disabled in read/load.\\n Example (will fail): (binding [*read-eval* false] (read-string \\\x22#\x3d(* 2 21)\\\x22))\\n\\n The default binding can be controlled by the system property\\n \x27clojure.read.eval\x27 System properties can be set on the command line\\n like this:\\n\\n java -Dclojure.read.eval\x3dfalse ...\\n\\n The system property can also be set to \x27unknown\x27 via\\n -Dclojure.read.eval\x3dunknown, in which case the default binding\\n is :unknown and all reads will fail in contexts where *read-eval*\\n has not been explicitly bound to either true or false. This setting\\n can be a useful diagnostic tool to ensure that all of your reads\\n occur in considered contexts. You can also accomplish this in a\\n particular scope by binding *read-eval* to :unknown\\n \x22], null));\nsci.impl.parser.data_readers \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*data-readers*\x22,\x22*data-readers*\x22,1269051058,null),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Map from reader tag symbols to data reader Vars.\\n\\n When Clojure starts, it searches for files named \x27data_readers.clj\x27\\n and \x27data_readers.cljc\x27 at the root of the classpath. Each such file\\n must contain a literal map of symbols, like this:\\n\\n {foo/bar my.project.foo/bar\\n foo/baz my.project/baz}\\n\\n The first symbol in each pair is a tag that will be recognized by\\n the Clojure reader. The second symbol in the pair is the\\n fully-qualified name of a Var which will be invoked by the reader to\\n parse the form following the tag. For example, given the\\n data_readers.clj file above, the Clojure reader would parse this\\n form:\\n\\n #foo/bar [1 2 3]\\n\\n by invoking the Var #\x27my.project.foo/bar on the vector [1 2 3]. The\\n data reader function is invoked on the form AFTER it has been read\\n as a normal Clojure data structure by the reader.\\n\\n Reader tags without namespace qualifiers are reserved for\\n Clojure. Default reader tags are defined in\\n clojure.core/default-data-readers but may be overridden in\\n data_readers.clj, data_readers.cljc, or by rebinding this Var.\x22], null));\nsci.impl.parser.default_data_reader_fn \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*default-data-reader-fn*\x22,\x22*default-data-reader-fn*\x22,758795499,null),null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When no data reader is found for a tag and *default-data-reader-fn*\\n is non-nil, it will be called with two arguments,\\n the tag and the value. If *default-data-reader-fn* is nil (the\\n default), an exception will be thrown for the unknown tag.\x22], null));\nsci.impl.parser.reader_resolver \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*reader-resolver*\x22,\x22*reader-resolver*\x22,309718590,null),null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true], null));\nsci.impl.parser.suppress_read \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*suppress-read*\x22,\x22*suppress-read*\x22,1470729096,null),null,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true], null));\nsci.impl.parser.default_opts \x3d edamame.core.normalize_opts(new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),true,new cljs.core.Keyword(null,\x22row-key\x22,\x22row-key\x22,-1189010712),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22col-key\x22,\x22col-key\x22,-2009675766),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244),new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),new cljs.core.Keyword(null,\x22location?\x22,\x22location?\x22,425878086),cljs.core.seq_QMARK_,new cljs.core.Keyword(null,\x22end-location\x22,\x22end-location\x22,-1199449467),false], null));\nsci.impl.parser.var__GT_sym \x3d (function sci$impl$parser$var__GT_sym(v){\nvar temp__5823__auto__ \x3d cljs.core.meta(v);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar m \x3d temp__5823__auto__;\nif(cljs.core.truth_(new cljs.core.Keyword(\x22sci\x22,\x22record\x22,\x22sci/record\x22,-778731026).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(v)));\n} else {\nvar temp__5823__auto____$1 \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar var_name \x3d temp__5823__auto____$1;\nvar temp__5823__auto____$2 \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5823__auto____$2)){\nvar ns \x3d temp__5823__auto____$2;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(ns)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_name));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n}\n} else {\nreturn null;\n}\n});\nsci.impl.parser.fully_qualify \x3d (function sci$impl$parser$fully_qualify(ctx,sym){\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar sym_ns \x3d (function (){var temp__5823__auto__ \x3d cljs.core.namespace(sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar n \x3d temp__5823__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(n);\n} else {\nreturn null;\n}\n})();\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nvar current_ns_str \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(current_ns);\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,current_ns);\nvar aliases \x3d new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar res_without_sym \x3d (function sci$impl$parser$fully_qualify_$_res_without_sym(sym__$1){\nvar sym_name_str \x3d cljs.core.name(sym__$1);\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar refers \x3d temp__5823__auto__;\nvar temp__5823__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(refers,sym__$1);\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar v \x3d temp__5823__auto____$1;\nreturn sci.impl.parser.var__GT_sym(v);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(the_current_ns,sym__$1);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nreturn sci.impl.parser.var__GT_sym(v);\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d ((((((cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)),sym__$1)) \x26\x26 (cljs.core.not((function (){var G__43271 \x3d the_current_ns;\nvar G__43271__$1 \x3d (((G__43271 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(G__43271));\nvar G__43271__$2 \x3d (((G__43271__$1 \x3d\x3d null))?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(G__43271__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)));\nvar G__43271__$3 \x3d (((G__43271__$2 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334).cljs$core$IFn$_invoke$arity$1(G__43271__$2));\nif((G__43271__$3 \x3d\x3d null)){\nreturn null;\n} else {\nreturn cljs.core.contains_QMARK_(G__43271__$3,sym__$1);\n}\n})())))) || (cljs.core.contains_QMARK_(sci.impl.utils.ana_macros,sym__$1))))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22clojure.core\x22,sym_name_str):null);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d sci.impl.interop.fully_qualify_class(ctx,sym__$1);\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nif(clojure.string.includes_QMARK_(sym_name_str,\x22.\x22)){\nif((((!(clojure.string.starts_with_QMARK_(sym_name_str,\x22.\x22)))) \x26\x26 (clojure.string.ends_with_QMARK_(sym_name_str,\x22.\x22)))){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci$impl$parser$fully_qualify_$_res_without_sym(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$3(sym_name_str,(0),(((sym_name_str).length) - (1)))))),\x22.\x22].join(\x27\x27));\n} else {\nreturn sym__$1;\n}\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(current_ns_str,sym_name_str);\n}\n}\n}\n}\n}\n});\nvar ret \x3d ((cljs.core.not(sym_ns))?res_without_sym(sym):(function (){var sym_name \x3d cljs.core.name(sym);\nvar nss \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(nss,sym_ns))){\nreturn sym;\n} else {\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(aliases,sym_ns);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar ns \x3d temp__5821__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),sym_name);\n} else {\nvar temp__5821__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(cljs.core.get.cljs$core$IFn$_invoke$arity$2(nss,current_ns)),sym_ns);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar import$ \x3d temp__5821__auto____$1;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(import$),cljs.core.name(sym));\n} else {\nreturn sym;\n}\n}\n}\n})());\nreturn ret;\n});\nsci.impl.parser.throw_eval_read \x3d (function sci$impl$parser$throw_eval_read(_){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22EvalReader not allowed when *read-eval* is false.\x22,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844)], null));\n});\nsci.impl.parser.auto_resolve \x3d (function sci$impl$parser$auto_resolve(ctx,opts){\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22auto-resolve\x22,\x22auto-resolve\x22,1851201983).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar env_val \x3d cljs.core.deref(env);\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nvar the_current_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env_val,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns], null));\nvar aliases \x3d new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar auto_resolve \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(aliases,new cljs.core.Keyword(null,\x22current\x22,\x22current\x22,-1088038603),current_ns);\nreturn auto_resolve;\n}\n});\nsci.impl.parser.get_line_number \x3d (function sci$impl$parser$get_line_number(reader){\nreturn cljs.tools.reader.reader_types.get_line_number(reader);\n});\nsci.impl.parser.get_column_number \x3d (function sci$impl$parser$get_column_number(reader){\nreturn cljs.tools.reader.reader_types.get_column_number(reader);\n});\nsci.impl.parser.parse_next \x3d (function sci$impl$parser$parse_next(var_args){\nvar G__43297 \x3d arguments.length;\nswitch (G__43297) {\ncase 2:\nreturn sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,r){\nreturn sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,r,null);\n}));\n\n(sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,r,opts){\nvar features \x3d new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(ctx);\nvar readers \x3d new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030).cljs$core$IFn$_invoke$arity$1(ctx);\nvar readers__$1 \x3d ((sci.impl.utils.var_QMARK_(readers))?cljs.core.deref(readers):readers);\nvar auto_resolve \x3d sci.impl.parser.auto_resolve(ctx,opts);\nvar parse_opts \x3d (function (){var G__43300 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sci.impl.parser.default_opts,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),features,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22auto-resolve\x22,\x22auto-resolve\x22,1851201983),auto_resolve,new cljs.core.Keyword(null,\x22syntax-quote\x22,\x22syntax-quote\x22,-1233164847),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22resolve-symbol\x22,\x22resolve-symbol\x22,-319166964),(function (p1__43293_SHARP_){\nreturn sci.impl.parser.fully_qualify(ctx,p1__43293_SHARP_);\n})], null),new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),(function (t){\nvar or__5025__auto__ \x3d (function (){var and__5023__auto__ \x3d readers__$1;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (readers__$1.cljs$core$IFn$_invoke$arity$1 ? readers__$1.cljs$core$IFn$_invoke$arity$1(t) : readers__$1.call(null,t));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (function (){var fexpr__43301 \x3d cljs.core.deref(sci.impl.parser.data_readers);\nreturn (fexpr__43301.cljs$core$IFn$_invoke$arity$1 ? fexpr__43301.cljs$core$IFn$_invoke$arity$1(t) : fexpr__43301.call(null,t));\n})();\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d (function (){var G__43302 \x3d (function (){var G__43309 \x3d ctx;\nvar G__43310 \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar G__43311 \x3d t;\nvar fexpr__43308 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__43308.cljs$core$IFn$_invoke$arity$3 ? fexpr__43308.cljs$core$IFn$_invoke$arity$3(G__43309,G__43310,G__43311) : fexpr__43308.call(null,G__43309,G__43310,G__43311));\n})();\nvar G__43302__$1 \x3d (((G__43302 \x3d\x3d null))?null:cljs.core.meta(G__43302));\nif((G__43302__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22sci.impl.record\x22,\x22map-constructor\x22,\x22sci.impl.record/map-constructor\x22,1072184780).cljs$core$IFn$_invoke$arity$1(G__43302__$1);\n}\n})();\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.deref(sci.impl.parser.default_data_reader_fn);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar f \x3d temp__5823__auto__;\nreturn (function (form){\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(t,form) : f.call(null,t,form));\n});\n} else {\nreturn null;\n}\n}\n}\n}\n}),new cljs.core.Keyword(null,\x22read-eval\x22,\x22read-eval\x22,1788733932),(cljs.core.truth_(cljs.core.deref(sci.impl.parser.read_eval))?(function (x){\nreturn sci.impl.utils.eval(ctx,x);\n}):sci.impl.parser.throw_eval_read)], 0));\nif(cljs.core.truth_(opts)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__43300,opts], 0));\n} else {\nreturn G__43300;\n}\n})();\nvar ret \x3d (function (){try{var v \x3d edamame.core.parse_next.cljs$core$IFn$_invoke$arity$2(r,parse_opts);\nif(cljs.core.keyword_identical_QMARK_(v,new cljs.core.Keyword(\x22edamame.core\x22,\x22eof\x22,\x22edamame.core/eof\x22,1855384188))){\nreturn new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517);\n} else {\nif((((v instanceof cljs.core.Symbol)) \x26\x26 (cljs.tools.reader.reader_types.indexing_reader_QMARK_(r)))){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6(v,cljs.core.assoc,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),sci.impl.parser.get_line_number(r),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),(sci.impl.parser.get_column_number(r) - cljs.core.str.cljs$core$IFn$_invoke$arity$1(v).length));\n} else {\nreturn v;\n}\n}\n}catch (e43320){if((e43320 instanceof cljs.core.ExceptionInfo)){\nvar e \x3d e43320;\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(e.message,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.ex_data(e),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),\x22parse\x22,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0)),e);\n} else {\nthrow e43320;\n\n}\n}})();\nreturn ret;\n}));\n\n(sci.impl.parser.parse_next.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.parser.reader \x3d (function sci$impl$parser$reader(x){\nreturn edamame.core.reader(x);\n});\nsci.impl.parser.parse_string \x3d (function sci$impl$parser$parse_string(ctx,s){\nvar r \x3d sci.impl.parser.reader(s);\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,r);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),v)){\nreturn null;\n} else {\nreturn v;\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.load.js", true, "goog.provide(\x27sci.impl.load\x27);\n/**\n * Low level load-reader* that doesn\x27t install any bindings\n */\nsci.impl.load.load_reader_STAR_ \x3d (function sci$impl$load$load_reader_STAR_(ctx,reader){\nvar reader__$1 \x3d (((((!((reader \x3d\x3d null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d reader.cljs$tools$reader$reader_types$IndexingReader$))))?true:false):false))?reader:cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(reader));\nvar ret \x3d null;\nwhile(true){\nvar x \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader__$1);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),x)){\nreturn ret;\n} else {\nvar G__43679 \x3d sci.impl.utils.eval(ctx,x);\nret \x3d G__43679;\ncontinue;\n}\nbreak;\n}\n});\n/**\n * Low level load-string* that doesn\x27t install any bindings\n */\nsci.impl.load.load_string_STAR_ \x3d (function sci$impl$load$load_string_STAR_(ctx,s){\nvar rdr \x3d cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\nreturn sci.impl.load.load_reader_STAR_(ctx,rdr);\n});\nsci.impl.load.load_reader \x3d (function sci$impl$load$load_reader(reader){\nvar ctx \x3d sci.ctx_store.get_ctx();\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,cljs.core.deref(sci.impl.utils.current_ns),sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)]));\n\ntry{return sci.impl.load.load_reader_STAR_(ctx,reader);\n}finally {sci.impl.vars.pop_thread_bindings();\n}});\nsci.impl.load.load_string \x3d (function sci$impl$load$load_string(s){\nvar rdr \x3d cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\nreturn sci.impl.load.load_reader(rdr);\n});\nsci.impl.load.handle_refer_all \x3d (function sci$impl$load$handle_refer_all(the_current_ns,the_loaded_ns,include_sym_QMARK_,rename_sym,only){\nvar referred \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar only__$1 \x3d (cljs.core.truth_(only)?cljs.core.set(only):null);\nvar referred__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns,p__43414){\nvar vec__43417 \x3d p__43414;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43417,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43417,(1),null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (k instanceof cljs.core.Symbol);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (include_sym_QMARK_.cljs$core$IFn$_invoke$arity$1 ? include_sym_QMARK_.cljs$core$IFn$_invoke$arity$1(k) : include_sym_QMARK_.call(null,k));\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn ((cljs.core.not(only__$1)) || (cljs.core.contains_QMARK_(only__$1,k)));\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns,(rename_sym.cljs$core$IFn$_invoke$arity$1 ? rename_sym.cljs$core$IFn$_invoke$arity$1(k) : rename_sym.call(null,k)),v);\n} else {\nreturn ns;\n}\n}),referred,the_loaded_ns);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),referred__$1);\n});\nsci.impl.load.handle_js_lib \x3d (function sci$impl$load$handle_js_lib(env,opts,lib,cnn,the_lib){\nvar path \x3d new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168).cljs$core$IFn$_invoke$arity$1(opts);\nvar the_lib__$1 \x3d (cljs.core.truth_(path)?cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (the_lib__$1,path__$1){\nreturn Reflect.get(the_lib__$1,path__$1);\n}),the_lib,path.split(\x22.\x22)):the_lib);\nvar clazz \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.munge([cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib),(cljs.core.truth_(path)?\x22$\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(path)].join(\x27\x27)));\nvar env__$1 \x3d cljs.core.assoc_in(cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),clazz,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)], null),the_lib__$1),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),clazz], null),the_lib__$1);\nvar env__$2 \x3d (function (){var temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar alias \x3d temp__5821__auto__;\nreturn cljs.core.assoc_in(env__$1,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),alias], null),clazz);\n} else {\nreturn env__$1;\n}\n})();\nvar env__$3 \x3d (function (){var temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar refers \x3d temp__5821__auto__;\nvar rename \x3d new cljs.core.Keyword(null,\x22rename\x22,\x22rename\x22,1508157613).cljs$core$IFn$_invoke$arity$1(opts);\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (env__$3,refer){\nvar sub_sym \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib),\x22$$\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(refer)].join(\x27\x27));\nvar the_sublib \x3d Reflect.get(the_lib__$1,cljs.core.str.cljs$core$IFn$_invoke$arity$1(refer));\nvar refer__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(rename,refer,refer);\nreturn cljs.core.assoc_in(cljs.core.assoc_in(cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(env__$3,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),refer__$1], null),sub_sym),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),refer__$1),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),sub_sym,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)], null),the_sublib),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),sub_sym], null),the_sublib);\n}),env__$2,refers);\n} else {\nreturn env__$2;\n}\n})();\nreturn env__$3;\n});\nsci.impl.load.lib_PLUS_path \x3d (function sci$impl$load$lib_PLUS_path(lib){\nreturn clojure.string.split.cljs$core$IFn$_invoke$arity$3(lib,cljs.core.re_pattern(\x22\\\\$\x22),(2));\n});\nsci.impl.load.handle_require_libspec_env \x3d (function sci$impl$load$handle_require_libspec_env(_ctx,env,current_ns,the_loaded_ns,lib_name,p__43482){\nvar map__43483 \x3d p__43482;\nvar map__43483__$1 \x3d cljs.core.__destructure_map(map__43483);\nvar opts \x3d map__43483__$1;\nvar as \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641));\nvar refer \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553));\nvar refer_macros \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22refer-macros\x22,\x22refer-macros\x22,-1906841953));\nvar rename \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22rename\x22,\x22rename\x22,1508157613));\nvar exclude \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334));\nvar only \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22only\x22,\x22only\x22,1907811652));\nvar use \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43483__$1,new cljs.core.Keyword(null,\x22use\x22,\x22use\x22,-1846382424));\nvar or__5025__auto__ \x3d ((typeof lib_name \x3d\x3d\x3d \x27string\x27)?(function (){var vec__43484 \x3d sci.impl.load.lib_PLUS_path(lib_name);\nvar lib_name__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43484,(0),null);\nvar path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43484,(1),null);\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721).cljs$core$IFn$_invoke$arity$1(env),lib_name__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar the_lib \x3d temp__5821__auto__;\nreturn sci.impl.load.handle_js_lib(env,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path),lib_name__$1,current_ns,the_lib);\n} else {\nreturn env;\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar the_current_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns], null));\nvar the_current_ns__$1 \x3d (cljs.core.truth_(as)?cljs.core.assoc_in(the_current_ns,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),as], null),lib_name):the_current_ns);\nvar rename_sym \x3d (cljs.core.truth_(rename)?(function (sym){\nvar or__5025__auto____$1 \x3d (rename.cljs$core$IFn$_invoke$arity$1 ? rename.cljs$core$IFn$_invoke$arity$1(sym) : rename.call(null,sym));\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sym;\n}\n}):cljs.core.identity);\nvar include_sym_QMARK_ \x3d (cljs.core.truth_(exclude)?(function (){var excludes \x3d cljs.core.set(exclude);\nreturn (function (sym){\nreturn (!(cljs.core.contains_QMARK_(excludes,sym)));\n});\n})():cljs.core.constantly(true));\nvar refer__$1 \x3d (cljs.core.truth_(refer_macros)?(((((refer \x3d\x3d null)) || (cljs.core.coll_QMARK_(refer))))?cljs.core.into.cljs$core$IFn$_invoke$arity$2(refer,refer_macros):refer):refer);\nvar the_current_ns__$2 \x3d (cljs.core.truth_(refer__$1)?(cljs.core.truth_((function (){var or__5025__auto____$1 \x3d cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),refer__$1);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn use;\n}\n})())?sci.impl.load.handle_refer_all(the_current_ns__$1,the_loaded_ns,include_sym_QMARK_,rename_sym,null):((cljs.core.sequential_QMARK_(refer__$1))?(function (){var referred \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns__$1);\nvar referred__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns,sym){\nif(cljs.core.truth_(include_sym_QMARK_(sym))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns,(rename_sym.cljs$core$IFn$_invoke$arity$1 ? rename_sym.cljs$core$IFn$_invoke$arity$1(sym) : rename_sym.call(null,sym)),(function (){var temp__5821__auto__ \x3d cljs.core.find(the_loaded_ns,sym);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__43500 \x3d temp__5821__auto__;\nvar _k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43500,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43500,(1),null);\nreturn v;\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 does not exist\x22].join(\x27\x27)));\n}\n})());\n} else {\nreturn ns;\n}\n}),referred,refer__$1);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns__$1,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),referred__$1);\n})():(function(){throw (new Error(\x22:refer value must be a sequential collection of symbols\x22))})()\n)):(cljs.core.truth_(use)?sci.impl.load.handle_refer_all(the_current_ns__$1,the_loaded_ns,include_sym_QMARK_,rename_sym,only):the_current_ns__$1\n));\nvar env__$1 \x3d cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns], null),the_current_ns__$2);\nvar temp__5823__auto___43681 \x3d (function (){var G__43503 \x3d the_loaded_ns;\nvar G__43503__$1 \x3d (((G__43503 \x3d\x3d null))?null:new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962).cljs$core$IFn$_invoke$arity$1(G__43503));\nvar G__43503__$2 \x3d (((G__43503__$1 \x3d\x3d null))?null:cljs.core.meta(G__43503__$1));\nif((G__43503__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22sci.impl\x22,\x22required-fn\x22,\x22sci.impl/required-fn\x22,2082701278).cljs$core$IFn$_invoke$arity$1(G__43503__$2);\n}\n})();\nif(cljs.core.truth_(temp__5823__auto___43681)){\nvar on_loaded_43682 \x3d temp__5823__auto___43681;\nvar G__43507_43683 \x3d cljs.core.PersistentArrayMap.EMPTY;\n(on_loaded_43682.cljs$core$IFn$_invoke$arity$1 ? on_loaded_43682.cljs$core$IFn$_invoke$arity$1(G__43507_43683) : on_loaded_43682.call(null,G__43507_43683));\n} else {\n}\n\nreturn env__$1;\n}\n});\nsci.impl.load.loaded_libs \x3d (function sci$impl$load$loaded_libs(env){\nreturn cljs.core.deref(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null)], null)));\n});\nsci.impl.load.add_loaded_lib \x3d (function sci$impl$load$add_loaded_lib(env,lib){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(sci.impl.load.loaded_libs(env),cljs.core.conj,lib);\n\nreturn null;\n});\nsci.impl.load.handle_require_libspec \x3d (function sci$impl$load$handle_require_libspec(ctx,lib,opts){\nvar env_STAR_ \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar env \x3d cljs.core.deref(env_STAR_);\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar lib__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821).cljs$core$IFn$_invoke$arity$1(env),lib,lib);\nvar js_lib_QMARK_ \x3d typeof lib__$1 \x3d\x3d\x3d \x27string\x27;\nvar or__5025__auto__ \x3d ((js_lib_QMARK_)?(function (){var vec__43521 \x3d sci.impl.load.lib_PLUS_path(lib__$1);\nvar lib__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43521,(0),null);\nvar path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43521,(1),null);\nvar temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721).cljs$core$IFn$_invoke$arity$1(env),lib__$2);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar the_lib \x3d temp__5823__auto__;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_STAR_,(function (env__$1){\nreturn sci.impl.load.handle_js_lib(env__$1,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22path\x22,\x22path\x22,-188191168),path),lib__$2,cnn,the_lib);\n}));\n\nreturn cljs.core.PersistentArrayMap.EMPTY;\n} else {\nreturn null;\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22as-alias\x22,\x22as-alias\x22,82482467).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar as_alias \x3d temp__5821__auto__;\nreturn cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,null,lib__$1,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641),as_alias], null)));\n} else {\nvar map__43530 \x3d opts;\nvar map__43530__$1 \x3d cljs.core.__destructure_map(map__43530);\nvar reload \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43530__$1,new cljs.core.Keyword(null,\x22reload\x22,\x22reload\x22,863702807));\nvar reload_all \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43530__$1,new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200));\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar reload_STAR_ \x3d (function (){var or__5025__auto____$1 \x3d reload;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d reload_all;\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200).cljs$core$IFn$_invoke$arity$1(ctx);\n}\n}\n})();\nvar temp__5821__auto___43684__$1 \x3d (cljs.core.truth_(reload_STAR_)?null:cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,lib__$1));\nif(cljs.core.truth_(temp__5821__auto___43684__$1)){\nvar the_loaded_ns_43685 \x3d temp__5821__auto___43684__$1;\nvar loading_43686 \x3d new cljs.core.Keyword(null,\x22loading\x22,\x22loading\x22,-737050189).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d loading_43686;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (((!(cljs.core.contains_QMARK_(cljs.core.deref(sci.impl.load.loaded_libs(env)),lib__$1)))) \x26\x26 (cljs.core.nat_int_QMARK_(loading_43686.indexOf(lib__$1))));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2((function (){var lib_emphasized \x3d [\x22[ \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),\x22 ]\x22].join(\x27\x27);\nvar loading__$1 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(loading_43686,lib__$1);\nvar loading__$2 \x3d cljs.core.replace.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.createAsIfByAssoc([lib__$1,lib_emphasized]),loading__$1);\nreturn [\x22Cyclic load dependency: \x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22-\x3e\x22,loading__$2)].join(\x27\x27);\n})(),lib__$1);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(lib__$1,cnn)){\n} else {\ncljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,the_loaded_ns_43685,lib__$1,opts));\n}\n}\n} else {\nvar temp__5821__auto___43687__$2 \x3d new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334).cljs$core$IFn$_invoke$arity$1(env);\nif(cljs.core.truth_(temp__5821__auto___43687__$2)){\nvar load_fn_43691 \x3d temp__5821__auto___43687__$2;\nvar curr_ns_43692 \x3d cljs.core.deref(sci.impl.utils.current_ns);\nvar temp__5821__auto___43693__$3 \x3d (function (){var G__43534 \x3d new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372),lib__$1,new cljs.core.Keyword(null,\x22libname\x22,\x22libname\x22,135992497),lib__$1,new cljs.core.Keyword(null,\x22ctx\x22,\x22ctx\x22,-493610118),ctx,new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.types.getName(curr_ns_43692),new cljs.core.Keyword(null,\x22reload\x22,\x22reload\x22,863702807),(function (){var or__5025__auto____$1 \x3d reload;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn reload_all;\n}\n})()], null);\nreturn (load_fn_43691.cljs$core$IFn$_invoke$arity$1 ? load_fn_43691.cljs$core$IFn$_invoke$arity$1(G__43534) : load_fn_43691.call(null,G__43534));\n})();\nif(cljs.core.truth_(temp__5821__auto___43693__$3)){\nvar map__43540_43695 \x3d temp__5821__auto___43693__$3;\nvar map__43540_43696__$1 \x3d cljs.core.__destructure_map(map__43540_43695);\nvar file_43697 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43540_43696__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar source_43698 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43540_43696__$1,new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539));\nvar handled_43699 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43540_43696__$1,new cljs.core.Keyword(null,\x22handled\x22,\x22handled\x22,1889700151));\nvar ctx_43700__$1 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),cljs.core.PersistentArrayMap.EMPTY),new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200),reload_all),new cljs.core.Keyword(null,\x22loading\x22,\x22loading\x22,-737050189),(function (loading){\nif((loading \x3d\x3d null)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [lib__$1], null);\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(loading,lib__$1);\n}\n}));\nif(cljs.core.truth_(source_43698)){\ntry{sci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,curr_ns_43692,sci.impl.utils.current_file,file_43697,sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)]));\n\ntry{sci.impl.load.load_string_STAR_(ctx_43700__$1,source_43698);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}catch (e43541){if((e43541 instanceof Error)){\nvar e_43702 \x3d e43541;\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(env_STAR_,cljs.core.update,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([lib__$1], 0));\n\nthrow e_43702;\n} else {\nthrow e43541;\n\n}\n}} else {\n}\n\nif(cljs.core.truth_(handled_43699)){\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_STAR_,(function (env__$1){\nvar namespaces__$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(env__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar the_loaded_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces__$1,lib__$1);\nreturn sci.impl.load.handle_require_libspec_env(ctx,env__$1,cnn,the_loaded_ns,lib__$1,opts);\n}));\n}\n} else {\nvar or__5025__auto___43704__$1 \x3d (cljs.core.truth_(reload_STAR_)?(function (){var temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,lib__$1);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar the_loaded_ns \x3d temp__5823__auto__;\nreturn cljs.core.reset_BANG_(env_STAR_,sci.impl.load.handle_require_libspec_env(ctx,env,cnn,the_loaded_ns,lib__$1,opts));\n} else {\nreturn null;\n}\n})():null);\nif(cljs.core.truth_(or__5025__auto___43704__$1)){\n} else {\nthrow (new Error([\x22Could not find namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),\x22.\x22].join(\x27\x27)));\n}\n}\n} else {\nthrow (new Error([\x22Could not find namespace \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib__$1),\x22.\x22].join(\x27\x27)));\n}\n}\n\nif(js_lib_QMARK_){\n} else {\nsci.impl.load.add_loaded_lib(env,lib__$1);\n}\n\nreturn null;\n}\n}\n});\nsci.impl.load.load_lib_STAR_ \x3d (function sci$impl$load$load_lib_STAR_(ctx,prefix,lib,options){\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d prefix;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (cljs.core.name(lib).indexOf(\x22.\x22) \x3e (0));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Found lib name \x27\x22,cljs.core.name(lib),\x22\x27 containing period with prefix \x27\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22\x27. lib names inside prefix lists must not contain periods\x22].join(\x27\x27),lib);\n} else {\n}\n\nvar lib__$1 \x3d (cljs.core.truth_(prefix)?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),\x22.\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(lib)].join(\x27\x27)):lib);\nvar opts \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,options);\nreturn sci.impl.load.handle_require_libspec(ctx,lib__$1,opts);\n});\nsci.impl.load.load_lib \x3d (function sci$impl$load$load_lib(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43706 \x3d arguments.length;\nvar i__5750__auto___43707 \x3d (0);\nwhile(true){\nif((i__5750__auto___43707 \x3c len__5749__auto___43706)){\nargs__5755__auto__.push((arguments[i__5750__auto___43707]));\n\nvar G__43708 \x3d (i__5750__auto___43707 + (1));\ni__5750__auto___43707 \x3d G__43708;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.load.load_lib.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.load_lib.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,prefix,lib,options){\nreturn sci.impl.load.load_lib_STAR_(ctx,prefix,lib,options);\n}));\n\n(sci.impl.load.load_lib.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.load.load_lib.cljs$lang$applyTo \x3d (function (seq43573){\nvar G__43574 \x3d cljs.core.first(seq43573);\nvar seq43573__$1 \x3d cljs.core.next(seq43573);\nvar G__43575 \x3d cljs.core.first(seq43573__$1);\nvar seq43573__$2 \x3d cljs.core.next(seq43573__$1);\nvar G__43576 \x3d cljs.core.first(seq43573__$2);\nvar seq43573__$3 \x3d cljs.core.next(seq43573__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43574,G__43575,G__43576,seq43573__$3);\n}));\n\n/**\n * Prepends a symbol or a seq to coll\n */\nsci.impl.load.prependss \x3d (function sci$impl$load$prependss(x,coll){\nif((x instanceof cljs.core.Symbol)){\nreturn cljs.core.cons(x,coll);\n} else {\nreturn cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,coll);\n}\n});\n/**\n * Returns true if x is a libspec\n */\nsci.impl.load.libspec_QMARK_ \x3d (function sci$impl$load$libspec_QMARK_(x){\nreturn (((x instanceof cljs.core.Symbol)) || (((cljs.core.vector_QMARK_(x)) \x26\x26 ((((cljs.core.second(x) \x3d\x3d null)) || ((cljs.core.second(x) instanceof cljs.core.Keyword)))))));\n});\n/**\n * Loads libs, evaling libspecs, prefix lists, and flags for\n * forwarding to load-lib\n */\nsci.impl.load.load_libs \x3d (function sci$impl$load$load_libs(ctx,kw,args){\nvar args_STAR_ \x3d cljs.core.cons(kw,args);\nvar flags \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.keyword_QMARK_,args_STAR_);\nvar opts \x3d cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(flags,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(true));\nvar args_STAR___$1 \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(cljs.core.keyword_QMARK_),args_STAR_);\nvar supported_43710 \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22use\x22,\x22use\x22,-1846382424),null,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641),null,new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333),null,new cljs.core.Keyword(null,\x22verbose\x22,\x22verbose\x22,1694226060),null,new cljs.core.Keyword(null,\x22reload\x22,\x22reload\x22,863702807),null,new cljs.core.Keyword(null,\x22reload-all\x22,\x22reload-all\x22,761570200),null,new cljs.core.Keyword(null,\x22require-macros\x22,\x22require-macros\x22,707947416),null,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),null], null), null);\nvar unsupported_43711 \x3d cljs.core.seq(cljs.core.remove.cljs$core$IFn$_invoke$arity$2(supported_43710,flags));\nif(unsupported_43711){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.str,\x22Unsupported option(s) supplied: \x22,cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(\x22,\x22,unsupported_43711)),args);\n} else {\n}\n\nif(cljs.core.seq(args_STAR___$1)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22Nothing specified to load\x22,args);\n}\n\nvar seq__43591 \x3d cljs.core.seq(args_STAR___$1);\nvar chunk__43592 \x3d null;\nvar count__43593 \x3d (0);\nvar i__43594 \x3d (0);\nwhile(true){\nif((i__43594 \x3c count__43593)){\nvar arg \x3d chunk__43592.cljs$core$IIndexed$_nth$arity$2(null,i__43594);\nif(sci.impl.load.libspec_QMARK_(arg)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,null,sci.impl.load.prependss(arg,opts));\n} else {\nvar vec__43609_43713 \x3d arg;\nvar seq__43610_43714 \x3d cljs.core.seq(vec__43609_43713);\nvar first__43611_43715 \x3d cljs.core.first(seq__43610_43714);\nvar seq__43610_43716__$1 \x3d cljs.core.next(seq__43610_43714);\nvar prefix_43717 \x3d first__43611_43715;\nvar args_STAR__43718__$2 \x3d seq__43610_43716__$1;\nif((prefix_43717 \x3d\x3d null)){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22prefix cannot be nil\x22,args);\n} else {\n}\n\nvar seq__43612_43719 \x3d cljs.core.seq(args_STAR__43718__$2);\nvar chunk__43613_43720 \x3d null;\nvar count__43614_43721 \x3d (0);\nvar i__43615_43722 \x3d (0);\nwhile(true){\nif((i__43615_43722 \x3c count__43614_43721)){\nvar arg_43723__$1 \x3d chunk__43613_43720.cljs$core$IIndexed$_nth$arity$2(null,i__43615_43722);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43717,sci.impl.load.prependss(arg_43723__$1,opts));\n\n\nvar G__43724 \x3d seq__43612_43719;\nvar G__43725 \x3d chunk__43613_43720;\nvar G__43726 \x3d count__43614_43721;\nvar G__43727 \x3d (i__43615_43722 + (1));\nseq__43612_43719 \x3d G__43724;\nchunk__43613_43720 \x3d G__43725;\ncount__43614_43721 \x3d G__43726;\ni__43615_43722 \x3d G__43727;\ncontinue;\n} else {\nvar temp__5823__auto___43728 \x3d cljs.core.seq(seq__43612_43719);\nif(temp__5823__auto___43728){\nvar seq__43612_43729__$1 \x3d temp__5823__auto___43728;\nif(cljs.core.chunked_seq_QMARK_(seq__43612_43729__$1)){\nvar c__5548__auto___43730 \x3d cljs.core.chunk_first(seq__43612_43729__$1);\nvar G__43731 \x3d cljs.core.chunk_rest(seq__43612_43729__$1);\nvar G__43732 \x3d c__5548__auto___43730;\nvar G__43733 \x3d cljs.core.count(c__5548__auto___43730);\nvar G__43734 \x3d (0);\nseq__43612_43719 \x3d G__43731;\nchunk__43613_43720 \x3d G__43732;\ncount__43614_43721 \x3d G__43733;\ni__43615_43722 \x3d G__43734;\ncontinue;\n} else {\nvar arg_43735__$1 \x3d cljs.core.first(seq__43612_43729__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43717,sci.impl.load.prependss(arg_43735__$1,opts));\n\n\nvar G__43736 \x3d cljs.core.next(seq__43612_43729__$1);\nvar G__43737 \x3d null;\nvar G__43738 \x3d (0);\nvar G__43739 \x3d (0);\nseq__43612_43719 \x3d G__43736;\nchunk__43613_43720 \x3d G__43737;\ncount__43614_43721 \x3d G__43738;\ni__43615_43722 \x3d G__43739;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n\n\nvar G__43740 \x3d seq__43591;\nvar G__43741 \x3d chunk__43592;\nvar G__43742 \x3d count__43593;\nvar G__43743 \x3d (i__43594 + (1));\nseq__43591 \x3d G__43740;\nchunk__43592 \x3d G__43741;\ncount__43593 \x3d G__43742;\ni__43594 \x3d G__43743;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__43591);\nif(temp__5823__auto__){\nvar seq__43591__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__43591__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__43591__$1);\nvar G__43744 \x3d cljs.core.chunk_rest(seq__43591__$1);\nvar G__43745 \x3d c__5548__auto__;\nvar G__43746 \x3d cljs.core.count(c__5548__auto__);\nvar G__43747 \x3d (0);\nseq__43591 \x3d G__43744;\nchunk__43592 \x3d G__43745;\ncount__43593 \x3d G__43746;\ni__43594 \x3d G__43747;\ncontinue;\n} else {\nvar arg \x3d cljs.core.first(seq__43591__$1);\nif(sci.impl.load.libspec_QMARK_(arg)){\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,null,sci.impl.load.prependss(arg,opts));\n} else {\nvar vec__43623_43748 \x3d arg;\nvar seq__43624_43749 \x3d cljs.core.seq(vec__43623_43748);\nvar first__43625_43750 \x3d cljs.core.first(seq__43624_43749);\nvar seq__43624_43751__$1 \x3d cljs.core.next(seq__43624_43749);\nvar prefix_43752 \x3d first__43625_43750;\nvar args_STAR__43753__$2 \x3d seq__43624_43751__$1;\nif((prefix_43752 \x3d\x3d null)){\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22prefix cannot be nil\x22,args);\n} else {\n}\n\nvar seq__43626_43754 \x3d cljs.core.seq(args_STAR__43753__$2);\nvar chunk__43627_43755 \x3d null;\nvar count__43628_43756 \x3d (0);\nvar i__43629_43757 \x3d (0);\nwhile(true){\nif((i__43629_43757 \x3c count__43628_43756)){\nvar arg_43758__$1 \x3d chunk__43627_43755.cljs$core$IIndexed$_nth$arity$2(null,i__43629_43757);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43752,sci.impl.load.prependss(arg_43758__$1,opts));\n\n\nvar G__43759 \x3d seq__43626_43754;\nvar G__43760 \x3d chunk__43627_43755;\nvar G__43761 \x3d count__43628_43756;\nvar G__43762 \x3d (i__43629_43757 + (1));\nseq__43626_43754 \x3d G__43759;\nchunk__43627_43755 \x3d G__43760;\ncount__43628_43756 \x3d G__43761;\ni__43629_43757 \x3d G__43762;\ncontinue;\n} else {\nvar temp__5823__auto___43763__$1 \x3d cljs.core.seq(seq__43626_43754);\nif(temp__5823__auto___43763__$1){\nvar seq__43626_43764__$1 \x3d temp__5823__auto___43763__$1;\nif(cljs.core.chunked_seq_QMARK_(seq__43626_43764__$1)){\nvar c__5548__auto___43765 \x3d cljs.core.chunk_first(seq__43626_43764__$1);\nvar G__43766 \x3d cljs.core.chunk_rest(seq__43626_43764__$1);\nvar G__43767 \x3d c__5548__auto___43765;\nvar G__43768 \x3d cljs.core.count(c__5548__auto___43765);\nvar G__43769 \x3d (0);\nseq__43626_43754 \x3d G__43766;\nchunk__43627_43755 \x3d G__43767;\ncount__43628_43756 \x3d G__43768;\ni__43629_43757 \x3d G__43769;\ncontinue;\n} else {\nvar arg_43770__$1 \x3d cljs.core.first(seq__43626_43764__$1);\ncljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.load_lib,ctx,prefix_43752,sci.impl.load.prependss(arg_43770__$1,opts));\n\n\nvar G__43771 \x3d cljs.core.next(seq__43626_43764__$1);\nvar G__43772 \x3d null;\nvar G__43773 \x3d (0);\nvar G__43774 \x3d (0);\nseq__43626_43754 \x3d G__43771;\nchunk__43627_43755 \x3d G__43772;\ncount__43628_43756 \x3d G__43773;\ni__43629_43757 \x3d G__43774;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n}\n\n\nvar G__43775 \x3d cljs.core.next(seq__43591__$1);\nvar G__43776 \x3d null;\nvar G__43777 \x3d (0);\nvar G__43778 \x3d (0);\nseq__43591 \x3d G__43775;\nchunk__43592 \x3d G__43776;\ncount__43593 \x3d G__43777;\ni__43594 \x3d G__43778;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nsci.impl.load.eval_require \x3d (function sci$impl$load$eval_require(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43779 \x3d arguments.length;\nvar i__5750__auto___43780 \x3d (0);\nwhile(true){\nif((i__5750__auto___43780 \x3c len__5749__auto___43779)){\nargs__5755__auto__.push((arguments[i__5750__auto___43780]));\n\nvar G__43781 \x3d (i__5750__auto___43780 + (1));\ni__5750__auto___43780 \x3d G__43781;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.load.eval_require.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_require.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,args){\nreturn sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,\x22require\x22,\x22require\x22,-468001333),args);\n}));\n\n(sci.impl.load.eval_require.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.load.eval_require.cljs$lang$applyTo \x3d (function (seq43630){\nvar G__43631 \x3d cljs.core.first(seq43630);\nvar seq43630__$1 \x3d cljs.core.next(seq43630);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43631,seq43630__$1);\n}));\n\nsci.impl.load.eval_require_macros \x3d (function sci$impl$load$eval_require_macros(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43782 \x3d arguments.length;\nvar i__5750__auto___43783 \x3d (0);\nwhile(true){\nif((i__5750__auto___43783 \x3c len__5749__auto___43782)){\nargs__5755__auto__.push((arguments[i__5750__auto___43783]));\n\nvar G__43784 \x3d (i__5750__auto___43783 + (1));\ni__5750__auto___43783 \x3d G__43784;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.load.eval_require_macros.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_require_macros.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,args){\nreturn sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,\x22require-macros\x22,\x22require-macros\x22,707947416),args);\n}));\n\n(sci.impl.load.eval_require_macros.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.load.eval_require_macros.cljs$lang$applyTo \x3d (function (seq43638){\nvar G__43639 \x3d cljs.core.first(seq43638);\nvar seq43638__$1 \x3d cljs.core.next(seq43638);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43639,seq43638__$1);\n}));\n\nsci.impl.load.eval_use \x3d (function sci$impl$load$eval_use(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43785 \x3d arguments.length;\nvar i__5750__auto___43786 \x3d (0);\nwhile(true){\nif((i__5750__auto___43786 \x3c len__5749__auto___43785)){\nargs__5755__auto__.push((arguments[i__5750__auto___43786]));\n\nvar G__43787 \x3d (i__5750__auto___43786 + (1));\ni__5750__auto___43786 \x3d G__43787;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.load.eval_use.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_use.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,args){\nreturn sci.impl.load.load_libs(ctx,new cljs.core.Keyword(null,\x22use\x22,\x22use\x22,-1846382424),args);\n}));\n\n(sci.impl.load.eval_use.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.load.eval_use.cljs$lang$applyTo \x3d (function (seq43640){\nvar G__43641 \x3d cljs.core.first(seq43640);\nvar seq43640__$1 \x3d cljs.core.next(seq43640);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43641,seq43640__$1);\n}));\n\nsci.impl.load.eval_refer_clojure \x3d (function sci$impl$load$eval_refer_clojure(ctx,exprs){\nvar ns_sym \x3d new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null);\nvar exprs__$1 \x3d exprs;\nwhile(true){\nif(cljs.core.truth_(exprs__$1)){\nvar vec__43647 \x3d exprs__$1;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43647,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43647,(1),null);\nvar G__43654_43788 \x3d k;\nvar G__43654_43789__$1 \x3d (((G__43654_43788 instanceof cljs.core.Keyword))?G__43654_43788.fqn:null);\nswitch (G__43654_43789__$1) {\ncase \x22exclude\x22:\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym){\nreturn (function (env){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),ns_sym,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.into,cljs.core.PersistentHashSet.EMPTY),v);\n});})(exprs__$1,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym))\n);\n\nbreak;\ncase \x22only\x22:\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym){\nreturn (function (env){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar other_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym], null));\nvar other_vars \x3d cljs.core.select_keys(other_ns,v);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn], null),cljs.core.merge,other_vars);\n});})(exprs__$1,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym))\n);\n\nbreak;\ncase \x22rename\x22:\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),((function (exprs__$1,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym){\nreturn (function (env){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar namespaces \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env);\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,cnn);\nvar other_ns \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_sym], null));\nvar the_current_ns__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (exprs__$1,cnn,namespaces,the_current_ns,other_ns,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym){\nreturn (function (acc,p__43659){\nvar vec__43660 \x3d p__43659;\nvar original_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43660,(0),null);\nvar new_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43660,(1),null);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(acc,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),new_name], null),cljs.core.get.cljs$core$IFn$_invoke$arity$2(other_ns,original_name)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),ns_sym,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),original_name);\n});})(exprs__$1,cnn,namespaces,the_current_ns,other_ns,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym))\n,the_current_ns,v);\nreturn cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn], null),the_current_ns__$1);\n});})(exprs__$1,G__43654_43788,G__43654_43789__$1,vec__43647,k,v,ns_sym))\n);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__43654_43789__$1)].join(\x27\x27)));\n\n}\n\nvar G__43794 \x3d cljs.core.nnext(exprs__$1);\nexprs__$1 \x3d G__43794;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nsci.impl.load.eval_refer_STAR_ \x3d (function sci$impl$load$eval_refer_STAR_(env,ns_sym,filters){\nvar cnn \x3d sci.impl.utils.current_ns_name();\nvar namespaces \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env);\nvar ns \x3d (function (){var or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,ns_sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow (new Error([\x22No namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_sym)].join(\x27\x27)));\n}\n})();\nvar fs \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,filters);\nvar public_keys \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.symbol_QMARK_,cljs.core.keys(ns));\nvar rename \x3d (function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22rename\x22,\x22rename\x22,1508157613).cljs$core$IFn$_invoke$arity$1(fs);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentArrayMap.EMPTY;\n}\n})();\nvar exclude \x3d cljs.core.set(new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334).cljs$core$IFn$_invoke$arity$1(fs));\nvar to_do \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(fs)))?public_keys:(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553).cljs$core$IFn$_invoke$arity$1(fs);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d new cljs.core.Keyword(null,\x22only\x22,\x22only\x22,1907811652).cljs$core$IFn$_invoke$arity$1(fs);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn public_keys;\n}\n}\n})());\nvar _ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d to_do;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (!(cljs.core.sequential_QMARK_(to_do)));\n} else {\nreturn and__5023__auto__;\n}\n})())?(function(){throw (new Error(\x22:only/:refer value must be a sequential collection of symbols\x22))})():null);\nvar the_current_ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespaces,cnn);\nvar referred \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns);\nvar referred__$1 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (referred__$1,sym){\nif(cljs.core.not((exclude.cljs$core$IFn$_invoke$arity$1 ? exclude.cljs$core$IFn$_invoke$arity$1(sym) : exclude.call(null,sym)))){\nvar v \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(ns,sym);\nif(cljs.core.truth_(v)){\n} else {\nthrow (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22 does not exist\x22].join(\x27\x27)\n));\n}\n\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(referred__$1,(function (){var or__5025__auto__ \x3d (rename.cljs$core$IFn$_invoke$arity$1 ? rename.cljs$core$IFn$_invoke$arity$1(sym) : rename.call(null,sym));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sym;\n}\n})(),v);\n} else {\nreturn referred__$1;\n}\n}),referred,to_do);\nvar the_current_ns__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),referred__$1);\nvar namespaces__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(namespaces,cnn,the_current_ns__$1);\nvar env__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(env,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespaces__$1);\nreturn env__$1;\n});\n/**\n * The function equivalent of :refer is handled differently than what we\n * did before (this is more like what Clojure itself does.) For\n * referring clojure.core we still use the old code.\n */\nsci.impl.load.eval_refer \x3d (function sci$impl$load$eval_refer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43795 \x3d arguments.length;\nvar i__5750__auto___43796 \x3d (0);\nwhile(true){\nif((i__5750__auto___43796 \x3c len__5749__auto___43795)){\nargs__5755__auto__.push((arguments[i__5750__auto___43796]));\n\nvar G__43797 \x3d (i__5750__auto___43796 + (1));\ni__5750__auto___43796 \x3d G__43797;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.load.eval_refer.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.load.eval_refer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ctx,ns_sym,filters){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),ns_sym)){\nsci.impl.load.eval_refer_clojure(ctx,filters);\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),sci.impl.load.eval_refer_STAR_,ns_sym,filters);\n}\n\nreturn null;\n}));\n\n(sci.impl.load.eval_refer.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.load.eval_refer.cljs$lang$applyTo \x3d (function (seq43668){\nvar G__43669 \x3d cljs.core.first(seq43668);\nvar seq43668__$1 \x3d cljs.core.next(seq43668);\nvar G__43670 \x3d cljs.core.first(seq43668__$1);\nvar seq43668__$2 \x3d cljs.core.next(seq43668__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43669,G__43670,seq43668__$2);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.analyzer.js", true, "goog.provide(\x27sci.impl.analyzer\x27);\ngoog.scope(function(){\n sci.impl.analyzer.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\nsci.impl.analyzer.recur_target \x3d (function sci$impl$analyzer$recur_target(ctx){\nreturn new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536).cljs$core$IFn$_invoke$arity$1(ctx);\n});\nsci.impl.analyzer.with_recur_target \x3d (function sci$impl$analyzer$with_recur_target(ctx,v){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536),v);\n});\nsci.impl.analyzer.without_recur_target \x3d (function sci$impl$analyzer$without_recur_target(var_args){\nvar G__46782 \x3d arguments.length;\nswitch (G__46782) {\ncase 1:\nreturn sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1 \x3d (function (ctx){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536),false);\n}));\n\n(sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reason){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536),false,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22no-recur-reason\x22,\x22no-recur-reason\x22,-1993064353),reason], 0));\n}));\n\n(sci.impl.analyzer.without_recur_target.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.analyzer.recur_target_QMARK_ \x3d (function sci$impl$analyzer$recur_target_QMARK_(ctx){\nreturn new cljs.core.Keyword(null,\x22recur-target\x22,\x22recur-target\x22,-1909494536).cljs$core$IFn$_invoke$arity$1(ctx);\n});\nsci.impl.analyzer.throw_error_with_location \x3d (function sci$impl$analyzer$throw_error_with_location(msg,node){\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$3(msg,node,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892),\x22analysis\x22], null));\n});\n\n\n\n\nsci.impl.analyzer.analyze_children_tail \x3d (function sci$impl$analyzer$analyze_children_tail(ctx,children){\nvar rt \x3d sci.impl.analyzer.recur_target(ctx);\nvar non_tail_ctx \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar analyzed_children_non_tail \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__46783_SHARP_){\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(non_tail_ctx,p1__46783_SHARP_) : sci.impl.analyzer.analyze.call(null,non_tail_ctx,p1__46783_SHARP_));\n}),cljs.core.butlast(children));\nvar ret_child \x3d (function (){var G__46786 \x3d sci.impl.analyzer.with_recur_target(ctx,rt);\nvar G__46787 \x3d cljs.core.last(children);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46786,G__46787) : sci.impl.analyzer.analyze.call(null,G__46786,G__46787));\n})();\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(analyzed_children_non_tail,ret_child);\n});\nsci.impl.analyzer.return_do \x3d (function sci$impl$analyzer$return_do(ctx,expr,children){\nvar child_count \x3d cljs.core.count(children);\nif((child_count \x3e (5))){\nvar node1 \x3d (function (){var G__46789 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__46790 \x3d expr;\nvar G__46791 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3(G__46789,G__46790,G__46791) : sci.impl.analyzer.return_do.call(null,G__46789,G__46790,G__46791));\n})();\nvar node2 \x3d (function (){var G__46792 \x3d ctx;\nvar G__46793 \x3d expr;\nvar G__46794 \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_do.cljs$core$IFn$_invoke$arity$3(G__46792,G__46793,G__46794) : sci.impl.analyzer.return_do.call(null,G__46792,G__46793,G__46794));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node2,ctx__$1,bindings);\n}),null);\n} else {\nvar analyzed_children \x3d sci.impl.analyzer.analyze_children_tail(ctx,children);\nvar G__46799 \x3d child_count;\nswitch (G__46799) {\ncase (0):\nreturn null;\n\nbreak;\ncase (1):\nreturn cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\n\nbreak;\ncase (2):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node1,ctx__$1,bindings);\n}),null);\n\nbreak;\ncase (3):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node2,ctx__$1,bindings);\n}),null);\n\nbreak;\ncase (4):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nsci.impl.types.eval(node2,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node3,ctx__$1,bindings);\n}),null);\n\nbreak;\ncase (5):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar node4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nsci.impl.types.eval(node0,ctx__$1,bindings);\n\nsci.impl.types.eval(node1,ctx__$1,bindings);\n\nsci.impl.types.eval(node2,ctx__$1,bindings);\n\nsci.impl.types.eval(node3,ctx__$1,bindings);\n\nreturn sci.impl.types.eval(node4,ctx__$1,bindings);\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46799)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.return_or \x3d (function sci$impl$analyzer$return_or(ctx,expr,children){\nvar child_count_SHARP_ \x3d cljs.core.count(children);\nif((child_count_SHARP_ \x3e (5))){\nvar a0_SHARP_ \x3d (function (){var G__46805 \x3d ctx;\nvar G__46806 \x3d expr;\nvar G__46807 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3(G__46805,G__46806,G__46807) : sci.impl.analyzer.return_or.call(null,G__46805,G__46806,G__46807));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46811 \x3d ctx;\nvar G__46812 \x3d expr;\nvar G__46813 \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_or.cljs$core$IFn$_invoke$arity$3(G__46811,G__46812,G__46813) : sci.impl.analyzer.return_or.call(null,G__46811,G__46812,G__46813));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n}\n}),null);\n} else {\nvar children__$1 \x3d sci.impl.analyzer.analyze_children_tail(ctx,children);\nvar G__46814 \x3d child_count_SHARP_;\nswitch (G__46814) {\ncase (0):\nreturn null;\n\nbreak;\ncase (1):\nvar G__46815 \x3d ctx;\nvar G__46816 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46815,G__46816) : sci.impl.analyzer.analyze.call(null,G__46815,G__46816));\n\nbreak;\ncase (2):\nvar a0_SHARP_ \x3d (function (){var G__46817 \x3d ctx;\nvar G__46818 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46817,G__46818) : sci.impl.analyzer.analyze.call(null,G__46817,G__46818));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46819 \x3d ctx;\nvar G__46820 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46819,G__46820) : sci.impl.analyzer.analyze.call(null,G__46819,G__46820));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n}\n}),null);\n\nbreak;\ncase (3):\nvar a0_SHARP_ \x3d (function (){var G__46823 \x3d ctx;\nvar G__46824 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46823,G__46824) : sci.impl.analyzer.analyze.call(null,G__46823,G__46824));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46825 \x3d ctx;\nvar G__46826 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46825,G__46826) : sci.impl.analyzer.analyze.call(null,G__46825,G__46826));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46827 \x3d ctx;\nvar G__46828 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46827,G__46828) : sci.impl.analyzer.analyze.call(null,G__46827,G__46828));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\n}\n}\n}),null);\n\nbreak;\ncase (4):\nvar a0_SHARP_ \x3d (function (){var G__46830 \x3d ctx;\nvar G__46831 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46830,G__46831) : sci.impl.analyzer.analyze.call(null,G__46830,G__46831));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46833 \x3d ctx;\nvar G__46834 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46833,G__46834) : sci.impl.analyzer.analyze.call(null,G__46833,G__46834));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46836 \x3d ctx;\nvar G__46837 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46836,G__46837) : sci.impl.analyzer.analyze.call(null,G__46836,G__46837));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46838 \x3d ctx;\nvar G__46839 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46838,G__46839) : sci.impl.analyzer.analyze.call(null,G__46838,G__46839));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nreturn sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\n}\n}\n}\n}),null);\n\nbreak;\ncase (5):\nvar a0_SHARP_ \x3d (function (){var G__46842 \x3d ctx;\nvar G__46843 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46842,G__46843) : sci.impl.analyzer.analyze.call(null,G__46842,G__46843));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46844 \x3d ctx;\nvar G__46845 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46844,G__46845) : sci.impl.analyzer.analyze.call(null,G__46844,G__46845));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46846 \x3d ctx;\nvar G__46847 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46846,G__46847) : sci.impl.analyzer.analyze.call(null,G__46846,G__46847));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46848 \x3d ctx;\nvar G__46849 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46848,G__46849) : sci.impl.analyzer.analyze.call(null,G__46848,G__46849));\n})();\nvar a4_SHARP_ \x3d (function (){var G__46850 \x3d ctx;\nvar G__46851 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(4));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46850,G__46851) : sci.impl.analyzer.analyze.call(null,G__46850,G__46851));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar or__5025__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nvar or__5025__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$2)){\nreturn or__5025__auto____$2;\n} else {\nvar or__5025__auto____$3 \x3d sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(or__5025__auto____$3)){\nreturn or__5025__auto____$3;\n} else {\nreturn sci.impl.types.eval(a4_SHARP_,ctx__$1,bindings);\n}\n}\n}\n}\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46814)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.return_and \x3d (function sci$impl$analyzer$return_and(ctx,expr,children){\nvar child_count_SHARP_ \x3d cljs.core.count(children);\nif((child_count_SHARP_ \x3e (5))){\nvar a0_SHARP_ \x3d (function (){var G__46855 \x3d ctx;\nvar G__46856 \x3d expr;\nvar G__46857 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3(G__46855,G__46856,G__46857) : sci.impl.analyzer.return_and.call(null,G__46855,G__46856,G__46857));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46858 \x3d ctx;\nvar G__46859 \x3d expr;\nvar G__46860 \x3d cljs.core.drop.cljs$core$IFn$_invoke$arity$2((5),children);\nreturn (sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.return_and.cljs$core$IFn$_invoke$arity$3(G__46858,G__46859,G__46860) : sci.impl.analyzer.return_and.call(null,G__46858,G__46859,G__46860));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n} else {\nvar children__$1 \x3d sci.impl.analyzer.analyze_children_tail(ctx,children);\nvar G__46862 \x3d child_count_SHARP_;\nswitch (G__46862) {\ncase (0):\nreturn true;\n\nbreak;\ncase (1):\nvar G__46863 \x3d ctx;\nvar G__46864 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46863,G__46864) : sci.impl.analyzer.analyze.call(null,G__46863,G__46864));\n\nbreak;\ncase (2):\nvar a0_SHARP_ \x3d (function (){var G__46865 \x3d ctx;\nvar G__46866 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46865,G__46866) : sci.impl.analyzer.analyze.call(null,G__46865,G__46866));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46867 \x3d ctx;\nvar G__46868 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46867,G__46868) : sci.impl.analyzer.analyze.call(null,G__46867,G__46868));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nreturn sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ncase (3):\nvar a0_SHARP_ \x3d (function (){var G__46872 \x3d ctx;\nvar G__46873 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46872,G__46873) : sci.impl.analyzer.analyze.call(null,G__46872,G__46873));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46874 \x3d ctx;\nvar G__46875 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46874,G__46875) : sci.impl.analyzer.analyze.call(null,G__46874,G__46875));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46876 \x3d ctx;\nvar G__46877 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46876,G__46877) : sci.impl.analyzer.analyze.call(null,G__46876,G__46877));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ncase (4):\nvar a0_SHARP_ \x3d (function (){var G__46879 \x3d ctx;\nvar G__46880 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46879,G__46880) : sci.impl.analyzer.analyze.call(null,G__46879,G__46880));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46881 \x3d ctx;\nvar G__46882 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46881,G__46882) : sci.impl.analyzer.analyze.call(null,G__46881,G__46882));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46883 \x3d ctx;\nvar G__46884 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46883,G__46884) : sci.impl.analyzer.analyze.call(null,G__46883,G__46884));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46885 \x3d ctx;\nvar G__46886 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46885,G__46886) : sci.impl.analyzer.analyze.call(null,G__46885,G__46886));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$2)){\nreturn sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ncase (5):\nvar a0_SHARP_ \x3d (function (){var G__46889 \x3d ctx;\nvar G__46890 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(0));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46889,G__46890) : sci.impl.analyzer.analyze.call(null,G__46889,G__46890));\n})();\nvar a1_SHARP_ \x3d (function (){var G__46891 \x3d ctx;\nvar G__46892 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(1));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46891,G__46892) : sci.impl.analyzer.analyze.call(null,G__46891,G__46892));\n})();\nvar a2_SHARP_ \x3d (function (){var G__46893 \x3d ctx;\nvar G__46894 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(2));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46893,G__46894) : sci.impl.analyzer.analyze.call(null,G__46893,G__46894));\n})();\nvar a3_SHARP_ \x3d (function (){var G__46895 \x3d ctx;\nvar G__46896 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46895,G__46896) : sci.impl.analyzer.analyze.call(null,G__46895,G__46896));\n})();\nvar a4_SHARP_ \x3d (function (){var G__46897 \x3d ctx;\nvar G__46898 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children__$1,(4));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__46897,G__46898) : sci.impl.analyzer.analyze.call(null,G__46897,G__46898));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar and__5023__auto__ \x3d sci.impl.types.eval(a0_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d sci.impl.types.eval(a1_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$1)){\nvar and__5023__auto____$2 \x3d sci.impl.types.eval(a2_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$2)){\nvar and__5023__auto____$3 \x3d sci.impl.types.eval(a3_SHARP_,ctx__$1,bindings);\nif(cljs.core.truth_(and__5023__auto____$3)){\nreturn sci.impl.types.eval(a4_SHARP_,ctx__$1,bindings);\n} else {\nreturn and__5023__auto____$3;\n}\n} else {\nreturn and__5023__auto____$2;\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46862)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.return_recur \x3d (function sci$impl$analyzer$return_recur(ctx,expr,analyzed_children){\nif(cljs.core.truth_(sci.impl.analyzer.recur_target_QMARK_(ctx))){\n} else {\nsci.impl.analyzer.throw_error_with_location((function (){var G__46901 \x3d new cljs.core.Keyword(null,\x22no-recur-reason\x22,\x22no-recur-reason\x22,-1993064353).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__46901__$1 \x3d (((G__46901 instanceof cljs.core.Keyword))?G__46901.fqn:null);\nswitch (G__46901__$1) {\ncase \x22try\x22:\nreturn \x22Cannot recur across try\x22;\n\nbreak;\ndefault:\nreturn \x22Can only recur from tail position\x22;\n\n}\n})(),expr);\n}\n\nvar params \x3d new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar G__46904 \x3d cljs.core.count(analyzed_children);\nswitch (G__46904) {\ncase (0):\nvar recur__45795__auto__ \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn recur__45795__auto__;\n}),null);\n\nbreak;\ncase (1):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (3):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (4):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (5):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (6):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (7):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (8):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (9):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (10):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (11):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (12):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (13):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (14):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (15):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (16):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (17):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar param16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(16));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\nvar eval_16 \x3d sci.impl.types.eval(arg16,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\n(bindings[(16)] \x3d eval_16);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (18):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar param16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar param17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(17));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\nvar eval_16 \x3d sci.impl.types.eval(arg16,ctx__$1,bindings);\nvar eval_17 \x3d sci.impl.types.eval(arg17,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\n(bindings[(16)] \x3d eval_16);\n\n(bindings[(17)] \x3d eval_17);\n\nreturn recur46900;\n}),null);\n\nbreak;\ncase (19):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar param0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar param1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar param2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar param3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar param4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar param5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar param6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar param7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar param8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar param9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar param10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar param11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar param12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar param13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar param14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar param15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar param16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar param17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(17));\nvar arg18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(18));\nvar param18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(params,(18));\nvar recur46900 \x3d sci.impl.utils.recur;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar eval_0 \x3d sci.impl.types.eval(arg0,ctx__$1,bindings);\nvar eval_1 \x3d sci.impl.types.eval(arg1,ctx__$1,bindings);\nvar eval_2 \x3d sci.impl.types.eval(arg2,ctx__$1,bindings);\nvar eval_3 \x3d sci.impl.types.eval(arg3,ctx__$1,bindings);\nvar eval_4 \x3d sci.impl.types.eval(arg4,ctx__$1,bindings);\nvar eval_5 \x3d sci.impl.types.eval(arg5,ctx__$1,bindings);\nvar eval_6 \x3d sci.impl.types.eval(arg6,ctx__$1,bindings);\nvar eval_7 \x3d sci.impl.types.eval(arg7,ctx__$1,bindings);\nvar eval_8 \x3d sci.impl.types.eval(arg8,ctx__$1,bindings);\nvar eval_9 \x3d sci.impl.types.eval(arg9,ctx__$1,bindings);\nvar eval_10 \x3d sci.impl.types.eval(arg10,ctx__$1,bindings);\nvar eval_11 \x3d sci.impl.types.eval(arg11,ctx__$1,bindings);\nvar eval_12 \x3d sci.impl.types.eval(arg12,ctx__$1,bindings);\nvar eval_13 \x3d sci.impl.types.eval(arg13,ctx__$1,bindings);\nvar eval_14 \x3d sci.impl.types.eval(arg14,ctx__$1,bindings);\nvar eval_15 \x3d sci.impl.types.eval(arg15,ctx__$1,bindings);\nvar eval_16 \x3d sci.impl.types.eval(arg16,ctx__$1,bindings);\nvar eval_17 \x3d sci.impl.types.eval(arg17,ctx__$1,bindings);\nvar eval_18 \x3d sci.impl.types.eval(arg18,ctx__$1,bindings);\n(bindings[(0)] \x3d eval_0);\n\n(bindings[(1)] \x3d eval_1);\n\n(bindings[(2)] \x3d eval_2);\n\n(bindings[(3)] \x3d eval_3);\n\n(bindings[(4)] \x3d eval_4);\n\n(bindings[(5)] \x3d eval_5);\n\n(bindings[(6)] \x3d eval_6);\n\n(bindings[(7)] \x3d eval_7);\n\n(bindings[(8)] \x3d eval_8);\n\n(bindings[(9)] \x3d eval_9);\n\n(bindings[(10)] \x3d eval_10);\n\n(bindings[(11)] \x3d eval_11);\n\n(bindings[(12)] \x3d eval_12);\n\n(bindings[(13)] \x3d eval_13);\n\n(bindings[(14)] \x3d eval_14);\n\n(bindings[(15)] \x3d eval_15);\n\n(bindings[(16)] \x3d eval_16);\n\n(bindings[(17)] \x3d eval_17);\n\n(bindings[(18)] \x3d eval_18);\n\nreturn recur46900;\n}),null);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__46904)].join(\x27\x27)));\n\n}\n});\nsci.impl.analyzer.analyze_children \x3d (function sci$impl$analyzer$analyze_children(ctx,children){\nreturn cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (p1__46951_SHARP_){\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,p1__46951_SHARP_) : sci.impl.analyzer.analyze.call(null,ctx,p1__46951_SHARP_));\n}),children);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IRecord}\n * @implements {cljs.core.IKVReduce}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.ICollection}\n * @implements {cljs.core.ICounted}\n * @implements {cljs.core.ISeqable}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.ICloneable}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IIterable}\n * @implements {cljs.core.IWithMeta}\n * @implements {cljs.core.IAssociative}\n * @implements {cljs.core.IMap}\n * @implements {cljs.core.ILookup}\n*/\nsci.impl.analyzer.FnBody \x3d (function (params,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx,__meta,__extmap,__hash){\nthis.params \x3d params;\nthis.body \x3d body;\nthis.fixed_arity \x3d fixed_arity;\nthis.var_arg_name \x3d var_arg_name;\nthis.self_ref_idx \x3d self_ref_idx;\nthis.iden__GT_invoke_idx \x3d iden__GT_invoke_idx;\nthis.__meta \x3d __meta;\nthis.__extmap \x3d __extmap;\nthis.__hash \x3d __hash;\nthis.cljs$lang$protocol_mask$partition0$ \x3d 2230716170;\nthis.cljs$lang$protocol_mask$partition1$ \x3d 139264;\n});\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ILookup$_lookup$arity$2 \x3d (function (this__5323__auto__,k__5324__auto__){\nvar self__ \x3d this;\nvar this__5323__auto____$1 \x3d this;\nreturn this__5323__auto____$1.cljs$core$ILookup$_lookup$arity$3(null,k__5324__auto__,null);\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ILookup$_lookup$arity$3 \x3d (function (this__5325__auto__,k46954,else__5326__auto__){\nvar self__ \x3d this;\nvar this__5325__auto____$1 \x3d this;\nvar G__46958 \x3d k46954;\nvar G__46958__$1 \x3d (((G__46958 instanceof cljs.core.Keyword))?G__46958.fqn:null);\nswitch (G__46958__$1) {\ncase \x22params\x22:\nreturn self__.params;\n\nbreak;\ncase \x22body\x22:\nreturn self__.body;\n\nbreak;\ncase \x22fixed-arity\x22:\nreturn self__.fixed_arity;\n\nbreak;\ncase \x22var-arg-name\x22:\nreturn self__.var_arg_name;\n\nbreak;\ncase \x22self-ref-idx\x22:\nreturn self__.self_ref_idx;\n\nbreak;\ncase \x22iden-\x3einvoke-idx\x22:\nreturn self__.iden__GT_invoke_idx;\n\nbreak;\ndefault:\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k46954,else__5326__auto__);\n\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 \x3d (function (this__5343__auto__,f__5344__auto__,init__5345__auto__){\nvar self__ \x3d this;\nvar this__5343__auto____$1 \x3d this;\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret__5346__auto__,p__46960){\nvar vec__46962 \x3d p__46960;\nvar k__5347__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46962,(0),null);\nvar v__5348__auto__ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46962,(1),null);\nreturn (f__5344__auto__.cljs$core$IFn$_invoke$arity$3 ? f__5344__auto__.cljs$core$IFn$_invoke$arity$3(ret__5346__auto__,k__5347__auto__,v__5348__auto__) : f__5344__auto__.call(null,ret__5346__auto__,k__5347__auto__,v__5348__auto__));\n}),init__5345__auto__,this__5343__auto____$1);\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 \x3d (function (this__5338__auto__,writer__5339__auto__,opts__5340__auto__){\nvar self__ \x3d this;\nvar this__5338__auto____$1 \x3d this;\nvar pr_pair__5341__auto__ \x3d (function (keyval__5342__auto__){\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,cljs.core.pr_writer,\x22\x22,\x22 \x22,\x22\x22,opts__5340__auto__,keyval__5342__auto__);\n});\nreturn cljs.core.pr_sequential_writer(writer__5339__auto__,pr_pair__5341__auto__,\x22#sci.impl.analyzer.FnBody{\x22,\x22, \x22,\x22}\x22,opts__5340__auto__,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),self__.body],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),self__.fixed_arity],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),self__.var_arg_name],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),self__.self_ref_idx],null)),(new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),self__.iden__GT_invoke_idx],null))], null),self__.__extmap));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IIterable$_iterator$arity$1 \x3d (function (G__46953){\nvar self__ \x3d this;\nvar G__46953__$1 \x3d this;\nreturn (new cljs.core.RecordIter((0),G__46953__$1,6,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026)], null),(cljs.core.truth_(self__.__extmap)?cljs.core._iterator(self__.__extmap):cljs.core.nil_iter())));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IMeta$_meta$arity$1 \x3d (function (this__5321__auto__){\nvar self__ \x3d this;\nvar this__5321__auto____$1 \x3d this;\nreturn self__.__meta;\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ICloneable$_clone$arity$1 \x3d (function (this__5318__auto__){\nvar self__ \x3d this;\nvar this__5318__auto____$1 \x3d this;\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ICounted$_count$arity$1 \x3d (function (this__5327__auto__){\nvar self__ \x3d this;\nvar this__5327__auto____$1 \x3d this;\nreturn (6 + cljs.core.count(self__.__extmap));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IHash$_hash$arity$1 \x3d (function (this__5319__auto__){\nvar self__ \x3d this;\nvar this__5319__auto____$1 \x3d this;\nvar h__5134__auto__ \x3d self__.__hash;\nif((!((h__5134__auto__ \x3d\x3d null)))){\nreturn h__5134__auto__;\n} else {\nvar h__5134__auto____$1 \x3d (function (coll__5320__auto__){\nreturn (1733662014 ^ cljs.core.hash_unordered_coll(coll__5320__auto__));\n})(this__5319__auto____$1);\n(self__.__hash \x3d h__5134__auto____$1);\n\nreturn h__5134__auto____$1;\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IEquiv$_equiv$arity$2 \x3d (function (this46955,other46956){\nvar self__ \x3d this;\nvar this46955__$1 \x3d this;\nreturn (((!((other46956 \x3d\x3d null)))) \x26\x26 ((((this46955__$1.constructor \x3d\x3d\x3d other46956.constructor)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.params,other46956.params)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.body,other46956.body)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.fixed_arity,other46956.fixed_arity)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.var_arg_name,other46956.var_arg_name)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.self_ref_idx,other46956.self_ref_idx)) \x26\x26 (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.iden__GT_invoke_idx,other46956.iden__GT_invoke_idx)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this46955__$1.__extmap,other46956.__extmap)))))))))))))))));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IMap$_dissoc$arity$2 \x3d (function (this__5333__auto__,k__5334__auto__){\nvar self__ \x3d this;\nvar this__5333__auto____$1 \x3d this;\nif(cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),null,new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),null,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),null,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),null,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),null], null), null),k__5334__auto__)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(cljs.core._with_meta(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,this__5333__auto____$1),self__.__meta),k__5334__auto__);\n} else {\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,cljs.core.not_empty(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.__extmap,k__5334__auto__)),null));\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 \x3d (function (this__5330__auto__,k46954){\nvar self__ \x3d this;\nvar this__5330__auto____$1 \x3d this;\nvar G__46977 \x3d k46954;\nvar G__46977__$1 \x3d (((G__46977 instanceof cljs.core.Keyword))?G__46977.fqn:null);\nswitch (G__46977__$1) {\ncase \x22params\x22:\ncase \x22body\x22:\ncase \x22fixed-arity\x22:\ncase \x22var-arg-name\x22:\ncase \x22self-ref-idx\x22:\ncase \x22iden-\x3einvoke-idx\x22:\nreturn true;\n\nbreak;\ndefault:\nreturn cljs.core.contains_QMARK_(self__.__extmap,k46954);\n\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IAssociative$_assoc$arity$3 \x3d (function (this__5331__auto__,k__5332__auto__,G__46953){\nvar self__ \x3d this;\nvar this__5331__auto____$1 \x3d this;\nvar pred__46978 \x3d cljs.core.keyword_identical_QMARK_;\nvar expr__46979 \x3d k__5332__auto__;\nif(cljs.core.truth_((pred__46978.cljs$core$IFn$_invoke$arity$2 ? pred__46978.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__46979) : pred__46978.call(null,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),expr__46979)))){\nreturn (new sci.impl.analyzer.FnBody(G__46953,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__46978.cljs$core$IFn$_invoke$arity$2 ? pred__46978.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),expr__46979) : pred__46978.call(null,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),expr__46979)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,G__46953,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__46978.cljs$core$IFn$_invoke$arity$2 ? pred__46978.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),expr__46979) : pred__46978.call(null,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),expr__46979)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,G__46953,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__46978.cljs$core$IFn$_invoke$arity$2 ? pred__46978.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),expr__46979) : pred__46978.call(null,new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),expr__46979)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,G__46953,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__46978.cljs$core$IFn$_invoke$arity$2 ? pred__46978.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),expr__46979) : pred__46978.call(null,new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),expr__46979)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,G__46953,self__.iden__GT_invoke_idx,self__.__meta,self__.__extmap,null));\n} else {\nif(cljs.core.truth_((pred__46978.cljs$core$IFn$_invoke$arity$2 ? pred__46978.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),expr__46979) : pred__46978.call(null,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),expr__46979)))){\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,G__46953,self__.__meta,self__.__extmap,null));\n} else {\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,self__.__meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.__extmap,k__5332__auto__,G__46953),null));\n}\n}\n}\n}\n}\n}\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ISeqable$_seq$arity$1 \x3d (function (this__5336__auto__){\nvar self__ \x3d this;\nvar this__5336__auto____$1 \x3d this;\nreturn cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),self__.params,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),self__.body,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),self__.fixed_arity,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),self__.var_arg_name,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),self__.self_ref_idx,null)),(new cljs.core.MapEntry(new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),self__.iden__GT_invoke_idx,null))], null),self__.__extmap));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$IWithMeta$_with_meta$arity$2 \x3d (function (this__5322__auto__,G__46953){\nvar self__ \x3d this;\nvar this__5322__auto____$1 \x3d this;\nreturn (new sci.impl.analyzer.FnBody(self__.params,self__.body,self__.fixed_arity,self__.var_arg_name,self__.self_ref_idx,self__.iden__GT_invoke_idx,G__46953,self__.__extmap,self__.__hash));\n}));\n\n(sci.impl.analyzer.FnBody.prototype.cljs$core$ICollection$_conj$arity$2 \x3d (function (this__5328__auto__,entry__5329__auto__){\nvar self__ \x3d this;\nvar this__5328__auto____$1 \x3d this;\nif(cljs.core.vector_QMARK_(entry__5329__auto__)){\nreturn this__5328__auto____$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth(entry__5329__auto__,(0)),cljs.core._nth(entry__5329__auto__,(1)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,this__5328__auto____$1,entry__5329__auto__);\n}\n}));\n\n(sci.impl.analyzer.FnBody.getBasis \x3d (function (){\nreturn new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params\x22,\x22params\x22,-1943919534,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null),new cljs.core.Symbol(null,\x22fixed-arity\x22,\x22fixed-arity\x22,-1067989900,null),new cljs.core.Symbol(null,\x22var-arg-name\x22,\x22var-arg-name\x22,540506640,null),new cljs.core.Symbol(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,255993715,null),new cljs.core.Symbol(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-157095499,null)], null);\n}));\n\n(sci.impl.analyzer.FnBody.cljs$lang$type \x3d true);\n\n(sci.impl.analyzer.FnBody.cljs$lang$ctorPrSeq \x3d (function (this__5369__auto__){\nreturn (new cljs.core.List(null,\x22sci.impl.analyzer/FnBody\x22,null,(1),null));\n}));\n\n(sci.impl.analyzer.FnBody.cljs$lang$ctorPrWriter \x3d (function (this__5369__auto__,writer__5370__auto__){\nreturn cljs.core._write(writer__5370__auto__,\x22sci.impl.analyzer/FnBody\x22);\n}));\n\n/**\n * Positional factory function for sci.impl.analyzer/FnBody.\n */\nsci.impl.analyzer.__GT_FnBody \x3d (function sci$impl$analyzer$__GT_FnBody(params,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx){\nreturn (new sci.impl.analyzer.FnBody(params,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx,null,null,null));\n});\n\n/**\n * Factory function for sci.impl.analyzer/FnBody, taking a map of keywords to field values.\n */\nsci.impl.analyzer.map__GT_FnBody \x3d (function sci$impl$analyzer$map__GT_FnBody(G__46957){\nvar extmap__5365__auto__ \x3d (function (){var G__46985 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__46957,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887),new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812),new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026)], 0));\nif(cljs.core.record_QMARK_(G__46957)){\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,G__46985);\n} else {\nreturn G__46985;\n}\n})();\nreturn (new sci.impl.analyzer.FnBody(new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235).cljs$core$IFn$_invoke$arity$1(G__46957),new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(G__46957),new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(G__46957),new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(G__46957),new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812).cljs$core$IFn$_invoke$arity$1(G__46957),new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(G__46957),null,cljs.core.not_empty(extmap__5365__auto__),null));\n});\n\nsci.impl.analyzer.expand_fn_args_PLUS_body \x3d (function sci$impl$analyzer$expand_fn_args_PLUS_body(p__46987,p__46988,_macro_QMARK_,fn_name,fn_id){\nvar map__46990 \x3d p__46987;\nvar map__46990__$1 \x3d cljs.core.__destructure_map(map__46990);\nvar ctx \x3d map__46990__$1;\nvar fn_expr \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46990__$1,new cljs.core.Keyword(null,\x22fn-expr\x22,\x22fn-expr\x22,-933027985));\nvar vec__46991 \x3d p__46988;\nvar seq__46992 \x3d cljs.core.seq(vec__46991);\nvar first__46993 \x3d cljs.core.first(seq__46992);\nvar seq__46992__$1 \x3d cljs.core.next(seq__46992);\nvar binding_vector \x3d first__46993;\nvar body_exprs \x3d seq__46992__$1;\nif(cljs.core.truth_(binding_vector)){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Parameter declaration missing.\x22,fn_expr);\n}\n\nif(cljs.core.vector_QMARK_(binding_vector)){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Parameter declaration should be a vector\x22,fn_expr);\n}\n\nvar vec__46994 \x3d cljs.core.split_with((function (p1__46986_SHARP_){\nreturn cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),p1__46986_SHARP_);\n}),binding_vector);\nvar fixed_args \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46994,(0),null);\nvar vec__46997 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46994,(1),null);\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46997,(0),null);\nvar var_arg_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46997,(1),null);\nvar fixed_args__$1 \x3d cljs.core.vec(fixed_args);\nvar fixed_arity \x3d cljs.core.count(fixed_args__$1);\nvar param_names \x3d (function (){var G__47000 \x3d fixed_args__$1;\nif(cljs.core.truth_(var_arg_name)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(G__47000,var_arg_name);\n} else {\nreturn G__47000;\n}\n})();\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22params\x22,\x22params\x22,710516235),param_names);\nvar param_count \x3d cljs.core.count(param_names);\nvar param_idens \x3d cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2(param_count,cljs.core.gensym);\nvar param_bindings \x3d cljs.core.zipmap(param_names,param_idens);\nvar iden__GT_invoke_idx \x3d cljs.core.zipmap(param_idens,cljs.core.range.cljs$core$IFn$_invoke$arity$0());\nvar bindings \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx__$1),param_names);\nvar ctx__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$1,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([bindings,param_bindings], 0)));\nvar ctx__$3 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$2,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),iden__GT_invoke_idx);\nvar ctx__$4 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$4(ctx__$3,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),cljs.core.conj,(function (){var or__5025__auto__ \x3d var_arg_name;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn fixed_arity;\n}\n})());\nvar ___$1 \x3d cljs.core._vreset_BANG_(new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4),cljs.core.assoc_in(cljs.core._deref(new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx__$4),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)),cljs.core.zipmap(param_idens,cljs.core.range.cljs$core$IFn$_invoke$arity$0())));\nvar self_ref_idx \x3d (cljs.core.truth_(fn_name)?(function (){var G__47005 \x3d ctx__$4;\nvar G__47006 \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4);\nvar G__47007 \x3d fn_id;\nreturn (sci.impl.analyzer.update_parents.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.update_parents.cljs$core$IFn$_invoke$arity$3(G__47005,G__47006,G__47007) : sci.impl.analyzer.update_parents.call(null,G__47005,G__47006,G__47007));\n})():null);\nvar body \x3d sci.impl.analyzer.return_do(sci.impl.analyzer.with_recur_target(ctx__$4,true),fn_expr,body_exprs);\nvar iden__GT_invoke_idx__$1 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx__$4),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)));\nvar G__47008 \x3d sci.impl.analyzer.__GT_FnBody(binding_vector,body,fixed_arity,var_arg_name,self_ref_idx,iden__GT_invoke_idx__$1);\nif(cljs.core.truth_(var_arg_name)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__47008,new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228),cljs.core.get.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx__$1,cljs.core.last(param_idens)));\n} else {\nreturn G__47008;\n}\n});\nsci.impl.analyzer.analyzed_fn_meta \x3d (function sci$impl$analyzer$analyzed_fn_meta(ctx,m){\nvar meta_needs_eval_QMARK_ \x3d (cljs.core.count(m) \x3e (2));\nvar m__$1 \x3d ((meta_needs_eval_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((function (){var G__47010 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964),true);\nvar G__47011 \x3d m;\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47010,G__47011) : sci.impl.analyzer.analyze.call(null,G__47010,G__47011));\n})(),cljs.core.assoc,new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978),new cljs.core.Keyword(null,\x22eval\x22,\x22eval\x22,-1103567905)):m);\nreturn m__$1;\n});\nsci.impl.analyzer.single_arity_fn \x3d (function sci$impl$analyzer$single_arity_fn(bindings_fn,fn_body,fn_name,self_ref_in_enclosed_idx,self_ref_QMARK_,nsm,fn_meta,macro_QMARK_){\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar copy_enclosed__GT_invocation \x3d new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar invoc_size \x3d new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar body \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar vararg_idx \x3d new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228).cljs$core$IFn$_invoke$arity$1(fn_body);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nvar enclosed_array \x3d (bindings_fn.cljs$core$IFn$_invoke$arity$1 ? bindings_fn.cljs$core$IFn$_invoke$arity$1(bindings) : bindings_fn.call(null,bindings));\nvar f \x3d sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,body,fn_name,macro_QMARK_,fixed_arity,copy_enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx);\nvar f__$1 \x3d (((fn_meta \x3d\x3d null))?f:(function (){var fn_meta__$1 \x3d sci.impl.types.eval(fn_meta,ctx,bindings);\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(f,cljs.core.merge,fn_meta__$1);\n})());\nvar f__$2 \x3d (cljs.core.truth_(macro_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(f__$1,(function (p1__47013_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(p1__47013_SHARP_,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),macro_QMARK_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci.impl\x22,\x22inner-fn\x22,\x22sci.impl/inner-fn\x22,1663302998),f__$1], 0));\n})):f__$1);\nif(cljs.core.truth_(self_ref_QMARK_)){\n(enclosed_array[self_ref_in_enclosed_idx] \x3d f__$2);\n} else {\n}\n\nreturn f__$2;\n}),null);\n});\nsci.impl.analyzer.multi_arity_fn_body \x3d (function sci$impl$analyzer$multi_arity_fn_body(fn_body,fn_name,nsm){\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar copy_enclosed__GT_invocation \x3d new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar invoc_size \x3d new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar body \x3d new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar vararg_idx \x3d new cljs.core.Keyword(null,\x22vararg-idx\x22,\x22vararg-idx\x22,-590991228).cljs$core$IFn$_invoke$arity$1(fn_body);\nreturn (function (enclosed_array){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nvar f \x3d sci.impl.fns.fun.cljs$core$IFn$_invoke$arity$11(ctx,enclosed_array,body,fn_name,sci.impl.utils.macro_QMARK_,fixed_arity,copy_enclosed__GT_invocation,body,invoc_size,nsm,vararg_idx);\nreturn f;\n}),null);\n});\n});\nsci.impl.analyzer.analyze_fn_STAR_ \x3d (function sci$impl$analyzer$analyze_fn_STAR_(ctx,p__47022){\nvar vec__47023 \x3d p__47022;\nvar seq__47024 \x3d cljs.core.seq(vec__47023);\nvar first__47025 \x3d cljs.core.first(seq__47024);\nvar seq__47024__$1 \x3d cljs.core.next(seq__47024);\nvar _fn \x3d first__47025;\nvar first__47025__$1 \x3d cljs.core.first(seq__47024__$1);\nvar seq__47024__$2 \x3d cljs.core.next(seq__47024__$1);\nvar name_QMARK_ \x3d first__47025__$1;\nvar body \x3d seq__47024__$2;\nvar fn_expr \x3d vec__47023;\nvar fn_expr_m \x3d cljs.core.meta(fn_expr);\nvar fn_extra_m \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22fn\x22,\x22sci.impl/fn\x22,1695180073).cljs$core$IFn$_invoke$arity$1(fn_expr_m);\nvar macro_QMARK_ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(fn_extra_m);\nvar defn_name \x3d new cljs.core.Keyword(null,\x22fn-name\x22,\x22fn-name\x22,-766594004).cljs$core$IFn$_invoke$arity$1(fn_extra_m);\nvar fn_expr_m__$1 \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(fn_expr_m,new cljs.core.Keyword(\x22sci.impl\x22,\x22fn\x22,\x22sci.impl/fn\x22,1695180073));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22fn-expr\x22,\x22fn-expr\x22,-933027985),fn_expr);\nvar fn_name \x3d (((name_QMARK_ instanceof cljs.core.Symbol))?name_QMARK_:null);\nvar body__$1 \x3d (cljs.core.truth_(fn_name)?body:cljs.core.cons(name_QMARK_,body));\nvar bodies \x3d ((cljs.core.seq_QMARK_(cljs.core.first(body__$1)))?body__$1:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [body__$1], null));\nvar fn_id \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar parents \x3d cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentVector.EMPTY)(new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx__$1),fn_id);\nvar ctx__$2 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$1,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),parents);\nvar ctx__$3 \x3d (cljs.core.truth_(fn_name)?cljs.core.assoc_in(ctx__$2,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),fn_name], null),fn_id):ctx__$2);\nvar fn_name__$1 \x3d (function (){var or__5025__auto__ \x3d defn_name;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn fn_name;\n}\n})();\nvar bindings \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx__$3);\nvar bound_idens \x3d cljs.core.set(cljs.core.vals(bindings));\nvar ctx__$4 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$3,new cljs.core.Keyword(null,\x22outer-idens\x22,\x22outer-idens\x22,1197381241),bound_idens);\nvar closure_bindings \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$4);\nvar analyzed_bodies \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__47032,body__$2){\nvar map__47033 \x3d p__47032;\nvar map__47033__$1 \x3d cljs.core.__destructure_map(map__47033);\nvar acc \x3d map__47033__$1;\nvar max_fixed \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__47033__$1,new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124));\nvar min_varargs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__47033__$1,new cljs.core.Keyword(null,\x22min-varargs\x22,\x22min-varargs\x22,1999010596));\nvar orig_body \x3d body__$2;\nvar arglist \x3d cljs.core.first(body__$2);\nvar body__$3 \x3d sci.impl.analyzer.expand_fn_args_PLUS_body(ctx__$4,body__$2,macro_QMARK_,fn_name__$1,fn_id);\nvar var_arg_name \x3d new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(body__$3);\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(body__$3);\nvar new_min_varargs \x3d (cljs.core.truth_(var_arg_name)?fixed_arity:null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d var_arg_name;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn min_varargs;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.analyzer.throw_error_with_location(\x22Can\x27t have more than 1 variadic overload\x22,fn_expr);\n} else {\n}\n\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(var_arg_name);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d min_varargs;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn (fixed_arity \x3e min_varargs);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.analyzer.throw_error_with_location(\x22Can\x27t have fixed arity function with more params than variadic function\x22,fn_expr);\n} else {\n}\n\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.update.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(acc,new cljs.core.Keyword(null,\x22min-varargs\x22,\x22min-varargs\x22,1999010596),new_min_varargs,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),(function (){var x__5110__auto__ \x3d fixed_arity;\nvar y__5111__auto__ \x3d max_fixed;\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})()], 0)),new cljs.core.Keyword(null,\x22bodies\x22,\x22bodies\x22,-1295887172),cljs.core.conj,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(body__$3,new cljs.core.Keyword(null,\x22orig\x22,\x22orig\x22,-1678309870),orig_body)),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.conj,arglist);\n}),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22bodies\x22,\x22bodies\x22,-1295887172),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.PersistentVector.EMPTY,new cljs.core.Keyword(null,\x22min-var-args\x22,\x22min-var-args\x22,-1883389660),null,new cljs.core.Keyword(null,\x22max-fixed\x22,\x22max-fixed\x22,166770124),(-1)], null),bodies);\nvar cb_idens_by_arity \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(closure_bindings),parents);\nvar cb_idens \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.merge,cljs.core.map.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.vals(cb_idens_by_arity)));\nvar self_ref_QMARK_ \x3d (cljs.core.truth_(fn_name__$1)?cljs.core.contains_QMARK_(cb_idens,fn_id):null);\nvar closed_over_idens \x3d cljs.core.filter.cljs$core$IFn$_invoke$arity$2(bound_idens,cljs.core.keys(cb_idens));\nvar iden__GT_invoke_idx \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(closure_bindings),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.pop(parents),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)));\nvar closed_over_iden__GT_binding_idx \x3d (cljs.core.truth_(iden__GT_invoke_idx)?cljs.core.zipmap(closed_over_idens,cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx,closed_over_idens)):null);\nvar closed_over_cnt \x3d cljs.core.count(closed_over_idens);\nvar iden__GT_enclosed_idx \x3d cljs.core.zipmap(closed_over_idens,cljs.core.range.cljs$core$IFn$_invoke$arity$1(closed_over_cnt));\nvar iden__GT_enclosed_idx__$1 \x3d (cljs.core.truth_(fn_name__$1)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_enclosed_idx,fn_id,closed_over_cnt):iden__GT_enclosed_idx);\nvar vec__47026 \x3d (((function (){var or__5025__auto__ \x3d self_ref_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.seq(closed_over_iden__GT_binding_idx);\n}\n})())?(function (){var enclosed_array_cnt \x3d (function (){var G__47036 \x3d closed_over_cnt;\nif(cljs.core.truth_(fn_name__$1)){\nreturn (G__47036 + (1));\n} else {\nreturn G__47036;\n}\n})();\nvar binding__GT_enclosed \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (iden){\nvar temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx,iden);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar binding_idx \x3d temp__5823__auto__;\nvar enclosed_idx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(iden__GT_enclosed_idx__$1,iden);\nvar G__47038 \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((2));\n(G__47038[(0)] \x3d binding_idx);\n\n(G__47038[(1)] \x3d enclosed_idx);\n\nreturn G__47038;\n} else {\nreturn null;\n}\n}),closed_over_idens));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (bindings__$1){\nvar a__5613__auto__ \x3d binding__GT_enclosed;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar idx \x3d (0);\nvar ret \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(enclosed_array_cnt);\nwhile(true){\nif((idx \x3c l__5614__auto__)){\nvar G__48403 \x3d (idx + (1));\nvar G__48404 \x3d (function (){var idxs \x3d (binding__GT_enclosed[idx]);\nvar binding_idx \x3d (idxs[(0)]);\nvar binding_val \x3d (bindings__$1[binding_idx]);\nvar enclosed_idx \x3d (idxs[(1)]);\n(ret[enclosed_idx] \x3d binding_val);\n\nreturn ret;\n})();\nidx \x3d G__48403;\nret \x3d G__48404;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}),enclosed_array_cnt], null);\n})():new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.constantly(null)], null));\nvar bindings_fn \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47026,(0),null);\nvar enclosed_array_cnt \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47026,(1),null);\nvar bodies__$1 \x3d new cljs.core.Keyword(null,\x22bodies\x22,\x22bodies\x22,-1295887172).cljs$core$IFn$_invoke$arity$1(analyzed_bodies);\nvar bodies__$2 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (body__$2){\nvar iden__GT_invocation_idx \x3d new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(body__$2);\nvar invocation_self_idx \x3d new cljs.core.Keyword(null,\x22self-ref-idx\x22,\x22self-ref-idx\x22,-1384537812).cljs$core$IFn$_invoke$arity$1(body__$2);\nvar enclosed__GT_invocation \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (iden){\nvar temp__5823__auto__ \x3d (iden__GT_invocation_idx.cljs$core$IFn$_invoke$arity$1 ? iden__GT_invocation_idx.cljs$core$IFn$_invoke$arity$1(iden) : iden__GT_invocation_idx.call(null,iden));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar invocation_idx \x3d temp__5823__auto__;\nvar G__47044 \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((2));\n(G__47044[(0)] \x3d (iden__GT_enclosed_idx__$1.cljs$core$IFn$_invoke$arity$1 ? iden__GT_enclosed_idx__$1.cljs$core$IFn$_invoke$arity$1(iden) : iden__GT_enclosed_idx__$1.call(null,iden)));\n\n(G__47044[(1)] \x3d invocation_idx);\n\nreturn G__47044;\n} else {\nreturn null;\n}\n}),closed_over_idens));\nvar invoc_size \x3d cljs.core.count(iden__GT_invocation_idx);\nvar copy_enclosed__GT_invocation \x3d (((enclosed__GT_invocation.length \x3e (0)))?(function (enclosed_array,invoc_array){\nvar a__5613__auto__ \x3d enclosed__GT_invocation;\nvar l__5614__auto__ \x3d a__5613__auto__.length;\nvar idx \x3d (0);\nvar ret \x3d invoc_array;\nwhile(true){\nif((idx \x3c l__5614__auto__)){\nvar G__48406 \x3d (idx + (1));\nvar G__48407 \x3d (function (){var idxs \x3d (enclosed__GT_invocation[idx]);\nvar enclosed_idx \x3d (idxs[(0)]);\nvar enclosed_val \x3d (enclosed_array[enclosed_idx]);\nvar invoc_idx \x3d (idxs[(1)]);\n(ret[invoc_idx] \x3d enclosed_val);\n\nreturn ret;\n})();\nidx \x3d G__48406;\nret \x3d G__48407;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}):null);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(body__$2,new cljs.core.Keyword(null,\x22invoc-size\x22,\x22invoc-size\x22,2053298058),invoc_size,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22invocation-self-idx\x22,\x22invocation-self-idx\x22,-1258983407),invocation_self_idx,new cljs.core.Keyword(null,\x22copy-enclosed-\x3einvocation\x22,\x22copy-enclosed-\x3einvocation\x22,-1322388729),copy_enclosed__GT_invocation], 0));\n}),bodies__$1);\nvar fn_meta \x3d cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(fn_expr_m__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095)], 0));\nvar fn_meta__$1 \x3d ((cljs.core.seq(fn_meta))?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$4,fn_meta) : sci.impl.analyzer.analyze.call(null,ctx__$4,fn_meta)):null);\nvar single_arity \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(bodies__$2)))?cljs.core.first(bodies__$2):null);\nvar nsm \x3d sci.impl.utils.current_ns_name();\nvar self_ref_in_enclosed_idx \x3d (function (){var G__47047 \x3d enclosed_array_cnt;\nif((G__47047 \x3d\x3d null)){\nreturn null;\n} else {\nreturn (G__47047 - (1));\n}\n})();\nvar ret_node \x3d (cljs.core.truth_(single_arity)?sci.impl.analyzer.single_arity_fn(bindings_fn,single_arity,fn_name__$1,self_ref_in_enclosed_idx,self_ref_QMARK_,nsm,fn_meta__$1,macro_QMARK_):(function (){var arities \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (arity_map,fn_body){\nvar f \x3d sci.impl.analyzer.multi_arity_fn_body(fn_body,fn_name__$1,nsm);\nvar var_arg_QMARK_ \x3d new cljs.core.Keyword(null,\x22var-arg-name\x22,\x22var-arg-name\x22,-1100024887).cljs$core$IFn$_invoke$arity$1(fn_body);\nvar fixed_arity \x3d new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869).cljs$core$IFn$_invoke$arity$1(fn_body);\nif(cljs.core.truth_(var_arg_QMARK_)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,new cljs.core.Keyword(null,\x22variadic\x22,\x22variadic\x22,882626057),f);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(arity_map,fixed_arity,f);\n}\n}),cljs.core.PersistentArrayMap.EMPTY,bodies__$2);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$5,bindings__$1){\nvar enclosed_array \x3d (bindings_fn.cljs$core$IFn$_invoke$arity$1 ? bindings_fn.cljs$core$IFn$_invoke$arity$1(bindings__$1) : bindings_fn.call(null,bindings__$1));\nvar f \x3d (function() { \nvar G__48408__delegate \x3d function (args){\nvar arg_count \x3d cljs.core.count(args);\nvar temp__5821__auto__ \x3d sci.impl.fns.lookup_by_arity(arities,arg_count);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar f \x3d temp__5821__auto__;\nvar f__$1 \x3d (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(enclosed_array) : f.call(null,enclosed_array));\nvar f__$2 \x3d sci.impl.types.eval(f__$1,ctx__$5,bindings__$1);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f__$2,args);\n} else {\nthrow (new Error((function (){var actual_count \x3d (cljs.core.truth_(macro_QMARK_)?(arg_count - (2)):arg_count);\nreturn [\x22Cannot call \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(fn_name__$1),\x22 with \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(actual_count),\x22 arguments\x22].join(\x27\x27);\n})()));\n}\n};\nvar G__48408 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__48411__i \x3d 0, G__48411__a \x3d new Array(arguments.length - 0);\nwhile (G__48411__i \x3c G__48411__a.length) {G__48411__a[G__48411__i] \x3d arguments[G__48411__i + 0]; ++G__48411__i;}\n args \x3d new cljs.core.IndexedSeq(G__48411__a,0,null);\n} \nreturn G__48408__delegate.call(this,args);};\nG__48408.cljs$lang$maxFixedArity \x3d 0;\nG__48408.cljs$lang$applyTo \x3d (function (arglist__48412){\nvar args \x3d cljs.core.seq(arglist__48412);\nreturn G__48408__delegate(args);\n});\nG__48408.cljs$core$IFn$_invoke$arity$variadic \x3d G__48408__delegate;\nreturn G__48408;\n})()\n;\nvar f__$1 \x3d (((fn_meta__$1 \x3d\x3d null))?f:(function (){var fn_meta__$2 \x3d sci.impl.types.eval(fn_meta__$1,ctx__$5,bindings__$1);\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(f,cljs.core.merge,fn_meta__$2);\n})());\nvar f__$2 \x3d (cljs.core.truth_(macro_QMARK_)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(f__$1,(function (p1__47021_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(p1__47021_SHARP_,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),macro_QMARK_,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci.impl\x22,\x22inner-fn\x22,\x22sci.impl/inner-fn\x22,1663302998),f__$1], 0));\n})):f__$1);\nif(cljs.core.truth_(self_ref_QMARK_)){\n(enclosed_array[self_ref_in_enclosed_idx] \x3d f__$2);\n} else {\n}\n\nreturn f__$2;\n}),null);\n})());\nvar tag \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(fn_expr_m__$1);\nvar arglists \x3d (cljs.core.truth_(defn_name)?new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(analyzed_bodies):null);\nvar G__47054 \x3d ret_node;\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d tag;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn arglists;\n}\n})())){\nreturn cljs.core.with_meta(G__47054,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),arglists,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),tag], null));\n} else {\nreturn G__47054;\n}\n});\n/**\n * :syms \x3d closed over values\n */\nsci.impl.analyzer.update_parents \x3d (function sci$impl$analyzer$update_parents(ctx,closure_bindings,ob){\nvar parents \x3d new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891).cljs$core$IFn$_invoke$arity$1(ctx);\nvar new_cb \x3d cljs.core._vreset_BANG_(closure_bindings,(function (cb){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cb,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(parents,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)),(function (iden__GT_invoke_idx){\nif(cljs.core.contains_QMARK_(iden__GT_invoke_idx,ob)){\nreturn iden__GT_invoke_idx;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_invoke_idx,ob,cljs.core.count(iden__GT_invoke_idx));\n}\n}));\n})(cljs.core._deref(closure_bindings)));\nvar closure_idx \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(new_cb,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(parents,new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ob], 0)));\nreturn closure_idx;\n});\nsci.impl.analyzer.analyze_let_STAR_ \x3d (function sci$impl$analyzer$analyze_let_STAR_(ctx,expr,destructured_let_bindings,exprs){\nif((cljs.core.count(destructured_let_bindings) \x3e (10))){\nvar G__47059 \x3d ctx;\nvar G__47060 \x3d expr;\nvar G__47061 \x3d cljs.core.take.cljs$core$IFn$_invoke$arity$2((10),destructured_let_bindings);\nvar G__47062 \x3d new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),cljs.core.vec(cljs.core.drop.cljs$core$IFn$_invoke$arity$2((10),destructured_let_bindings)),exprs),cljs.core.meta(expr))], null);\nreturn (sci.impl.analyzer.analyze_let_STAR_.cljs$core$IFn$_invoke$arity$4 ? sci.impl.analyzer.analyze_let_STAR_.cljs$core$IFn$_invoke$arity$4(G__47059,G__47060,G__47061,G__47062) : sci.impl.analyzer.analyze_let_STAR_.call(null,G__47059,G__47060,G__47061,G__47062));\n} else {\nvar rt \x3d sci.impl.analyzer.recur_target(ctx);\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar stack \x3d sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(expr),true);\nvar vec__47063 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__47066,p__47067){\nvar vec__47068 \x3d p__47066;\nvar ctx__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47068,(0),null);\nvar let_nodes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47068,(1),null);\nvar idens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47068,(2),null);\nvar vec__47071 \x3d p__47067;\nvar binding_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47071,(0),null);\nvar binding_value \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47071,(1),null);\nvar m \x3d cljs.core.meta(binding_value);\nvar t \x3d (cljs.core.truth_(m)?new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(m):null);\nvar binding_name__$1 \x3d (cljs.core.truth_(t)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(binding_name,cljs.core.assoc,new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),t):binding_name);\nvar v \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$2,binding_value) : sci.impl.analyzer.analyze.call(null,ctx__$2,binding_value));\nvar new_iden \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar cb \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$2);\nvar idx \x3d sci.impl.analyzer.update_parents(ctx__$2,cb,new_iden);\nvar iden__GT_invoke_idx \x3d new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(ctx__$2);\nvar iden__GT_invoke_idx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(iden__GT_invoke_idx,new_iden,idx);\nvar ctx__$3 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx__$2,new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),iden__GT_invoke_idx__$1);\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.update.cljs$core$IFn$_invoke$arity$3(ctx__$3,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),(function (p1__47055_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(p1__47055_SHARP_,binding_name__$1),binding_name__$1,new_iden);\n})),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(let_nodes,v),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(idens,new_iden)], null);\n}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [ctx__$1,cljs.core.PersistentVector.EMPTY,cljs.core.PersistentVector.EMPTY], null),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),destructured_let_bindings));\nvar ctx__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47063,(0),null);\nvar let_nodes \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47063,(1),null);\nvar idens \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47063,(2),null);\nvar body \x3d sci.impl.analyzer.return_do(sci.impl.analyzer.with_recur_target(ctx__$2,rt),expr,exprs);\nvar iden__GT_invoke_idx \x3d new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026).cljs$core$IFn$_invoke$arity$1(ctx__$2);\nvar idxs \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2(iden__GT_invoke_idx,idens);\nvar G__47079 \x3d cljs.core.count(idxs);\nswitch (G__47079) {\ncase (0):\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (1):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (2):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (3):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(2));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nvar idx2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nvar val2 \x3d sci.impl.types.eval(node2,ctx__$3,bindings);\n(bindings[idx2] \x3d val2);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (4):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(3));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nvar idx2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(2));\nvar idx3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(3));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nvar val2 \x3d sci.impl.types.eval(node2,ctx__$3,bindings);\n(bindings[idx2] \x3d val2);\n\nvar val3 \x3d sci.impl.types.eval(node3,ctx__$3,bindings);\n(bindings[idx3] \x3d val3);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ncase (5):\nvar node0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(0));\nvar node1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(1));\nvar node2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(2));\nvar node3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(3));\nvar node4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(let_nodes,(4));\nvar idx0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(0));\nvar idx1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(1));\nvar idx2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(2));\nvar idx3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(3));\nvar idx4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(idxs,(4));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$3,bindings){\nvar val0 \x3d sci.impl.types.eval(node0,ctx__$3,bindings);\n(bindings[idx0] \x3d val0);\n\nvar val1 \x3d sci.impl.types.eval(node1,ctx__$3,bindings);\n(bindings[idx1] \x3d val1);\n\nvar val2 \x3d sci.impl.types.eval(node2,ctx__$3,bindings);\n(bindings[idx2] \x3d val2);\n\nvar val3 \x3d sci.impl.types.eval(node3,ctx__$3,bindings);\n(bindings[idx3] \x3d val3);\n\nvar val4 \x3d sci.impl.types.eval(node4,ctx__$3,bindings);\n(bindings[idx4] \x3d val4);\n\nreturn sci.impl.types.eval(body,ctx__$3,bindings);\n}),stack);\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__47079)].join(\x27\x27)));\n\n}\n}\n});\nsci.impl.analyzer.init_var_BANG_ \x3d (function sci$impl$analyzer$init_var_BANG_(ctx,name,expr){\nvar cnn_48434 \x3d sci.impl.utils.current_ns_name();\nvar env_48435 \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar the_current_ns_48436 \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(env_48435),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cnn_48434], null),cljs.core.PersistentArrayMap.EMPTY);\nvar refers_48437 \x3d new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_current_ns_48436);\nvar the_current_ns_48438__$1 \x3d (function (){var temp__5821__auto__ \x3d (function (){var and__5023__auto__ \x3d refers_48437;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn refers_48437.get(name);\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar x \x3d temp__5821__auto__;\nreturn sci.impl.analyzer.throw_error_with_location([cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),\x22 already refers to \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 in namespace \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnn_48434)].join(\x27\x27),expr);\n} else {\nvar temp__5821__auto____$1 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(the_current_ns_48436,name);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar the_var \x3d temp__5821__auto____$1;\nvar cur_file \x3d cljs.core.deref(sci.impl.utils.current_file);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cur_file,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(the_var)))){\n} else {\ncljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(the_var,cljs.core.assoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cur_file], 0));\n}\n\nreturn the_current_ns_48436;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(the_current_ns_48436,name,(function (){var G__47088 \x3d (new sci.lang.Var(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnn_48434),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], null),false,false,null));\nG__47088.sci$impl$vars$IVar$unbind$arity$1(null);\n\nreturn G__47088;\n})());\n}\n}\n})();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env_48435,(function (env__$1){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5(env__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cljs.core.assoc,cnn_48434,the_current_ns_48438__$1);\n}));\n\nreturn null;\n});\nsci.impl.analyzer.analyze_def \x3d (function sci$impl$analyzer$analyze_def(ctx,expr){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar vec__47092 \x3d expr;\nvar _def \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47092,(0),null);\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47092,(1),null);\nvar _QMARK_docstring \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47092,(2),null);\nvar _QMARK_init \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47092,(3),null);\nvar curr_ns \x3d cljs.core.deref(sci.impl.utils.current_ns);\nvar simple_QMARK_ \x3d cljs.core.simple_symbol_QMARK_(var_name);\nif(((simple_QMARK_) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace(var_name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(curr_ns)))))){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Var name should be simple symbol.\x22,expr);\n}\n\nvar var_name__$1 \x3d ((simple_QMARK_)?var_name:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(var_name)));\nsci.impl.analyzer.init_var_BANG_(ctx__$1,var_name__$1,expr);\n\nvar arg_count \x3d cljs.core.count(expr);\nvar docstring \x3d ((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((4),arg_count)) \x26\x26 (typeof _QMARK_docstring \x3d\x3d\x3d \x27string\x27)))?_QMARK_docstring:null);\nvar expected_arg_count \x3d (cljs.core.truth_(docstring)?(4):(3));\nif((arg_count \x3c\x3d expected_arg_count)){\n} else {\nthrow (new Error(\x22Too many arguments to def\x22));\n}\n\nvar init \x3d (cljs.core.truth_(docstring)?_QMARK_init:_QMARK_docstring);\nvar init__$1 \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),arg_count))?sci.impl.utils.var_unbound:(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,init) : sci.impl.analyzer.analyze.call(null,ctx__$1,init)));\nvar expr_loc \x3d cljs.core.meta(expr);\nvar expr_loc_QMARK_ \x3d new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(expr_loc);\nvar var_meta \x3d cljs.core.meta(var_name__$1);\nvar m \x3d (cljs.core.truth_(expr_loc_QMARK_)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(var_meta,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(expr_loc)),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(expr_loc)):(function (){var top_level_loc \x3d sci.impl.utils._STAR_top_level_location_STAR_;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(var_meta,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(top_level_loc)),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(top_level_loc));\n})());\nvar m_needs_eval_QMARK_ \x3d var_meta;\nvar m__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),curr_ns);\nvar m__$2 \x3d (cljs.core.truth_(docstring)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):m__$1);\nvar m__$3 \x3d (cljs.core.truth_(m_needs_eval_QMARK_)?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,m__$2) : sci.impl.analyzer.analyze.call(null,ctx__$1,m__$2)):sci.impl.types.__GT_constant(m__$2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.eval_def(ctx__$2,bindings,var_name__$1,init__$1,m__$3);\n}),null);\n});\nsci.impl.analyzer.analyze_loop_STAR_ \x3d (function sci$impl$analyzer$analyze_loop_STAR_(ctx,expr){\nvar bv \x3d cljs.core.second(expr);\nvar syms \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),bv);\nvar body \x3d cljs.core.nnext(expr);\nvar expansion \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),null,(1),null)),(new cljs.core.List(null,bv,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(syms),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),syms),null,(1),null))], 0))));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,expansion) : sci.impl.analyzer.analyze.call(null,ctx,expansion));\n});\nsci.impl.analyzer.analyze_lazy_seq \x3d (function sci$impl$analyzer$analyze_lazy_seq(ctx,expr){\nvar body \x3d cljs.core.rest(expr);\nvar ctx__$1 \x3d sci.impl.analyzer.with_recur_target(ctx,true);\nvar ana \x3d sci.impl.analyzer.return_do(ctx__$1,expr,body);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn (new cljs.core.LazySeq(null,(function (){\nreturn sci.impl.types.eval(ana,ctx__$2,bindings);\n}),null,null));\n}),null);\n});\nsci.impl.analyzer.return_if \x3d (function sci$impl$analyzer$return_if(ctx,expr){\nvar exprs \x3d cljs.core.rest(expr);\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,exprs);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(null,\x22special\x22,\x22special\x22,-1125941630),true], 0));\nvar G__47098 \x3d cljs.core.count(children);\nswitch (G__47098) {\ncase (0):\ncase (1):\nreturn sci.impl.analyzer.throw_error_with_location(\x22Too few arguments to if\x22,expr);\n\nbreak;\ncase (2):\nvar condition \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nvar then \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(1));\nif(cljs.core.not(condition)){\nreturn null;\n} else {\nif(sci.impl.utils.constant_QMARK_(condition)){\nreturn then;\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nif(cljs.core.truth_(sci.impl.types.eval(condition,ctx__$1,bindings))){\nreturn sci.impl.types.eval(then,ctx__$1,bindings);\n} else {\nreturn null;\n}\n}),stack);\n\n}\n}\n\nbreak;\ncase (3):\nvar condition \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nvar then \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(1));\nvar else$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(2));\nif(cljs.core.not(condition)){\nreturn else$;\n} else {\nif(sci.impl.utils.constant_QMARK_(condition)){\nreturn then;\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nif(cljs.core.truth_(sci.impl.types.eval(condition,ctx__$1,bindings))){\nreturn sci.impl.types.eval(then,ctx__$1,bindings);\n} else {\nreturn sci.impl.types.eval(else$,ctx__$1,bindings);\n}\n}),stack);\n\n}\n}\n\nbreak;\ndefault:\nreturn sci.impl.analyzer.throw_error_with_location(\x22Too many arguments to if\x22,expr);\n\n}\n});\nsci.impl.analyzer.analyze_case_STAR_ \x3d (function sci$impl$analyzer$analyze_case_STAR_(ctx,expr){\nvar ctx_wo_rt \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar case_val \x3d (function (){var G__47103 \x3d ctx_wo_rt;\nvar G__47104 \x3d cljs.core.second(expr);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47103,G__47104) : sci.impl.analyzer.analyze.call(null,G__47103,G__47104));\n})();\nvar clauses \x3d cljs.core.nnext(expr);\nvar match_clauses \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),clauses);\nvar result_clauses \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.rest(clauses)));\nvar vec__47100 \x3d ((cljs.core.odd_QMARK_(cljs.core.count(clauses)))?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,(function (){var G__47105 \x3d ctx;\nvar G__47106 \x3d cljs.core.last(clauses);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47105,G__47106) : sci.impl.analyzer.analyze.call(null,G__47105,G__47106));\n})()], null):null);\nvar default_QMARK_ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47100,(0),null);\nvar case_default \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47100,(1),null);\nvar cases \x3d cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(match_clauses,result_clauses);\nvar assoc_new \x3d (function (m,k,v){\nif((!(cljs.core.contains_QMARK_(m,k)))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location([\x22Duplicate case test constant \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)].join(\x27\x27),expr);\n}\n});\nvar case_map \x3d (function (){var cases__$1 \x3d cljs.core.seq(cases);\nvar ret_map \x3d cljs.core.PersistentArrayMap.EMPTY;\nwhile(true){\nif(cases__$1){\nvar vec__47111 \x3d cases__$1;\nvar seq__47112 \x3d cljs.core.seq(vec__47111);\nvar first__47113 \x3d cljs.core.first(seq__47112);\nvar seq__47112__$1 \x3d cljs.core.next(seq__47112);\nvar k \x3d first__47113;\nvar first__47113__$1 \x3d cljs.core.first(seq__47112__$1);\nvar seq__47112__$2 \x3d cljs.core.next(seq__47112__$1);\nvar v \x3d first__47113__$1;\nvar cases__$2 \x3d seq__47112__$2;\nif(cljs.core.seq_QMARK_(k)){\nvar G__48448 \x3d cases__$2;\nvar G__48449 \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (cases__$1,ret_map,vec__47111,seq__47112,first__47113,seq__47112__$1,k,first__47113__$1,seq__47112__$2,v,cases__$2,ctx_wo_rt,case_val,clauses,match_clauses,result_clauses,vec__47100,default_QMARK_,case_default,cases,assoc_new){\nreturn (function (acc,k__$1){\nreturn assoc_new(acc,k__$1,v);\n});})(cases__$1,ret_map,vec__47111,seq__47112,first__47113,seq__47112__$1,k,first__47113__$1,seq__47112__$2,v,cases__$2,ctx_wo_rt,case_val,clauses,match_clauses,result_clauses,vec__47100,default_QMARK_,case_default,cases,assoc_new))\n,ret_map,k);\ncases__$1 \x3d G__48448;\nret_map \x3d G__48449;\ncontinue;\n} else {\nvar G__48451 \x3d cases__$2;\nvar G__48452 \x3d assoc_new(ret_map,k,v);\ncases__$1 \x3d G__48451;\nret_map \x3d G__48452;\ncontinue;\n}\n} else {\nreturn ret_map;\n}\nbreak;\n}\n})();\nvar f \x3d (cljs.core.truth_(default_QMARK_)?sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$5(ctx__$1,bindings,case_map,case_val,case_default);\n}),null):sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.evaluator.eval_case.cljs$core$IFn$_invoke$arity$4(ctx__$1,bindings,case_map,case_val);\n}),null));\nreturn f;\n});\nsci.impl.analyzer.analyze_try \x3d (function sci$impl$analyzer$analyze_try(ctx,expr){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$2(ctx,new cljs.core.Keyword(null,\x22try\x22,\x22try\x22,1380742522));\nvar body \x3d cljs.core.next(expr);\nvar stack \x3d sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(expr),true);\nvar vec__47116 \x3d (function (){var exprs \x3d body;\nvar body_exprs \x3d cljs.core.PersistentVector.EMPTY;\nvar catch_exprs \x3d cljs.core.PersistentVector.EMPTY;\nvar finally_expr \x3d null;\nwhile(true){\nif(exprs){\nvar expr__$1 \x3d cljs.core.first(exprs);\nvar exprs__$1 \x3d cljs.core.next(exprs);\nif(((cljs.core.seq_QMARK_(expr__$1)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22catch\x22,\x22catch\x22,-1616370245,null),cljs.core.first(expr__$1))))){\nvar G__48454 \x3d exprs__$1;\nvar G__48455 \x3d body_exprs;\nvar G__48456 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(catch_exprs,expr__$1);\nvar G__48457 \x3d finally_expr;\nexprs \x3d G__48454;\nbody_exprs \x3d G__48455;\ncatch_exprs \x3d G__48456;\nfinally_expr \x3d G__48457;\ncontinue;\n} else {\nif(((cljs.core.not(exprs__$1)) \x26\x26 (((cljs.core.seq_QMARK_(expr__$1)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),cljs.core.first(expr__$1))))))){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [body_exprs,catch_exprs,expr__$1], null);\n} else {\nvar G__48458 \x3d exprs__$1;\nvar G__48459 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(body_exprs,expr__$1);\nvar G__48460 \x3d catch_exprs;\nvar G__48461 \x3d finally_expr;\nexprs \x3d G__48458;\nbody_exprs \x3d G__48459;\ncatch_exprs \x3d G__48460;\nfinally_expr \x3d G__48461;\ncontinue;\n\n}\n}\n} else {\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [body_exprs,catch_exprs,finally_expr], null);\n}\nbreak;\n}\n})();\nvar body_exprs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47116,(0),null);\nvar catches \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47116,(1),null);\nvar finally$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47116,(2),null);\nvar body__$1 \x3d (function (){var G__47124 \x3d ctx__$1;\nvar G__47125 \x3d cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body_exprs);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47124,G__47125) : sci.impl.analyzer.analyze.call(null,G__47124,G__47125));\n})();\nvar catches__$1 \x3d cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((function (c){\nvar vec__47127 \x3d c;\nvar seq__47128 \x3d cljs.core.seq(vec__47127);\nvar first__47129 \x3d cljs.core.first(seq__47128);\nvar seq__47128__$1 \x3d cljs.core.next(seq__47128);\nvar _ \x3d first__47129;\nvar first__47129__$1 \x3d cljs.core.first(seq__47128__$1);\nvar seq__47128__$2 \x3d cljs.core.next(seq__47128__$1);\nvar ex \x3d first__47129__$1;\nvar first__47129__$2 \x3d cljs.core.first(seq__47128__$2);\nvar seq__47128__$3 \x3d cljs.core.next(seq__47128__$2);\nvar binding \x3d first__47129__$2;\nvar body__$2 \x3d seq__47128__$3;\nvar temp__5821__auto__ \x3d (function (){var G__47130 \x3d ex;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),G__47130)){\nreturn Error;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22js\x22,\x22Object\x22,\x22js/Object\x22,61215323,null),G__47130)){\nreturn Object;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),G__47130)){\nreturn new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328);\n} else {\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,ex) : sci.impl.analyzer.analyze.call(null,ctx__$1,ex));\n\n}\n}\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar clazz \x3d temp__5821__auto__;\nvar ex_iden \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar closure_bindings \x3d new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037).cljs$core$IFn$_invoke$arity$1(ctx__$1);\nvar ex_idx \x3d sci.impl.analyzer.update_parents(ctx__$1,closure_bindings,ex_iden);\nvar ctx__$2 \x3d cljs.core.assoc_in(cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(ctx__$1,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192)], null),(function (bindings){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(bindings,binding),binding,ex_iden);\n})),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22iden-\x3einvoke-idx\x22,\x22iden-\x3einvoke-idx\x22,-1797627026),ex_iden], null),ex_idx);\nvar analyzed_body \x3d (function (){var G__47134 \x3d ctx__$2;\nvar G__47135 \x3d cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body__$2);\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47134,G__47135) : sci.impl.analyzer.analyze.call(null,G__47134,G__47135));\n})();\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),clazz,new cljs.core.Keyword(null,\x22ex-idx\x22,\x22ex-idx\x22,795118805),ex_idx,new cljs.core.Keyword(null,\x22body\x22,\x22body\x22,-2049205669),analyzed_body,new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341),ex], null);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location([\x22Unable to resolve classname: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ex)].join(\x27\x27),ex);\n}\n}),catches);\nvar sci_error \x3d (function (){var fst \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(catches__$1)))?cljs.core.nth.cljs$core$IFn$_invoke$arity$2(catches__$1,(0)):null);\nvar ex \x3d new cljs.core.Keyword(null,\x22ex\x22,\x22ex\x22,-1413771341).cljs$core$IFn$_invoke$arity$1(fst);\nvar and__5023__auto__ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),ex);\nif(and__5023__auto__){\nvar G__47138 \x3d ex;\nvar G__47138__$1 \x3d (((G__47138 \x3d\x3d null))?null:cljs.core.meta(G__47138));\nif((G__47138__$1 \x3d\x3d null)){\nreturn null;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803).cljs$core$IFn$_invoke$arity$1(G__47138__$1);\n}\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar finally$__$1 \x3d (cljs.core.truth_(finally$)?(function (){var G__47139 \x3d ctx__$1;\nvar G__47140 \x3d cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),cljs.core.rest(finally$));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47139,G__47140) : sci.impl.analyzer.analyze.call(null,G__47139,G__47140));\n})():null);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.eval_try(ctx__$2,bindings,body__$1,catches__$1,finally$__$1,sci_error);\n}),stack);\n});\nsci.impl.analyzer.analyze_throw \x3d (function sci$impl$analyzer$analyze_throw(ctx,p__47143){\nvar vec__47144 \x3d p__47143;\nvar _throw \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47144,(0),null);\nvar ex \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47144,(1),null);\nvar expr \x3d vec__47144;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(expr))){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Too many arguments to throw\x22,expr);\n}\n\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar ana \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,ex) : sci.impl.analyzer.analyze.call(null,ctx__$1,ex));\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(null,\x22special\x22,\x22special\x22,-1125941630),true], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx__$2,bindings,sci.impl.types.eval(ana,ctx__$2,bindings),this$);\n}),stack);\n});\nsci.impl.analyzer.analyze_dot \x3d (function sci$impl$analyzer$analyze_dot(ctx,p__47156){\nvar vec__47158 \x3d p__47156;\nvar seq__47159 \x3d cljs.core.seq(vec__47158);\nvar first__47160 \x3d cljs.core.first(seq__47159);\nvar seq__47159__$1 \x3d cljs.core.next(seq__47159);\nvar _dot \x3d first__47160;\nvar first__47160__$1 \x3d cljs.core.first(seq__47159__$1);\nvar seq__47159__$2 \x3d cljs.core.next(seq__47159__$1);\nvar instance_expr \x3d first__47160__$1;\nvar first__47160__$2 \x3d cljs.core.first(seq__47159__$2);\nvar seq__47159__$3 \x3d cljs.core.next(seq__47159__$2);\nvar method_expr \x3d first__47160__$2;\nvar args \x3d seq__47159__$3;\nvar expr \x3d vec__47158;\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar vec__47161 \x3d ((cljs.core.seq_QMARK_(method_expr))?method_expr:cljs.core.cons(method_expr,args));\nvar seq__47162 \x3d cljs.core.seq(vec__47161);\nvar first__47163 \x3d cljs.core.first(seq__47162);\nvar seq__47162__$1 \x3d cljs.core.next(seq__47162);\nvar method_expr__$1 \x3d first__47163;\nvar args__$1 \x3d seq__47162__$1;\nvar instance_expr__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,instance_expr) : sci.impl.analyzer.analyze.call(null,ctx__$1,instance_expr));\nvar method_name \x3d cljs.core.name(method_expr__$1);\nvar args__$2 \x3d ((args__$1)?sci.impl.analyzer.analyze_children(ctx__$1,args__$1):null);\nvar res \x3d (function (){var field_access \x3d clojure.string.starts_with_QMARK_(method_name,\x22-\x22);\nvar meth_name \x3d ((field_access)?cljs.core.subs.cljs$core$IFn$_invoke$arity$2(method_name,(1)):method_name);\nvar meth_name_STAR_ \x3d meth_name;\nvar meth_name__$1 \x3d cljs.core.munge(meth_name);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nvar allowed_QMARK_ \x3d (function (){var or__5025__auto__ \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d (method_expr__$1 \x3d\x3d\x3d sci.impl.utils.allowed_append);\nif(or__5025__auto____$1){\nreturn or__5025__auto____$1;\n} else {\nreturn new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745).cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx__$1))));\n}\n}\n})();\nvar args__$3 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$2);\nreturn cljs.core.with_meta((function (){var G__47168 \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.boolean$(allowed_QMARK_),cljs.core.boolean$(field_access)], null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,true], null),G__47168)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.allowed_instance_field_invocation(ctx__$2,bindings,instance_expr__$1,meth_name__$1);\n}),stack);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,false], null),G__47168)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.allowed_instance_method_invocation(ctx__$2,bindings,instance_expr__$1,meth_name__$1,args__$3,null);\n}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.evaluator.eval_instance_method_invocation(ctx__$2,bindings,instance_expr__$1,meth_name__$1,meth_name_STAR_,field_access,args__$3,allowed_QMARK_,null,null);\n}),stack);\n\n}\n}\n})(),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22instance-expr\x22,\x22sci.impl.analyzer/instance-expr\x22,629338719),instance_expr__$1,new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22method-name\x22,\x22sci.impl.analyzer/method-name\x22,-842600667),method_name], null));\n})();\nreturn res;\n});\n/**\n * Expands (. x method)\n */\nsci.impl.analyzer.expand_dot_STAR__STAR_ \x3d (function sci$impl$analyzer$expand_dot_STAR__STAR_(ctx,expr){\nif((cljs.core.count(expr) \x3c (3))){\nthrow (new Error(\x22Malformed member expression, expecting (.member target ...)\x22));\n} else {\n}\n\nreturn sci.impl.analyzer.analyze_dot(ctx,expr);\n});\n/**\n * Expands (.foo x)\n */\nsci.impl.analyzer.expand_dot_STAR_ \x3d (function sci$impl$analyzer$expand_dot_STAR_(ctx,p__47173){\nvar vec__47174 \x3d p__47173;\nvar seq__47175 \x3d cljs.core.seq(vec__47174);\nvar first__47176 \x3d cljs.core.first(seq__47175);\nvar seq__47175__$1 \x3d cljs.core.next(seq__47175);\nvar method_name \x3d first__47176;\nvar first__47176__$1 \x3d cljs.core.first(seq__47175__$1);\nvar seq__47175__$2 \x3d cljs.core.next(seq__47175__$1);\nvar obj \x3d first__47176__$1;\nvar args \x3d seq__47175__$2;\nvar expr \x3d vec__47174;\nif((cljs.core.count(expr) \x3c (2))){\nthrow (new Error(\x22Malformed member expression, expecting (.member target ...)\x22));\n} else {\n}\n\nreturn sci.impl.analyzer.analyze_dot(ctx,cljs.core.with_meta((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),(new cljs.core.List(null,obj,(new cljs.core.List(null,cljs.core.cons(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.name(method_name),(1))),args),null,(1),null)),(2),null)),(3),null)),cljs.core.meta(expr)));\n});\nsci.impl.analyzer.analyze_new \x3d (function sci$impl$analyzer$analyze_new(ctx,p__47179){\nvar vec__47180 \x3d p__47179;\nvar seq__47181 \x3d cljs.core.seq(vec__47180);\nvar first__47182 \x3d cljs.core.first(seq__47181);\nvar seq__47181__$1 \x3d cljs.core.next(seq__47181);\nvar _new \x3d first__47182;\nvar first__47182__$1 \x3d cljs.core.first(seq__47181__$1);\nvar seq__47181__$2 \x3d cljs.core.next(seq__47181__$1);\nvar class_sym \x3d first__47182__$1;\nvar args \x3d seq__47181__$2;\nvar expr \x3d vec__47180;\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nif((class_sym instanceof cljs.core.Symbol)){\nvar temp__5821__auto__ \x3d (function (){var or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d (function (){var temp__5823__auto__ \x3d sci.impl.interop.resolve_class_opts(ctx__$1,class_sym);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar opts \x3d temp__5823__auto__;\nvar or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996).cljs$core$IFn$_invoke$arity$1(opts);\n}\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar clazz \x3d temp__5823__auto__;\nreturn clazz;\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3(ctx__$1,class_sym,false);\n}\n})();\nif(cljs.core.truth_(temp__5821__auto__)){\nvar class$ \x3d temp__5821__auto__;\nvar args__$1 \x3d sci.impl.analyzer.analyze_children(ctx__$1,args);\nvar var_QMARK_ \x3d sci.impl.utils.var_QMARK_(class$);\nvar maybe_var \x3d ((var_QMARK_)?class$:null);\nvar maybe_record \x3d ((var_QMARK_)?cljs.core.deref(maybe_var):(((class$ instanceof cljs.core.Symbol))?class$:null));\nvar maybe_record_constructor \x3d (cljs.core.truth_(maybe_record)?new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(maybe_record)):null);\nif(cljs.core.truth_(maybe_record_constructor)){\nvar G__47183 \x3d ctx__$1;\nvar G__47184 \x3d expr;\nvar G__47185 \x3d maybe_record_constructor;\nvar G__47186 \x3d args__$1;\nvar G__47187 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nvar G__47188 \x3d null;\nreturn (sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6 ? sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6(G__47183,G__47184,G__47185,G__47186,G__47187,G__47188) : sci.impl.analyzer.return_call.call(null,G__47183,G__47184,G__47185,G__47186,G__47187,G__47188));\n} else {\nif(var_QMARK_){\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,cljs.core.deref(maybe_var),args__$2);\n}),null);\n} else {\nif((class$ instanceof sci.impl.types.NodeR)){\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,sci.impl.types.eval(class$,ctx__$2,bindings),args__$2);\n}),null);\n} else {\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,class$,args__$2);\n}),null);\n\n}\n}\n}\n} else {\nvar temp__5821__auto____$1 \x3d sci.impl.records.resolve_record_class(ctx__$1,class_sym);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar record \x3d temp__5821__auto____$1;\nvar args__$1 \x3d sci.impl.analyzer.analyze_children(ctx__$1,args);\nvar G__47194 \x3d ctx__$1;\nvar G__47195 \x3d expr;\nvar G__47196 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22constructor\x22,\x22sci.impl/constructor\x22,1320345666).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(record));\nvar G__47197 \x3d args__$1;\nvar G__47198 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nvar G__47199 \x3d null;\nreturn (sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6 ? sci.impl.analyzer.return_call.cljs$core$IFn$_invoke$arity$6(G__47194,G__47195,G__47196,G__47197,G__47198,G__47199) : sci.impl.analyzer.return_call.call(null,G__47194,G__47195,G__47196,G__47197,G__47198,G__47199));\n} else {\nreturn sci.impl.analyzer.throw_error_with_location([\x22Unable to resolve classname: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(class_sym)].join(\x27\x27),class_sym);\n}\n}\n} else {\nvar class$ \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,class_sym) : sci.impl.analyzer.analyze.call(null,ctx__$1,class_sym));\nvar args__$1 \x3d sci.impl.analyzer.analyze_children(ctx__$1,args);\nvar args__$2 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args__$1);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$2,bindings,sci.impl.types.eval(class$,ctx__$2,bindings),args__$2);\n}),null);\n}\n});\nsci.impl.analyzer.expand_constructor \x3d (function sci$impl$analyzer$expand_constructor(ctx,p__47206){\nvar vec__47207 \x3d p__47206;\nvar seq__47208 \x3d cljs.core.seq(vec__47207);\nvar first__47209 \x3d cljs.core.first(seq__47208);\nvar seq__47208__$1 \x3d cljs.core.next(seq__47208);\nvar constructor_sym \x3d first__47209;\nvar args \x3d seq__47208__$1;\nvar constructor_name \x3d cljs.core.name(constructor_sym);\nvar class_sym \x3d cljs.core.with_meta(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.namespace(constructor_sym),cljs.core.subs.cljs$core$IFn$_invoke$arity$3(constructor_name,(0),(((constructor_name).length) - (1)))),cljs.core.meta(constructor_sym));\nreturn sci.impl.analyzer.analyze_new(ctx,cljs.core.with_meta(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),class_sym,args),cljs.core.meta(constructor_sym)));\n});\nsci.impl.analyzer.return_ns_op \x3d (function sci$impl$analyzer$return_ns_op(_ctx,f,expr,analyzed_args){\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns)], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,ctx,analyzed_args);\n}catch (e47210){if((e47210 instanceof Error)){\nvar e \x3d e47210;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e,this$);\n} else {\nthrow e47210;\n\n}\n}}),stack);\n});\nsci.impl.analyzer.analyze_ns_form \x3d (function sci$impl$analyzer$analyze_ns_form(ctx,p__47211){\nvar vec__47212 \x3d p__47211;\nvar seq__47213 \x3d cljs.core.seq(vec__47212);\nvar first__47214 \x3d cljs.core.first(seq__47213);\nvar seq__47213__$1 \x3d cljs.core.next(seq__47213);\nvar _ns \x3d first__47214;\nvar first__47214__$1 \x3d cljs.core.first(seq__47213__$1);\nvar seq__47213__$2 \x3d cljs.core.next(seq__47213__$1);\nvar ns_name \x3d first__47214__$1;\nvar exprs \x3d seq__47213__$2;\nvar expr \x3d vec__47212;\nif((ns_name instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error([\x22Namespace name must be symbol, got: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ns_name], 0))].join(\x27\x27)));\n}\n\nvar vec__47215 \x3d (function (){var fexpr \x3d cljs.core.first(exprs);\nif(typeof fexpr \x3d\x3d\x3d \x27string\x27){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [fexpr,cljs.core.next(exprs)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,exprs], null);\n}\n})();\nvar docstring \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47215,(0),null);\nvar exprs__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47215,(1),null);\nvar vec__47218 \x3d (function (){var m \x3d cljs.core.first(exprs__$1);\nif(cljs.core.map_QMARK_(m)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [m,cljs.core.next(exprs__$1)], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,exprs__$1], null);\n}\n})();\nvar attr_map \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47218,(0),null);\nvar exprs__$2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47218,(1),null);\nvar attr_map__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(attr_map,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):attr_map);\nsci.impl.utils.set_namespace_BANG_(ctx,ns_name,attr_map__$1);\n\nvar exprs__$3 \x3d exprs__$2;\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nwhile(true){\nif(cljs.core.truth_(exprs__$3)){\nvar vec__47238 \x3d cljs.core.first(exprs__$3);\nvar seq__47239 \x3d cljs.core.seq(vec__47238);\nvar first__47240 \x3d cljs.core.first(seq__47239);\nvar seq__47239__$1 \x3d cljs.core.next(seq__47239);\nvar k \x3d first__47240;\nvar args \x3d seq__47239__$1;\nvar expr__$1 \x3d vec__47238;\nvar G__47241 \x3d k;\nvar G__47241__$1 \x3d (((G__47241 instanceof cljs.core.Keyword))?G__47241.fqn:null);\nswitch (G__47241__$1) {\ncase \x22require\x22:\ncase \x22require-macros\x22:\ncase \x22use\x22:\ncase \x22import\x22:\ncase \x22refer-clojure\x22:\nvar G__48487 \x3d cljs.core.next(exprs__$3);\nvar G__48488 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,sci.impl.analyzer.return_ns_op(ctx,(function (){var G__47242 \x3d k;\nvar G__47242__$1 \x3d (((G__47242 instanceof cljs.core.Keyword))?G__47242.fqn:null);\nswitch (G__47242__$1) {\ncase \x22require\x22:\nreturn sci.impl.load.eval_require;\n\nbreak;\ncase \x22require-macros\x22:\nreturn sci.impl.load.eval_require_macros;\n\nbreak;\ncase \x22use\x22:\nreturn sci.impl.load.eval_use;\n\nbreak;\ncase \x22import\x22:\nreturn sci.impl.evaluator.eval_import;\n\nbreak;\ncase \x22refer-clojure\x22:\nreturn ((function (exprs__$3,ret,G__47242,G__47242__$1,G__47241,G__47241__$1,vec__47238,seq__47239,first__47240,seq__47239__$1,k,args,expr__$1,vec__47215,docstring,exprs__$1,vec__47218,attr_map,exprs__$2,attr_map__$1,vec__47212,seq__47213,first__47214,seq__47213__$1,_ns,first__47214__$1,seq__47213__$2,ns_name,exprs,expr){\nreturn (function() { \nvar G__48490__delegate \x3d function (ctx__$1,args__$1){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.load.eval_refer,ctx__$1,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),args__$1);\n};\nvar G__48490 \x3d function (ctx__$1,var_args){\nvar args__$1 \x3d null;\nif (arguments.length \x3e 1) {\nvar G__48491__i \x3d 0, G__48491__a \x3d new Array(arguments.length - 1);\nwhile (G__48491__i \x3c G__48491__a.length) {G__48491__a[G__48491__i] \x3d arguments[G__48491__i + 1]; ++G__48491__i;}\n args__$1 \x3d new cljs.core.IndexedSeq(G__48491__a,0,null);\n} \nreturn G__48490__delegate.call(this,ctx__$1,args__$1);};\nG__48490.cljs$lang$maxFixedArity \x3d 1;\nG__48490.cljs$lang$applyTo \x3d (function (arglist__48492){\nvar ctx__$1 \x3d cljs.core.first(arglist__48492);\nvar args__$1 \x3d cljs.core.rest(arglist__48492);\nreturn G__48490__delegate(ctx__$1,args__$1);\n});\nG__48490.cljs$core$IFn$_invoke$arity$variadic \x3d G__48490__delegate;\nreturn G__48490;\n})()\n;\n;})(exprs__$3,ret,G__47242,G__47242__$1,G__47241,G__47241__$1,vec__47238,seq__47239,first__47240,seq__47239__$1,k,args,expr__$1,vec__47215,docstring,exprs__$1,vec__47218,attr_map,exprs__$2,attr_map__$1,vec__47212,seq__47213,first__47214,seq__47213__$1,_ns,first__47214__$1,seq__47213__$2,ns_name,exprs,expr))\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__47242__$1)].join(\x27\x27)));\n\n}\n})(),expr__$1,args));\nexprs__$3 \x3d G__48487;\nret \x3d G__48488;\ncontinue;\n\nbreak;\ncase \x22gen-class\x22:\nvar G__48493 \x3d cljs.core.next(exprs__$3);\nvar G__48494 \x3d ret;\nexprs__$3 \x3d G__48493;\nret \x3d G__48494;\ncontinue;\n\nbreak;\ndefault:\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__47241__$1)].join(\x27\x27)));\n\n}\n} else {\nreturn sci.impl.analyzer.return_do(ctx,expr,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,sci.impl.types.__GT_NodeR(((function (exprs__$3,ret,vec__47215,docstring,exprs__$1,vec__47218,attr_map,exprs__$2,attr_map__$1,vec__47212,seq__47213,first__47214,seq__47213__$1,_ns,first__47214__$1,seq__47213__$2,ns_name,exprs,expr){\nreturn (function (this$,ctx__$1,bindings){\nsci.impl.load.add_loaded_lib(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx__$1)),ns_name);\n\nreturn null;\n});})(exprs__$3,ret,vec__47215,docstring,exprs__$1,vec__47218,attr_map,exprs__$2,attr_map__$1,vec__47212,seq__47213,first__47214,seq__47213__$1,_ns,first__47214__$1,seq__47213__$2,ns_name,exprs,expr))\n,null)));\n}\nbreak;\n}\n});\nsci.impl.analyzer.analyze_var \x3d (function sci$impl$analyzer$analyze_var(ctx,p__47253){\nvar vec__47257 \x3d p__47253;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47257,(0),null);\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47257,(1),null);\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2(ctx,var_name);\n});\nsci.impl.analyzer.analyze_set_BANG_ \x3d (function sci$impl$analyzer$analyze_set_BANG_(ctx,p__47265){\nvar vec__47266 \x3d p__47265;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47266,(0),null);\nvar obj \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47266,(1),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__47266,(2),null);\nvar expr \x3d vec__47266;\nif(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((4),cljs.core.count(expr))) \x26\x26 (clojure.string.starts_with_QMARK_(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22-\x22)))){\nvar obj__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,obj) : sci.impl.analyzer.analyze.call(null,ctx,obj));\nvar prop \x3d cljs.core.munge(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),(1)));\nvar v__$1 \x3d (function (){var G__47273 \x3d ctx;\nvar G__47274 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(expr,(3));\nreturn (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(G__47273,G__47274) : sci.impl.analyzer.analyze.call(null,G__47273,G__47274));\n})();\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar obj__$2 \x3d sci.impl.types.eval(obj__$1,ctx__$1,bindings);\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nreturn sci.impl.analyzer.goog$module$goog$object.set(obj__$2,prop,v__$2);\n}),null);\n} else {\nif((obj instanceof cljs.core.Symbol)){\nvar sym \x3d obj;\nvar obj__$1 \x3d sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2(ctx,obj);\nvar v__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,v) : sci.impl.analyzer.analyze.call(null,ctx,v));\nif(sci.impl.utils.var_QMARK_(obj__$1)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nreturn sci.impl.types.setVal(obj__$1,v__$2);\n}),null);\n} else {\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22mutable\x22,\x22mutable\x22,875778266).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(obj__$1)))){\nvar instance \x3d sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$2(ctx,new cljs.core.Symbol(null,\x22__sci_this\x22,\x22__sci_this\x22,-193704996,null));\nvar mutator \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22local-\x3emutator\x22,\x22local-\x3emutator\x22,1004070878).cljs$core$IFn$_invoke$arity$1(ctx),sym);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nvar instance__$1 \x3d sci.impl.types.eval(instance,ctx__$1,bindings);\nreturn (mutator.cljs$core$IFn$_invoke$arity$2 ? mutator.cljs$core$IFn$_invoke$arity$2(instance__$1,v__$2) : mutator.call(null,instance__$1,v__$2));\n}),null);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location(\x22Invalid assignment target\x22,expr);\n\n}\n}\n} else {\nif(cljs.core.seq_QMARK_(obj)){\nvar obj__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,obj) : sci.impl.analyzer.analyze.call(null,ctx,obj));\nvar v__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,v) : sci.impl.analyzer.analyze.call(null,ctx,v));\nvar info \x3d cljs.core.meta(obj__$1);\nvar k \x3d cljs.core.subs.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22method-name\x22,\x22sci.impl.analyzer/method-name\x22,-842600667).cljs$core$IFn$_invoke$arity$1(info),(1));\nvar obj__$2 \x3d new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22instance-expr\x22,\x22sci.impl.analyzer/instance-expr\x22,629338719).cljs$core$IFn$_invoke$arity$1(info);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar obj__$3 \x3d sci.impl.types.eval(obj__$2,ctx__$1,bindings);\nvar v__$2 \x3d sci.impl.types.eval(v__$1,ctx__$1,bindings);\nreturn sci.impl.analyzer.goog$module$goog$object.set(obj__$3,k,v__$2);\n}),null);\n} else {\nreturn sci.impl.analyzer.throw_error_with_location(\x22Invalid assignment target\x22,expr);\n\n}\n}\n}\n});\nsci.impl.analyzer.return_binding_call \x3d (function sci$impl$analyzer$return_binding_call(_ctx,expr,idx,f,analyzed_children,stack){\nvar G__47291 \x3d cljs.core.count(analyzed_children);\nswitch (G__47291) {\ncase (0):\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var fexpr__47293 \x3d (bindings[idx]);\nreturn (fexpr__47293.cljs$core$IFn$_invoke$arity$0 ? fexpr__47293.cljs$core$IFn$_invoke$arity$0() : fexpr__47293.call(null));\n}catch (e47292){if((e47292 instanceof Error)){\nvar e__46381__auto__ \x3d e47292;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47292;\n\n}\n}}),stack);\n\nbreak;\ncase (1):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47310 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar fexpr__47309 \x3d (bindings[idx]);\nreturn (fexpr__47309.cljs$core$IFn$_invoke$arity$1 ? fexpr__47309.cljs$core$IFn$_invoke$arity$1(G__47310) : fexpr__47309.call(null,G__47310));\n}catch (e47303){if((e47303 instanceof Error)){\nvar e__46381__auto__ \x3d e47303;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47303;\n\n}\n}}),stack);\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47327 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47328 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar fexpr__47326 \x3d (bindings[idx]);\nreturn (fexpr__47326.cljs$core$IFn$_invoke$arity$2 ? fexpr__47326.cljs$core$IFn$_invoke$arity$2(G__47327,G__47328) : fexpr__47326.call(null,G__47327,G__47328));\n}catch (e47325){if((e47325 instanceof Error)){\nvar e__46381__auto__ \x3d e47325;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47325;\n\n}\n}}),stack);\n\nbreak;\ncase (3):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47331 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47332 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47333 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar fexpr__47330 \x3d (bindings[idx]);\nreturn (fexpr__47330.cljs$core$IFn$_invoke$arity$3 ? fexpr__47330.cljs$core$IFn$_invoke$arity$3(G__47331,G__47332,G__47333) : fexpr__47330.call(null,G__47331,G__47332,G__47333));\n}catch (e47329){if((e47329 instanceof Error)){\nvar e__46381__auto__ \x3d e47329;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47329;\n\n}\n}}),stack);\n\nbreak;\ncase (4):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47338 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47339 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47340 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47341 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar fexpr__47337 \x3d (bindings[idx]);\nreturn (fexpr__47337.cljs$core$IFn$_invoke$arity$4 ? fexpr__47337.cljs$core$IFn$_invoke$arity$4(G__47338,G__47339,G__47340,G__47341) : fexpr__47337.call(null,G__47338,G__47339,G__47340,G__47341));\n}catch (e47335){if((e47335 instanceof Error)){\nvar e__46381__auto__ \x3d e47335;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47335;\n\n}\n}}),stack);\n\nbreak;\ncase (5):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47345 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47346 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47347 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47348 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47349 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar fexpr__47344 \x3d (bindings[idx]);\nreturn (fexpr__47344.cljs$core$IFn$_invoke$arity$5 ? fexpr__47344.cljs$core$IFn$_invoke$arity$5(G__47345,G__47346,G__47347,G__47348,G__47349) : fexpr__47344.call(null,G__47345,G__47346,G__47347,G__47348,G__47349));\n}catch (e47342){if((e47342 instanceof Error)){\nvar e__46381__auto__ \x3d e47342;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47342;\n\n}\n}}),stack);\n\nbreak;\ncase (6):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47352 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47353 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47354 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47355 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47356 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47357 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar fexpr__47351 \x3d (bindings[idx]);\nreturn (fexpr__47351.cljs$core$IFn$_invoke$arity$6 ? fexpr__47351.cljs$core$IFn$_invoke$arity$6(G__47352,G__47353,G__47354,G__47355,G__47356,G__47357) : fexpr__47351.call(null,G__47352,G__47353,G__47354,G__47355,G__47356,G__47357));\n}catch (e47350){if((e47350 instanceof Error)){\nvar e__46381__auto__ \x3d e47350;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47350;\n\n}\n}}),stack);\n\nbreak;\ncase (7):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47362 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47363 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47364 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47365 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47366 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47367 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47368 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar fexpr__47361 \x3d (bindings[idx]);\nreturn (fexpr__47361.cljs$core$IFn$_invoke$arity$7 ? fexpr__47361.cljs$core$IFn$_invoke$arity$7(G__47362,G__47363,G__47364,G__47365,G__47366,G__47367,G__47368) : fexpr__47361.call(null,G__47362,G__47363,G__47364,G__47365,G__47366,G__47367,G__47368));\n}catch (e47358){if((e47358 instanceof Error)){\nvar e__46381__auto__ \x3d e47358;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47358;\n\n}\n}}),stack);\n\nbreak;\ncase (8):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47371 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47372 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47373 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47374 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47375 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47376 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47377 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47378 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar fexpr__47370 \x3d (bindings[idx]);\nreturn (fexpr__47370.cljs$core$IFn$_invoke$arity$8 ? fexpr__47370.cljs$core$IFn$_invoke$arity$8(G__47371,G__47372,G__47373,G__47374,G__47375,G__47376,G__47377,G__47378) : fexpr__47370.call(null,G__47371,G__47372,G__47373,G__47374,G__47375,G__47376,G__47377,G__47378));\n}catch (e47369){if((e47369 instanceof Error)){\nvar e__46381__auto__ \x3d e47369;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47369;\n\n}\n}}),stack);\n\nbreak;\ncase (9):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47383 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47384 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47385 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47386 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47387 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47388 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47389 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47390 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47391 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar fexpr__47382 \x3d (bindings[idx]);\nreturn (fexpr__47382.cljs$core$IFn$_invoke$arity$9 ? fexpr__47382.cljs$core$IFn$_invoke$arity$9(G__47383,G__47384,G__47385,G__47386,G__47387,G__47388,G__47389,G__47390,G__47391) : fexpr__47382.call(null,G__47383,G__47384,G__47385,G__47386,G__47387,G__47388,G__47389,G__47390,G__47391));\n}catch (e47381){if((e47381 instanceof Error)){\nvar e__46381__auto__ \x3d e47381;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47381;\n\n}\n}}),stack);\n\nbreak;\ncase (10):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47394 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47395 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47396 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47397 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47398 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47399 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47400 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47401 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47402 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47403 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar fexpr__47393 \x3d (bindings[idx]);\nreturn (fexpr__47393.cljs$core$IFn$_invoke$arity$10 ? fexpr__47393.cljs$core$IFn$_invoke$arity$10(G__47394,G__47395,G__47396,G__47397,G__47398,G__47399,G__47400,G__47401,G__47402,G__47403) : fexpr__47393.call(null,G__47394,G__47395,G__47396,G__47397,G__47398,G__47399,G__47400,G__47401,G__47402,G__47403));\n}catch (e47392){if((e47392 instanceof Error)){\nvar e__46381__auto__ \x3d e47392;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47392;\n\n}\n}}),stack);\n\nbreak;\ncase (11):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47408 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47409 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47410 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47411 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47412 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47413 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47414 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47415 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47416 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47417 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47418 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar fexpr__47407 \x3d (bindings[idx]);\nreturn (fexpr__47407.cljs$core$IFn$_invoke$arity$11 ? fexpr__47407.cljs$core$IFn$_invoke$arity$11(G__47408,G__47409,G__47410,G__47411,G__47412,G__47413,G__47414,G__47415,G__47416,G__47417,G__47418) : fexpr__47407.call(null,G__47408,G__47409,G__47410,G__47411,G__47412,G__47413,G__47414,G__47415,G__47416,G__47417,G__47418));\n}catch (e47406){if((e47406 instanceof Error)){\nvar e__46381__auto__ \x3d e47406;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47406;\n\n}\n}}),stack);\n\nbreak;\ncase (12):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47423 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47424 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47425 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47426 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47427 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47428 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47429 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47430 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47431 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47432 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47433 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47434 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar fexpr__47422 \x3d (bindings[idx]);\nreturn (fexpr__47422.cljs$core$IFn$_invoke$arity$12 ? fexpr__47422.cljs$core$IFn$_invoke$arity$12(G__47423,G__47424,G__47425,G__47426,G__47427,G__47428,G__47429,G__47430,G__47431,G__47432,G__47433,G__47434) : fexpr__47422.call(null,G__47423,G__47424,G__47425,G__47426,G__47427,G__47428,G__47429,G__47430,G__47431,G__47432,G__47433,G__47434));\n}catch (e47421){if((e47421 instanceof Error)){\nvar e__46381__auto__ \x3d e47421;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47421;\n\n}\n}}),stack);\n\nbreak;\ncase (13):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47439 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47440 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47441 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47442 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47443 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47444 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47445 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47446 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47447 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47448 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47449 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47450 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47451 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar fexpr__47438 \x3d (bindings[idx]);\nreturn (fexpr__47438.cljs$core$IFn$_invoke$arity$13 ? fexpr__47438.cljs$core$IFn$_invoke$arity$13(G__47439,G__47440,G__47441,G__47442,G__47443,G__47444,G__47445,G__47446,G__47447,G__47448,G__47449,G__47450,G__47451) : fexpr__47438.call(null,G__47439,G__47440,G__47441,G__47442,G__47443,G__47444,G__47445,G__47446,G__47447,G__47448,G__47449,G__47450,G__47451));\n}catch (e47437){if((e47437 instanceof Error)){\nvar e__46381__auto__ \x3d e47437;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47437;\n\n}\n}}),stack);\n\nbreak;\ncase (14):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47457 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47458 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47459 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47460 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47461 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47462 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47463 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47464 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47465 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47466 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47467 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47468 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47469 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47470 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar fexpr__47456 \x3d (bindings[idx]);\nreturn (fexpr__47456.cljs$core$IFn$_invoke$arity$14 ? fexpr__47456.cljs$core$IFn$_invoke$arity$14(G__47457,G__47458,G__47459,G__47460,G__47461,G__47462,G__47463,G__47464,G__47465,G__47466,G__47467,G__47468,G__47469,G__47470) : fexpr__47456.call(null,G__47457,G__47458,G__47459,G__47460,G__47461,G__47462,G__47463,G__47464,G__47465,G__47466,G__47467,G__47468,G__47469,G__47470));\n}catch (e47453){if((e47453 instanceof Error)){\nvar e__46381__auto__ \x3d e47453;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47453;\n\n}\n}}),stack);\n\nbreak;\ncase (15):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47477 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47478 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47479 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47480 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47481 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47482 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47483 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47484 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47485 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47486 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47487 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47488 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47489 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47490 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47491 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar fexpr__47476 \x3d (bindings[idx]);\nreturn (fexpr__47476.cljs$core$IFn$_invoke$arity$15 ? fexpr__47476.cljs$core$IFn$_invoke$arity$15(G__47477,G__47478,G__47479,G__47480,G__47481,G__47482,G__47483,G__47484,G__47485,G__47486,G__47487,G__47488,G__47489,G__47490,G__47491) : fexpr__47476.call(null,G__47477,G__47478,G__47479,G__47480,G__47481,G__47482,G__47483,G__47484,G__47485,G__47486,G__47487,G__47488,G__47489,G__47490,G__47491));\n}catch (e47473){if((e47473 instanceof Error)){\nvar e__46381__auto__ \x3d e47473;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47473;\n\n}\n}}),stack);\n\nbreak;\ncase (16):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47496 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47497 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47498 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47499 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47500 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47501 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47502 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47503 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47504 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47505 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47506 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47507 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47508 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47509 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47510 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47511 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar fexpr__47495 \x3d (bindings[idx]);\nreturn (fexpr__47495.cljs$core$IFn$_invoke$arity$16 ? fexpr__47495.cljs$core$IFn$_invoke$arity$16(G__47496,G__47497,G__47498,G__47499,G__47500,G__47501,G__47502,G__47503,G__47504,G__47505,G__47506,G__47507,G__47508,G__47509,G__47510,G__47511) : fexpr__47495.call(null,G__47496,G__47497,G__47498,G__47499,G__47500,G__47501,G__47502,G__47503,G__47504,G__47505,G__47506,G__47507,G__47508,G__47509,G__47510,G__47511));\n}catch (e47492){if((e47492 instanceof Error)){\nvar e__46381__auto__ \x3d e47492;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47492;\n\n}\n}}),stack);\n\nbreak;\ncase (17):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47517 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47518 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47519 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47520 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47521 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47522 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47523 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47524 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47525 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47526 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47527 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47528 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47529 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47530 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47531 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47532 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__47533 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar fexpr__47516 \x3d (bindings[idx]);\nreturn (fexpr__47516.cljs$core$IFn$_invoke$arity$17 ? fexpr__47516.cljs$core$IFn$_invoke$arity$17(G__47517,G__47518,G__47519,G__47520,G__47521,G__47522,G__47523,G__47524,G__47525,G__47526,G__47527,G__47528,G__47529,G__47530,G__47531,G__47532,G__47533) : fexpr__47516.call(null,G__47517,G__47518,G__47519,G__47520,G__47521,G__47522,G__47523,G__47524,G__47525,G__47526,G__47527,G__47528,G__47529,G__47530,G__47531,G__47532,G__47533));\n}catch (e47515){if((e47515 instanceof Error)){\nvar e__46381__auto__ \x3d e47515;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47515;\n\n}\n}}),stack);\n\nbreak;\ncase (18):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47536 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47537 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47538 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47539 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47540 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47541 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47542 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47543 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47544 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47545 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47546 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47547 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47548 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47549 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47550 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47551 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__47552 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__47553 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar fexpr__47535 \x3d (bindings[idx]);\nreturn (fexpr__47535.cljs$core$IFn$_invoke$arity$18 ? fexpr__47535.cljs$core$IFn$_invoke$arity$18(G__47536,G__47537,G__47538,G__47539,G__47540,G__47541,G__47542,G__47543,G__47544,G__47545,G__47546,G__47547,G__47548,G__47549,G__47550,G__47551,G__47552,G__47553) : fexpr__47535.call(null,G__47536,G__47537,G__47538,G__47539,G__47540,G__47541,G__47542,G__47543,G__47544,G__47545,G__47546,G__47547,G__47548,G__47549,G__47550,G__47551,G__47552,G__47553));\n}catch (e47534){if((e47534 instanceof Error)){\nvar e__46381__auto__ \x3d e47534;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47534;\n\n}\n}}),stack);\n\nbreak;\ncase (19):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar arg18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(18));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47565 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47566 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47567 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47568 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47569 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47570 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47571 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47572 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47573 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47574 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47575 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47576 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47577 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47578 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47579 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__47580 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__47581 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__47582 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar G__47583 \x3d sci.impl.types.eval(arg18,ctx,bindings);\nvar fexpr__47564 \x3d (bindings[idx]);\nreturn (fexpr__47564.cljs$core$IFn$_invoke$arity$19 ? fexpr__47564.cljs$core$IFn$_invoke$arity$19(G__47565,G__47566,G__47567,G__47568,G__47569,G__47570,G__47571,G__47572,G__47573,G__47574,G__47575,G__47576,G__47577,G__47578,G__47579,G__47580,G__47581,G__47582,G__47583) : fexpr__47564.call(null,G__47565,G__47566,G__47567,G__47568,G__47569,G__47570,G__47571,G__47572,G__47573,G__47574,G__47575,G__47576,G__47577,G__47578,G__47579,G__47580,G__47581,G__47582,G__47583));\n}catch (e47560){if((e47560 instanceof Error)){\nvar e__46381__auto__ \x3d e47560;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46381__auto__,this$);\n} else {\nthrow e47560;\n\n}\n}}),stack);\n\nbreak;\ndefault:\nreturn (function (ctx,bindings){\nreturn sci.impl.evaluator.fn_call(ctx,bindings,(bindings[idx]),analyzed_children);\n});\n\n}\n});\nsci.impl.analyzer.return_call \x3d (function sci$impl$analyzer$return_call(_ctx,expr,f,analyzed_children,stack,wrap){\nvar node__46542__auto__ \x3d (function (){var G__47613 \x3d cljs.core.count(analyzed_children);\nswitch (G__47613) {\ncase (0):\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var fexpr__47615 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47615.cljs$core$IFn$_invoke$arity$0 ? fexpr__47615.cljs$core$IFn$_invoke$arity$0() : fexpr__47615.call(null));\n}catch (e47614){if((e47614 instanceof Error)){\nvar e__46541__auto__ \x3d e47614;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47614;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}catch (e47616){if((e47616 instanceof Error)){\nvar e__46541__auto__ \x3d e47616;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47616;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (1):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47622 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar fexpr__47621 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47621.cljs$core$IFn$_invoke$arity$1 ? fexpr__47621.cljs$core$IFn$_invoke$arity$1(G__47622) : fexpr__47621.call(null,G__47622));\n}catch (e47619){if((e47619 instanceof Error)){\nvar e__46541__auto__ \x3d e47619;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47619;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47625 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__47625) : f.call(null,G__47625));\n}catch (e47624){if((e47624 instanceof Error)){\nvar e__46541__auto__ \x3d e47624;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47624;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47628 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47629 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar fexpr__47627 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47627.cljs$core$IFn$_invoke$arity$2 ? fexpr__47627.cljs$core$IFn$_invoke$arity$2(G__47628,G__47629) : fexpr__47627.call(null,G__47628,G__47629));\n}catch (e47626){if((e47626 instanceof Error)){\nvar e__46541__auto__ \x3d e47626;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47626;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47632 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47633 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__47632,G__47633) : f.call(null,G__47632,G__47633));\n}catch (e47630){if((e47630 instanceof Error)){\nvar e__46541__auto__ \x3d e47630;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47630;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (3):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47636 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47637 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47638 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar fexpr__47635 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47635.cljs$core$IFn$_invoke$arity$3 ? fexpr__47635.cljs$core$IFn$_invoke$arity$3(G__47636,G__47637,G__47638) : fexpr__47635.call(null,G__47636,G__47637,G__47638));\n}catch (e47634){if((e47634 instanceof Error)){\nvar e__46541__auto__ \x3d e47634;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47634;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47644 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47645 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47646 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__47644,G__47645,G__47646) : f.call(null,G__47644,G__47645,G__47646));\n}catch (e47641){if((e47641 instanceof Error)){\nvar e__46541__auto__ \x3d e47641;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47641;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (4):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47650 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47651 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47652 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47653 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar fexpr__47649 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47649.cljs$core$IFn$_invoke$arity$4 ? fexpr__47649.cljs$core$IFn$_invoke$arity$4(G__47650,G__47651,G__47652,G__47653) : fexpr__47649.call(null,G__47650,G__47651,G__47652,G__47653));\n}catch (e47647){if((e47647 instanceof Error)){\nvar e__46541__auto__ \x3d e47647;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47647;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47657 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47658 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47659 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47660 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__47657,G__47658,G__47659,G__47660) : f.call(null,G__47657,G__47658,G__47659,G__47660));\n}catch (e47654){if((e47654 instanceof Error)){\nvar e__46541__auto__ \x3d e47654;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47654;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (5):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47665 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47666 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47667 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47668 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47669 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar fexpr__47664 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47664.cljs$core$IFn$_invoke$arity$5 ? fexpr__47664.cljs$core$IFn$_invoke$arity$5(G__47665,G__47666,G__47667,G__47668,G__47669) : fexpr__47664.call(null,G__47665,G__47666,G__47667,G__47668,G__47669));\n}catch (e47663){if((e47663 instanceof Error)){\nvar e__46541__auto__ \x3d e47663;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47663;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47672 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47673 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47674 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47675 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47676 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__47672,G__47673,G__47674,G__47675,G__47676) : f.call(null,G__47672,G__47673,G__47674,G__47675,G__47676));\n}catch (e47671){if((e47671 instanceof Error)){\nvar e__46541__auto__ \x3d e47671;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47671;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (6):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47683 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47684 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47685 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47686 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47687 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47688 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar fexpr__47682 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47682.cljs$core$IFn$_invoke$arity$6 ? fexpr__47682.cljs$core$IFn$_invoke$arity$6(G__47683,G__47684,G__47685,G__47686,G__47687,G__47688) : fexpr__47682.call(null,G__47683,G__47684,G__47685,G__47686,G__47687,G__47688));\n}catch (e47679){if((e47679 instanceof Error)){\nvar e__46541__auto__ \x3d e47679;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47679;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47690 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47691 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47692 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47693 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47694 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47695 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(G__47690,G__47691,G__47692,G__47693,G__47694,G__47695) : f.call(null,G__47690,G__47691,G__47692,G__47693,G__47694,G__47695));\n}catch (e47689){if((e47689 instanceof Error)){\nvar e__46541__auto__ \x3d e47689;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47689;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (7):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47701 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47702 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47703 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47704 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47705 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47706 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47707 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar fexpr__47700 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47700.cljs$core$IFn$_invoke$arity$7 ? fexpr__47700.cljs$core$IFn$_invoke$arity$7(G__47701,G__47702,G__47703,G__47704,G__47705,G__47706,G__47707) : fexpr__47700.call(null,G__47701,G__47702,G__47703,G__47704,G__47705,G__47706,G__47707));\n}catch (e47699){if((e47699 instanceof Error)){\nvar e__46541__auto__ \x3d e47699;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47699;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47711 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47712 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47713 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47714 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47715 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47716 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47717 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(G__47711,G__47712,G__47713,G__47714,G__47715,G__47716,G__47717) : f.call(null,G__47711,G__47712,G__47713,G__47714,G__47715,G__47716,G__47717));\n}catch (e47710){if((e47710 instanceof Error)){\nvar e__46541__auto__ \x3d e47710;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47710;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (8):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47722 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47723 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47724 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47725 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47726 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47727 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47728 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47729 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar fexpr__47721 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47721.cljs$core$IFn$_invoke$arity$8 ? fexpr__47721.cljs$core$IFn$_invoke$arity$8(G__47722,G__47723,G__47724,G__47725,G__47726,G__47727,G__47728,G__47729) : fexpr__47721.call(null,G__47722,G__47723,G__47724,G__47725,G__47726,G__47727,G__47728,G__47729));\n}catch (e47719){if((e47719 instanceof Error)){\nvar e__46541__auto__ \x3d e47719;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47719;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47734 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47735 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47736 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47737 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47738 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47739 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47740 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47741 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(G__47734,G__47735,G__47736,G__47737,G__47738,G__47739,G__47740,G__47741) : f.call(null,G__47734,G__47735,G__47736,G__47737,G__47738,G__47739,G__47740,G__47741));\n}catch (e47733){if((e47733 instanceof Error)){\nvar e__46541__auto__ \x3d e47733;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47733;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (9):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47745 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47746 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47747 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47748 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47749 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47750 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47751 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47752 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47753 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar fexpr__47744 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47744.cljs$core$IFn$_invoke$arity$9 ? fexpr__47744.cljs$core$IFn$_invoke$arity$9(G__47745,G__47746,G__47747,G__47748,G__47749,G__47750,G__47751,G__47752,G__47753) : fexpr__47744.call(null,G__47745,G__47746,G__47747,G__47748,G__47749,G__47750,G__47751,G__47752,G__47753));\n}catch (e47743){if((e47743 instanceof Error)){\nvar e__46541__auto__ \x3d e47743;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47743;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47759 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47760 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47761 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47762 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47763 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47764 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47765 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47766 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47767 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(G__47759,G__47760,G__47761,G__47762,G__47763,G__47764,G__47765,G__47766,G__47767) : f.call(null,G__47759,G__47760,G__47761,G__47762,G__47763,G__47764,G__47765,G__47766,G__47767));\n}catch (e47758){if((e47758 instanceof Error)){\nvar e__46541__auto__ \x3d e47758;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47758;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (10):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47773 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47774 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47775 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47776 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47777 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47778 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47779 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47780 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47781 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47782 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar fexpr__47772 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47772.cljs$core$IFn$_invoke$arity$10 ? fexpr__47772.cljs$core$IFn$_invoke$arity$10(G__47773,G__47774,G__47775,G__47776,G__47777,G__47778,G__47779,G__47780,G__47781,G__47782) : fexpr__47772.call(null,G__47773,G__47774,G__47775,G__47776,G__47777,G__47778,G__47779,G__47780,G__47781,G__47782));\n}catch (e47769){if((e47769 instanceof Error)){\nvar e__46541__auto__ \x3d e47769;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47769;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47786 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47787 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47788 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47789 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47790 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47791 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47792 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47793 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47794 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47795 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(G__47786,G__47787,G__47788,G__47789,G__47790,G__47791,G__47792,G__47793,G__47794,G__47795) : f.call(null,G__47786,G__47787,G__47788,G__47789,G__47790,G__47791,G__47792,G__47793,G__47794,G__47795));\n}catch (e47785){if((e47785 instanceof Error)){\nvar e__46541__auto__ \x3d e47785;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47785;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (11):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47803 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47804 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47805 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47806 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47807 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47808 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47809 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47810 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47811 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47812 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47813 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar fexpr__47802 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47802.cljs$core$IFn$_invoke$arity$11 ? fexpr__47802.cljs$core$IFn$_invoke$arity$11(G__47803,G__47804,G__47805,G__47806,G__47807,G__47808,G__47809,G__47810,G__47811,G__47812,G__47813) : fexpr__47802.call(null,G__47803,G__47804,G__47805,G__47806,G__47807,G__47808,G__47809,G__47810,G__47811,G__47812,G__47813));\n}catch (e47799){if((e47799 instanceof Error)){\nvar e__46541__auto__ \x3d e47799;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47799;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47816 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47817 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47818 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47819 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47820 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47821 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47822 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47823 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47824 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47825 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47826 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(G__47816,G__47817,G__47818,G__47819,G__47820,G__47821,G__47822,G__47823,G__47824,G__47825,G__47826) : f.call(null,G__47816,G__47817,G__47818,G__47819,G__47820,G__47821,G__47822,G__47823,G__47824,G__47825,G__47826));\n}catch (e47815){if((e47815 instanceof Error)){\nvar e__46541__auto__ \x3d e47815;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47815;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (12):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47833 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47834 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47835 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47836 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47837 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47838 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47839 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47840 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47841 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47842 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47843 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47844 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar fexpr__47832 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47832.cljs$core$IFn$_invoke$arity$12 ? fexpr__47832.cljs$core$IFn$_invoke$arity$12(G__47833,G__47834,G__47835,G__47836,G__47837,G__47838,G__47839,G__47840,G__47841,G__47842,G__47843,G__47844) : fexpr__47832.call(null,G__47833,G__47834,G__47835,G__47836,G__47837,G__47838,G__47839,G__47840,G__47841,G__47842,G__47843,G__47844));\n}catch (e47831){if((e47831 instanceof Error)){\nvar e__46541__auto__ \x3d e47831;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47831;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47851 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47852 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47853 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47854 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47855 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47856 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47857 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47858 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47859 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47860 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47861 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47862 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(G__47851,G__47852,G__47853,G__47854,G__47855,G__47856,G__47857,G__47858,G__47859,G__47860,G__47861,G__47862) : f.call(null,G__47851,G__47852,G__47853,G__47854,G__47855,G__47856,G__47857,G__47858,G__47859,G__47860,G__47861,G__47862));\n}catch (e47848){if((e47848 instanceof Error)){\nvar e__46541__auto__ \x3d e47848;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47848;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (13):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47867 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47868 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47869 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47870 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47871 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47872 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47873 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47874 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47875 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47876 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47877 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47878 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47879 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar fexpr__47866 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47866.cljs$core$IFn$_invoke$arity$13 ? fexpr__47866.cljs$core$IFn$_invoke$arity$13(G__47867,G__47868,G__47869,G__47870,G__47871,G__47872,G__47873,G__47874,G__47875,G__47876,G__47877,G__47878,G__47879) : fexpr__47866.call(null,G__47867,G__47868,G__47869,G__47870,G__47871,G__47872,G__47873,G__47874,G__47875,G__47876,G__47877,G__47878,G__47879));\n}catch (e47865){if((e47865 instanceof Error)){\nvar e__46541__auto__ \x3d e47865;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47865;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47887 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47888 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47889 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47890 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47891 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47892 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47893 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47894 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47895 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47896 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47897 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47898 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47899 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(G__47887,G__47888,G__47889,G__47890,G__47891,G__47892,G__47893,G__47894,G__47895,G__47896,G__47897,G__47898,G__47899) : f.call(null,G__47887,G__47888,G__47889,G__47890,G__47891,G__47892,G__47893,G__47894,G__47895,G__47896,G__47897,G__47898,G__47899));\n}catch (e47885){if((e47885 instanceof Error)){\nvar e__46541__auto__ \x3d e47885;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47885;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (14):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47903 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47904 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47905 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47906 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47907 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47908 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47909 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47910 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47911 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47912 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47913 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47914 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47915 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47916 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar fexpr__47902 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47902.cljs$core$IFn$_invoke$arity$14 ? fexpr__47902.cljs$core$IFn$_invoke$arity$14(G__47903,G__47904,G__47905,G__47906,G__47907,G__47908,G__47909,G__47910,G__47911,G__47912,G__47913,G__47914,G__47915,G__47916) : fexpr__47902.call(null,G__47903,G__47904,G__47905,G__47906,G__47907,G__47908,G__47909,G__47910,G__47911,G__47912,G__47913,G__47914,G__47915,G__47916));\n}catch (e47901){if((e47901 instanceof Error)){\nvar e__46541__auto__ \x3d e47901;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47901;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47920 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47921 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47922 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47923 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47924 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47925 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47926 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47927 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47928 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47929 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47930 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47931 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47932 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47933 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(G__47920,G__47921,G__47922,G__47923,G__47924,G__47925,G__47926,G__47927,G__47928,G__47929,G__47930,G__47931,G__47932,G__47933) : f.call(null,G__47920,G__47921,G__47922,G__47923,G__47924,G__47925,G__47926,G__47927,G__47928,G__47929,G__47930,G__47931,G__47932,G__47933));\n}catch (e47919){if((e47919 instanceof Error)){\nvar e__46541__auto__ \x3d e47919;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47919;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (15):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47941 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47942 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47943 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47944 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47945 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47946 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47947 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47948 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47949 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47950 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47951 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47952 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47953 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47954 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47955 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar fexpr__47940 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47940.cljs$core$IFn$_invoke$arity$15 ? fexpr__47940.cljs$core$IFn$_invoke$arity$15(G__47941,G__47942,G__47943,G__47944,G__47945,G__47946,G__47947,G__47948,G__47949,G__47950,G__47951,G__47952,G__47953,G__47954,G__47955) : fexpr__47940.call(null,G__47941,G__47942,G__47943,G__47944,G__47945,G__47946,G__47947,G__47948,G__47949,G__47950,G__47951,G__47952,G__47953,G__47954,G__47955));\n}catch (e47939){if((e47939 instanceof Error)){\nvar e__46541__auto__ \x3d e47939;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47939;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47962 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47963 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47964 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47965 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47966 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47967 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47968 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47969 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47970 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47971 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47972 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47973 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47974 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47975 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__47976 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(G__47962,G__47963,G__47964,G__47965,G__47966,G__47967,G__47968,G__47969,G__47970,G__47971,G__47972,G__47973,G__47974,G__47975,G__47976) : f.call(null,G__47962,G__47963,G__47964,G__47965,G__47966,G__47967,G__47968,G__47969,G__47970,G__47971,G__47972,G__47973,G__47974,G__47975,G__47976));\n}catch (e47960){if((e47960 instanceof Error)){\nvar e__46541__auto__ \x3d e47960;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47960;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (16):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__47986 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__47987 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__47988 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__47989 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__47990 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__47991 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__47992 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__47993 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__47994 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__47995 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__47996 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__47997 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__47998 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__47999 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48000 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48001 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar fexpr__47985 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__47985.cljs$core$IFn$_invoke$arity$16 ? fexpr__47985.cljs$core$IFn$_invoke$arity$16(G__47986,G__47987,G__47988,G__47989,G__47990,G__47991,G__47992,G__47993,G__47994,G__47995,G__47996,G__47997,G__47998,G__47999,G__48000,G__48001) : fexpr__47985.call(null,G__47986,G__47987,G__47988,G__47989,G__47990,G__47991,G__47992,G__47993,G__47994,G__47995,G__47996,G__47997,G__47998,G__47999,G__48000,G__48001));\n}catch (e47982){if((e47982 instanceof Error)){\nvar e__46541__auto__ \x3d e47982;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e47982;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48006 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48007 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48008 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48009 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48010 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48011 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48012 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48013 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48014 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48015 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48016 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48017 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48018 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48019 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48020 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48021 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(G__48006,G__48007,G__48008,G__48009,G__48010,G__48011,G__48012,G__48013,G__48014,G__48015,G__48016,G__48017,G__48018,G__48019,G__48020,G__48021) : f.call(null,G__48006,G__48007,G__48008,G__48009,G__48010,G__48011,G__48012,G__48013,G__48014,G__48015,G__48016,G__48017,G__48018,G__48019,G__48020,G__48021));\n}catch (e48005){if((e48005 instanceof Error)){\nvar e__46541__auto__ \x3d e48005;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48005;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (17):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48028 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48029 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48030 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48031 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48032 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48033 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48034 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48035 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48036 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48037 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48038 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48039 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48040 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48041 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48042 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48043 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48044 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar fexpr__48027 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48027.cljs$core$IFn$_invoke$arity$17 ? fexpr__48027.cljs$core$IFn$_invoke$arity$17(G__48028,G__48029,G__48030,G__48031,G__48032,G__48033,G__48034,G__48035,G__48036,G__48037,G__48038,G__48039,G__48040,G__48041,G__48042,G__48043,G__48044) : fexpr__48027.call(null,G__48028,G__48029,G__48030,G__48031,G__48032,G__48033,G__48034,G__48035,G__48036,G__48037,G__48038,G__48039,G__48040,G__48041,G__48042,G__48043,G__48044));\n}catch (e48026){if((e48026 instanceof Error)){\nvar e__46541__auto__ \x3d e48026;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48026;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48048 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48049 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48050 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48051 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48052 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48053 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48054 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48055 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48056 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48057 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48058 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48059 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48060 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48061 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48062 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48063 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48064 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(G__48048,G__48049,G__48050,G__48051,G__48052,G__48053,G__48054,G__48055,G__48056,G__48057,G__48058,G__48059,G__48060,G__48061,G__48062,G__48063,G__48064) : f.call(null,G__48048,G__48049,G__48050,G__48051,G__48052,G__48053,G__48054,G__48055,G__48056,G__48057,G__48058,G__48059,G__48060,G__48061,G__48062,G__48063,G__48064));\n}catch (e48045){if((e48045 instanceof Error)){\nvar e__46541__auto__ \x3d e48045;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48045;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (18):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48077 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48078 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48079 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48080 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48081 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48082 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48083 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48084 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48085 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48086 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48087 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48088 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48089 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48090 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48091 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48092 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48093 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48094 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar fexpr__48076 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48076.cljs$core$IFn$_invoke$arity$18 ? fexpr__48076.cljs$core$IFn$_invoke$arity$18(G__48077,G__48078,G__48079,G__48080,G__48081,G__48082,G__48083,G__48084,G__48085,G__48086,G__48087,G__48088,G__48089,G__48090,G__48091,G__48092,G__48093,G__48094) : fexpr__48076.call(null,G__48077,G__48078,G__48079,G__48080,G__48081,G__48082,G__48083,G__48084,G__48085,G__48086,G__48087,G__48088,G__48089,G__48090,G__48091,G__48092,G__48093,G__48094));\n}catch (e48075){if((e48075 instanceof Error)){\nvar e__46541__auto__ \x3d e48075;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48075;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48096 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48097 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48098 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48099 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48100 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48101 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48102 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48103 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48104 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48105 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48106 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48107 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48108 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48109 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48110 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48111 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48112 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48113 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(G__48096,G__48097,G__48098,G__48099,G__48100,G__48101,G__48102,G__48103,G__48104,G__48105,G__48106,G__48107,G__48108,G__48109,G__48110,G__48111,G__48112,G__48113) : f.call(null,G__48096,G__48097,G__48098,G__48099,G__48100,G__48101,G__48102,G__48103,G__48104,G__48105,G__48106,G__48107,G__48108,G__48109,G__48110,G__48111,G__48112,G__48113));\n}catch (e48095){if((e48095 instanceof Error)){\nvar e__46541__auto__ \x3d e48095;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48095;\n\n}\n}}),stack);\n}\n\nbreak;\ncase (19):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(1));\nvar arg2 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(2));\nvar arg3 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(3));\nvar arg4 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(4));\nvar arg5 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(5));\nvar arg6 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(6));\nvar arg7 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(7));\nvar arg8 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(8));\nvar arg9 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(9));\nvar arg10 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(10));\nvar arg11 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(11));\nvar arg12 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(12));\nvar arg13 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(13));\nvar arg14 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(14));\nvar arg15 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(15));\nvar arg16 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(16));\nvar arg17 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(17));\nvar arg18 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(analyzed_children,(18));\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48118 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48119 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48120 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48121 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48122 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48123 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48124 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48125 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48126 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48127 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48128 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48129 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48130 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48131 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48132 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48133 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48134 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48135 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar G__48136 \x3d sci.impl.types.eval(arg18,ctx,bindings);\nvar fexpr__48117 \x3d (wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f));\nreturn (fexpr__48117.cljs$core$IFn$_invoke$arity$19 ? fexpr__48117.cljs$core$IFn$_invoke$arity$19(G__48118,G__48119,G__48120,G__48121,G__48122,G__48123,G__48124,G__48125,G__48126,G__48127,G__48128,G__48129,G__48130,G__48131,G__48132,G__48133,G__48134,G__48135,G__48136) : fexpr__48117.call(null,G__48118,G__48119,G__48120,G__48121,G__48122,G__48123,G__48124,G__48125,G__48126,G__48127,G__48128,G__48129,G__48130,G__48131,G__48132,G__48133,G__48134,G__48135,G__48136));\n}catch (e48116){if((e48116 instanceof Error)){\nvar e__46541__auto__ \x3d e48116;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48116;\n\n}\n}}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{var G__48145 \x3d sci.impl.types.eval(arg0,ctx,bindings);\nvar G__48146 \x3d sci.impl.types.eval(arg1,ctx,bindings);\nvar G__48147 \x3d sci.impl.types.eval(arg2,ctx,bindings);\nvar G__48148 \x3d sci.impl.types.eval(arg3,ctx,bindings);\nvar G__48149 \x3d sci.impl.types.eval(arg4,ctx,bindings);\nvar G__48150 \x3d sci.impl.types.eval(arg5,ctx,bindings);\nvar G__48151 \x3d sci.impl.types.eval(arg6,ctx,bindings);\nvar G__48152 \x3d sci.impl.types.eval(arg7,ctx,bindings);\nvar G__48153 \x3d sci.impl.types.eval(arg8,ctx,bindings);\nvar G__48154 \x3d sci.impl.types.eval(arg9,ctx,bindings);\nvar G__48155 \x3d sci.impl.types.eval(arg10,ctx,bindings);\nvar G__48156 \x3d sci.impl.types.eval(arg11,ctx,bindings);\nvar G__48157 \x3d sci.impl.types.eval(arg12,ctx,bindings);\nvar G__48158 \x3d sci.impl.types.eval(arg13,ctx,bindings);\nvar G__48159 \x3d sci.impl.types.eval(arg14,ctx,bindings);\nvar G__48160 \x3d sci.impl.types.eval(arg15,ctx,bindings);\nvar G__48161 \x3d sci.impl.types.eval(arg16,ctx,bindings);\nvar G__48162 \x3d sci.impl.types.eval(arg17,ctx,bindings);\nvar G__48163 \x3d sci.impl.types.eval(arg18,ctx,bindings);\nreturn (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(G__48145,G__48146,G__48147,G__48148,G__48149,G__48150,G__48151,G__48152,G__48153,G__48154,G__48155,G__48156,G__48157,G__48158,G__48159,G__48160,G__48161,G__48162,G__48163) : f.call(null,G__48145,G__48146,G__48147,G__48148,G__48149,G__48150,G__48151,G__48152,G__48153,G__48154,G__48155,G__48156,G__48157,G__48158,G__48159,G__48160,G__48161,G__48162,G__48163));\n}catch (e48143){if((e48143 instanceof Error)){\nvar e__46541__auto__ \x3d e48143;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e__46541__auto__,this$);\n} else {\nthrow e48143;\n\n}\n}}),stack);\n}\n\nbreak;\ndefault:\nif(cljs.core.truth_(wrap)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nreturn sci.impl.evaluator.fn_call(ctx,bindings,(wrap.cljs$core$IFn$_invoke$arity$3 ? wrap.cljs$core$IFn$_invoke$arity$3(ctx,bindings,f) : wrap.call(null,ctx,bindings,f)),analyzed_children);\n}),stack);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\nreturn sci.impl.evaluator.fn_call(ctx,bindings,f,analyzed_children);\n}),stack);\n}\n\n}\n})();\nvar tag__46543__auto__ \x3d new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(expr));\nvar G__48164 \x3d node__46542__auto__;\nif(cljs.core.truth_(tag__46543__auto__)){\nreturn cljs.core.with_meta(G__48164,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),tag__46543__auto__], null));\n} else {\nreturn G__48164;\n}\n});\nsci.impl.analyzer.analyze_quote \x3d (function sci$impl$analyzer$analyze_quote(_ctx,expr){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(expr))){\n} else {\nsci.impl.analyzer.throw_error_with_location(\x22Wrong number of args (0) passed to quote\x22,expr);\n}\n\nvar snd \x3d cljs.core.second(expr);\nreturn sci.impl.types.__GT_constant(snd);\n});\nsci.impl.analyzer.analyze_import \x3d (function sci$impl$analyzer$analyze_import(_ctx,expr){\nvar args \x3d cljs.core.rest(expr);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.meta(expr),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx,bindings){\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.evaluator.eval_import,ctx,args);\n}catch (e48171){if((e48171 instanceof Error)){\nvar e \x3d e48171;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx,bindings,e,this$);\n} else {\nthrow e48171;\n\n}\n}}),stack);\n});\nsci.impl.analyzer.dispatch_special \x3d (function sci$impl$analyzer$dispatch_special(ctx,expr,f){\nvar G__48176 \x3d f;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),G__48176)){\nreturn sci.impl.analyzer.expand_dot_STAR__STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),G__48176)){\nreturn sci.impl.analyzer.return_and(ctx,expr,cljs.core.rest(expr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22import\x22,\x22import\x22,241030818,null),G__48176)){\nreturn sci.impl.analyzer.analyze_import(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),G__48176)){\nreturn sci.impl.analyzer.analyze_case_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22fn*\x22,\x22fn*\x22,-752876845,null),G__48176)){\nreturn sci.impl.analyzer.analyze_fn_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),G__48176)){\nreturn sci.impl.analyzer.return_if(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),G__48176)){\nreturn sci.impl.analyzer.analyze_loop_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),G__48176)){\nreturn sci.impl.analyzer.return_do(ctx,expr,cljs.core.rest(expr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22expand-constructor\x22,\x22expand-constructor\x22,-343741576,null),G__48176)){\nreturn sci.impl.analyzer.expand_constructor(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),G__48176)){\nreturn sci.impl.analyzer.analyze_def(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),G__48176)){\nreturn sci.impl.analyzer.analyze_quote(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),G__48176)){\nreturn sci.impl.analyzer.analyze_let_STAR_(ctx,expr,cljs.core.second(expr),cljs.core.nnext(expr));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22expand-dot*\x22,\x22expand-dot*\x22,-1946890561,null),G__48176)){\nreturn sci.impl.analyzer.expand_dot_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),G__48176)){\nreturn sci.impl.analyzer.analyze_ns_form(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),G__48176)){\nreturn sci.impl.analyzer.analyze_case_STAR_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22set!\x22,\x22set!\x22,250714521,null),G__48176)){\nreturn sci.impl.analyzer.analyze_set_BANG_(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),G__48176)){\nreturn sci.impl.analyzer.return_recur(ctx,expr,sci.impl.analyzer.analyze_children(sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.rest(expr)));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),G__48176)){\nreturn sci.impl.analyzer.analyze_new(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),G__48176)){\nreturn sci.impl.analyzer.analyze_var(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),G__48176)){\nreturn sci.impl.analyzer.analyze_lazy_seq(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),G__48176)){\nreturn sci.impl.analyzer.analyze_throw(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),G__48176)){\nreturn sci.impl.analyzer.analyze_try(ctx,expr);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),G__48176)){\nreturn sci.impl.analyzer.return_or(ctx,expr,cljs.core.rest(expr));\n} else {\nthrow (new Error([\x22No matching clause: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__48176)].join(\x27\x27)));\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n}\n});\nsci.impl.analyzer.analyze_call \x3d (function sci$impl$analyzer$analyze_call(ctx,expr,m,top_level_QMARK_){\nvar m__46679__auto__ \x3d m;\nvar loc__46680__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d top_level_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nvar and__5023__auto____$1 \x3d m__46679__auto__;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46679__auto__);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(m__46679__auto__),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46679__auto__)], null):null);\nif(cljs.core.truth_(loc__46680__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d loc__46680__auto__);\n} else {\n}\n\ntry{try{var f \x3d cljs.core.first(expr);\nif((f instanceof cljs.core.Symbol)){\nvar fsym \x3d f;\nvar special_sym \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.special_syms,f);\nvar _ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d special_sym;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317).cljs$core$IFn$_invoke$arity$1(ctx);\n} else {\nreturn and__5023__auto__;\n}\n})())?sci.impl.resolve.check_permission_BANG_(ctx,f,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [special_sym,null], null)):null);\nvar f__$1 \x3d (function (){var or__5025__auto__ \x3d special_sym;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3(ctx,f,true);\n}\n})();\nvar f_meta \x3d cljs.core.meta(f__$1);\nvar eval_QMARK_ \x3d (function (){var and__5023__auto__ \x3d f_meta;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978).cljs$core$IFn$_invoke$arity$1(f_meta);\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar fast_path \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676).cljs$core$IFn$_invoke$arity$1(f_meta);\nvar f__$2 \x3d (function (){var or__5025__auto__ \x3d fast_path;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn f__$1;\n}\n})();\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d f_meta;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn new cljs.core.Keyword(\x22sci.impl.analyzer\x22,\x22static-access\x22,\x22sci.impl.analyzer/static-access\x22,-79014000).cljs$core$IFn$_invoke$arity$1(f_meta);\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar vec__48194 \x3d f__$2;\nvar class$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48194,(0),null);\nvar method_path \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48194,(1),null);\nvar last_path \x3d cljs.core.last(method_path);\nvar ctor_QMARK_ \x3d cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22\x22,last_path);\nvar method_len \x3d cljs.core.count(method_path);\nvar subpath \x3d method_path.slice((0),(method_len - (1)));\nvar lookup_fn \x3d ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),method_len))?cljs.core.constantly([class$,last_path]):(function (){\nreturn [sci.impl.interop.get_static_fields(class$,subpath),last_path];\n}));\nvar vec__48197 \x3d (function (){try{return lookup_fn();\n}catch (e48203){var ___$1 \x3d e48203;\nreturn null;\n}})();\nvar class$__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48197,(0),null);\nvar method_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__48197,(1),null);\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nvar children__$1 \x3d cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(children);\nif(cljs.core.truth_(class$__$1)){\nif(ctor_QMARK_){\nvar ctor \x3d class$__$1;\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$1,bindings,ctor,children__$1);\n}),null);\n} else {\nif((class$__$1 instanceof sci.impl.types.NodeR)){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar class$__$2 \x3d sci.impl.types.eval(class$__$1,ctx__$1,bindings);\nvar method \x3d (class$__$2[method_name]);\nreturn sci.impl.interop.invoke_static_method(ctx__$1,bindings,class$__$2,method,children__$1);\n}),null);\n} else {\nvar method \x3d (class$__$1[method_name]);\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\ntry{return sci.impl.interop.invoke_static_method(ctx__$1,bindings,class$__$1,method,children__$1);\n}catch (e48210){var e \x3d e48210;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3(ctx__$1,e,this$);\n}}),stack);\n}\n}\n} else {\nif(ctor_QMARK_){\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar arr \x3d lookup_fn();\nvar ctor \x3d (arr[(0)]);\nreturn sci.impl.interop.invoke_js_constructor_STAR_(ctx__$1,bindings,ctor,children__$1);\n}),null);\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar arr \x3d lookup_fn();\nvar class$__$2 \x3d (arr[(0)]);\nvar method_name__$1 \x3d (arr[(1)]);\nvar method \x3d (class$__$2[method_name__$1]);\nreturn sci.impl.interop.invoke_static_method(ctx__$1,bindings,class$__$2,method,children__$1);\n}),null);\n}\n}\n} else {\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d cljs.core.not(eval_QMARK_);\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d (f__$2 instanceof cljs.core.Symbol);\nif(and__5023__auto____$1){\nvar or__5025__auto__ \x3d special_sym;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.contains_QMARK_(sci.impl.utils.ana_macros,f__$2);\n}\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn sci.impl.analyzer.dispatch_special(ctx,expr,f__$2);\n} else {\ntry{if(cljs.core.truth_(sci.impl.utils.macro_QMARK_(f__$2))){\nvar f__$3 \x3d ((sci.impl.utils.var_QMARK_(f__$2))?cljs.core.deref(f__$2):f__$2);\nvar f__$4 \x3d (function (){var or__5025__auto__ \x3d f__$3.afn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn f__$3;\n}\n})();\nvar v \x3d cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f__$4,expr,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.rest(expr));\nvar v__$1 \x3d ((cljs.core.seq_QMARK_(v))?cljs.core.with_meta(v,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([m,cljs.core.meta(v)], 0))):v);\nvar expanded \x3d (cljs.core.truth_(new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825).cljs$core$IFn$_invoke$arity$1(ctx))?v__$1:(cljs.core.truth_((function (){var and__5023__auto__ \x3d top_level_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ((cljs.core.seq_QMARK_(v__$1)) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),cljs.core.first(v__$1))));\n} else {\nreturn and__5023__auto__;\n}\n})())?sci.impl.types.__GT_EvalForm(v__$1):(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3(ctx,v__$1,top_level_QMARK_) : sci.impl.analyzer.analyze.call(null,ctx,v__$1,top_level_QMARK_))\n));\nreturn expanded;\n} else {\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22inlined\x22,\x22sci.impl/inlined\x22,-478453593).cljs$core$IFn$_invoke$arity$1(f_meta);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar f__$3 \x3d temp__5821__auto__;\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$3,sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),null);\n} else {\nvar temp__5821__auto____$1 \x3d new cljs.core.Keyword(\x22sci.impl\x22,\x22op\x22,\x22sci.impl/op\x22,950953978).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(f__$2));\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar op \x3d temp__5821__auto____$1;\nvar G__48220 \x3d op;\nvar G__48220__$1 \x3d (((G__48220 instanceof cljs.core.Keyword))?G__48220.fqn:null);\nswitch (G__48220__$1) {\ncase \x22resolve-sym\x22:\nreturn sci.impl.analyzer.return_binding_call(ctx,expr,new cljs.core.Keyword(\x22sci.impl\x22,\x22idx\x22,\x22sci.impl/idx\x22,700902278).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(f__$2)),f__$2,sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr)),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)));\n\nbreak;\ndefault:\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$2,children,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),null);\n\n}\n} else {\nvar self_ref_QMARK_ \x3d new cljs.core.Keyword(null,\x22self-ref?\x22,\x22self-ref?\x22,412808630).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d self_ref_QMARK_;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn (self_ref_QMARK_.cljs$core$IFn$_invoke$arity$1 ? self_ref_QMARK_.cljs$core$IFn$_invoke$arity$1(f__$2) : self_ref_QMARK_.call(null,f__$2));\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$2,children,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),(function (___$1,bindings,___$2){\nreturn cljs.core.deref(bindings.get(fsym));\n}));\n} else {\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$2,children,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0)),((sci.impl.utils.var_QMARK_(f__$2))?(function (___$1,___$2,v){\nreturn cljs.core.deref(v);\n}):null));\n}\n}\n}\n}\n}catch (e48214){if((e48214 instanceof Error)){\nvar e \x3d e48214;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3(ctx,e,(function (){var stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file),new cljs.core.Keyword(\x22sci.impl\x22,\x22f-meta\x22,\x22sci.impl/f-meta\x22,-1735495322),f_meta], 0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn null;\n}),stack);\n})());\n} else {\nthrow e48214;\n\n}\n}\n}\n}\n} else {\nif((f instanceof cljs.core.Keyword)){\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nvar ccount \x3d cljs.core.count(children);\nvar G__48225 \x3d ccount;\nswitch (G__48225) {\ncase (1):\nvar arg \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn f.cljs$core$IFn$_invoke$arity$1(sci.impl.types.eval(arg,ctx__$1,bindings));\n}),null);\n\nbreak;\ncase (2):\nvar arg0 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(0));\nvar arg1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(children,(1));\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn f.cljs$core$IFn$_invoke$arity$2(sci.impl.types.eval(arg0,ctx__$1,bindings),sci.impl.types.eval(arg1,ctx__$1,bindings));\n}),null);\n\nbreak;\ndefault:\nreturn sci.impl.analyzer.throw_error_with_location([\x22Wrong number of args (\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(ccount),\x22) passed to: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(f)].join(\x27\x27),expr);\n\n}\n} else {\nvar f__$1 \x3d (sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx,f) : sci.impl.analyzer.analyze.call(null,ctx,f));\nvar children \x3d sci.impl.analyzer.analyze_children(ctx,cljs.core.rest(expr));\nvar stack \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),cljs.core.deref(sci.impl.utils.current_file)], 0));\nreturn sci.impl.analyzer.return_call(ctx,expr,f__$1,children,stack,((sci.impl.utils.var_QMARK_(f__$1))?(function (ctx__$1,bindings,f__$2){\nreturn sci.impl.types.eval(cljs.core.deref(f__$2),ctx__$1,bindings);\n}):(function (ctx__$1,bindings,f__$2){\nreturn sci.impl.types.eval(f__$2,ctx__$1,bindings);\n})));\n\n}\n}\n}catch (e48190){var e \x3d e48190;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$3(ctx,e,sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn null;\n}),sci.impl.utils.make_stack.cljs$core$IFn$_invoke$arity$1(m)));\n}}finally {if(cljs.core.truth_(loc__46680__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d null);\n} else {\n}\n}});\nsci.impl.analyzer.map_fn \x3d (function sci$impl$analyzer$map_fn(children_count){\nif((children_count \x3c\x3d (16))){\nreturn (function() { \nvar G__48603__delegate \x3d function (rest__48233_SHARP_){\nreturn cljs.core.PersistentArrayMap.createWithCheck(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(rest__48233_SHARP_));\n};\nvar G__48603 \x3d function (var_args){\nvar rest__48233_SHARP_ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__48605__i \x3d 0, G__48605__a \x3d new Array(arguments.length - 0);\nwhile (G__48605__i \x3c G__48605__a.length) {G__48605__a[G__48605__i] \x3d arguments[G__48605__i + 0]; ++G__48605__i;}\n rest__48233_SHARP_ \x3d new cljs.core.IndexedSeq(G__48605__a,0,null);\n} \nreturn G__48603__delegate.call(this,rest__48233_SHARP_);};\nG__48603.cljs$lang$maxFixedArity \x3d 0;\nG__48603.cljs$lang$applyTo \x3d (function (arglist__48606){\nvar rest__48233_SHARP_ \x3d cljs.core.seq(arglist__48606);\nreturn G__48603__delegate(rest__48233_SHARP_);\n});\nG__48603.cljs$core$IFn$_invoke$arity$variadic \x3d G__48603__delegate;\nreturn G__48603;\n})()\n;\n} else {\nreturn (function() { \nvar G__48607__delegate \x3d function (rest__48235_SHARP_){\nreturn cljs.core.PersistentHashMap.createWithCheck(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(rest__48235_SHARP_));\n};\nvar G__48607 \x3d function (var_args){\nvar rest__48235_SHARP_ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__48608__i \x3d 0, G__48608__a \x3d new Array(arguments.length - 0);\nwhile (G__48608__i \x3c G__48608__a.length) {G__48608__a[G__48608__i] \x3d arguments[G__48608__i + 0]; ++G__48608__i;}\n rest__48235_SHARP_ \x3d new cljs.core.IndexedSeq(G__48608__a,0,null);\n} \nreturn G__48607__delegate.call(this,rest__48235_SHARP_);};\nG__48607.cljs$lang$maxFixedArity \x3d 0;\nG__48607.cljs$lang$applyTo \x3d (function (arglist__48609){\nvar rest__48235_SHARP_ \x3d cljs.core.seq(arglist__48609);\nreturn G__48607__delegate(rest__48235_SHARP_);\n});\nG__48607.cljs$core$IFn$_invoke$arity$variadic \x3d G__48607__delegate;\nreturn G__48607;\n})()\n;\n}\n});\nsci.impl.analyzer.return_map \x3d (function sci$impl$analyzer$return_map(ctx,the_map,analyzed_children){\nvar mf \x3d sci.impl.analyzer.map_fn(cljs.core.count(analyzed_children));\nsci.impl.analyzer.return_call(ctx,the_map,mf,analyzed_children,null,null);\n\nreturn sci.impl.analyzer.return_call(ctx,the_map,mf,analyzed_children,null,null);\n});\nsci.impl.analyzer.constant_node_QMARK_ \x3d (function sci$impl$analyzer$constant_node_QMARK_(x){\nreturn (!((x instanceof sci.impl.types.NodeR)));\n});\nsci.impl.analyzer.analyze_map \x3d (function sci$impl$analyzer$analyze_map(ctx,expr,m){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar children \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentVector.EMPTY,cljs.core.cat,expr);\nvar analyzed_children \x3d sci.impl.analyzer.analyze_children(ctx__$1,children);\nvar const_QMARK_ \x3d cljs.core.every_QMARK_(sci.impl.analyzer.constant_node_QMARK_,analyzed_children);\nvar same_QMARK_ \x3d ((const_QMARK_)?cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(children,analyzed_children):null);\nvar const_val \x3d ((const_QMARK_)?(cljs.core.truth_(same_QMARK_)?expr:(function (){var mf \x3d sci.impl.analyzer.map_fn(cljs.core.count(analyzed_children));\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(mf,analyzed_children);\n})()):null);\nvar analyzed_map \x3d ((const_QMARK_)?sci.impl.types.__GT_constant(const_val):sci.impl.analyzer.return_map(ctx__$1,expr,analyzed_children));\nvar analyzed_meta \x3d (cljs.core.truth_(m)?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,m) : sci.impl.analyzer.analyze.call(null,ctx__$1,m)):null);\nvar ret \x3d (cljs.core.truth_(analyzed_meta)?sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nvar coll \x3d sci.impl.types.eval(analyzed_map,ctx__$2,bindings);\nvar md \x3d sci.impl.types.eval(analyzed_meta,ctx__$2,bindings);\nreturn cljs.core.with_meta(coll,md);\n}),null):analyzed_map);\nreturn ret;\n});\n/**\n * Returns analyzed vector or set\n */\nsci.impl.analyzer.analyze_vec_or_set \x3d (function sci$impl$analyzer$analyze_vec_or_set(ctx,f1,f2,expr,m){\nvar ctx__$1 \x3d sci.impl.analyzer.without_recur_target.cljs$core$IFn$_invoke$arity$1(ctx);\nvar analyzed_meta \x3d (cljs.core.truth_(m)?(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 ? sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,m) : sci.impl.analyzer.analyze.call(null,ctx__$1,m)):null);\nvar analyzed_children \x3d sci.impl.analyzer.analyze_children(ctx__$1,expr);\nvar const_QMARK_ \x3d cljs.core.every_QMARK_(sci.impl.analyzer.constant_node_QMARK_,analyzed_children);\nvar set_expr_QMARK_ \x3d cljs.core.set_QMARK_(expr);\nvar same_QMARK_ \x3d ((const_QMARK_) \x26\x26 (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(((set_expr_QMARK_)?(function (){var or__5025__auto__ \x3d cljs.core.seq(expr);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.PersistentVector.EMPTY;\n}\n})():expr),analyzed_children)));\nvar const_val \x3d ((const_QMARK_)?((same_QMARK_)?((cljs.core.empty_QMARK_(expr))?((set_expr_QMARK_)?cljs.core.PersistentHashSet.EMPTY:cljs.core.PersistentVector.EMPTY):expr):(f1.cljs$core$IFn$_invoke$arity$1 ? f1.cljs$core$IFn$_invoke$arity$1(analyzed_children) : f1.call(null,analyzed_children))):null);\nvar analyzed_coll \x3d ((const_QMARK_)?sci.impl.types.__GT_constant(const_val):sci.impl.analyzer.return_call(ctx__$1,expr,f2,analyzed_children,null,null));\nvar ret \x3d (cljs.core.truth_(analyzed_meta)?sci.impl.types.__GT_NodeR((function (this$,ctx__$2,bindings){\nvar coll \x3d sci.impl.types.eval(analyzed_coll,ctx__$2,bindings);\nvar md \x3d sci.impl.types.eval(analyzed_meta,ctx__$2,bindings);\nreturn cljs.core.with_meta(coll,md);\n}),null):analyzed_coll);\nreturn ret;\n});\nsci.impl.analyzer.analyze_js_obj \x3d (function sci$impl$analyzer$analyze_js_obj(ctx,js_val){\nvar v \x3d js_val.val;\nif(cljs.core.map_QMARK_(v)){\nvar ks \x3d cljs.core.keys(v);\nvar ks__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.name,ks);\nvar vs \x3d cljs.core.vals(v);\nvar vs__$1 \x3d sci.impl.analyzer.analyze_children(ctx,vs);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.js_obj,cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(ks__$1,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__48251_SHARP_){\nreturn sci.impl.types.eval(p1__48251_SHARP_,ctx__$1,bindings);\n}),vs__$1)));\n}),null);\n} else {\nvar vs \x3d sci.impl.analyzer.analyze_children(ctx,v);\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nvar arr \x3d [];\ncljs.core.run_BANG_((function (p1__48252_SHARP_){\nreturn arr.push(sci.impl.types.eval(p1__48252_SHARP_,ctx__$1,bindings));\n}),vs);\n\nreturn arr;\n}),null);\n}\n});\nsci.impl.analyzer.analyze \x3d (function sci$impl$analyzer$analyze(var_args){\nvar G__48259 \x3d arguments.length;\nswitch (G__48259) {\ncase 2:\nreturn sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,expr){\nreturn sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3(ctx,expr,false);\n}));\n\n(sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,expr,top_level_QMARK_){\nvar m \x3d cljs.core.meta(expr);\nif(sci.impl.utils.constant_QMARK_(expr)){\nreturn sci.impl.types.__GT_constant(expr);\n} else {\nif((expr instanceof cljs.core.Symbol)){\nvar v \x3d sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,expr,false,m);\nvar mv \x3d cljs.core.meta(v);\nif(sci.impl.utils.constant_QMARK_(v)){\nreturn sci.impl.types.__GT_constant(v);\n} else {\nif(sci.impl.utils.var_QMARK_(v)){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22const\x22,\x22const\x22,1709929842).cljs$core$IFn$_invoke$arity$1(mv))){\nreturn cljs.core.deref(v);\n} else {\nif(cljs.core.truth_(sci.impl.vars.isMacro(v))){\nthrow (new Error([\x22Can\x27t take value of a macro: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),\x22\x22].join(\x27\x27)));\n} else {\nreturn sci.impl.types.__GT_NodeR((function (this$,ctx__$1,bindings){\nreturn cljs.core._deref(v);\n}),null);\n}\n}\n} else {\nreturn v;\n\n}\n}\n} else {\nif(cljs.core.record_QMARK_(expr)){\nreturn expr;\n} else {\nif(cljs.core.map_QMARK_(expr)){\nreturn sci.impl.analyzer.analyze_map(ctx,expr,m);\n} else {\nif((expr instanceof cljs.tagged_literals.JSValue)){\nreturn sci.impl.analyzer.analyze_js_obj(ctx,expr);\n} else {\nif(cljs.core.vector_QMARK_(expr)){\nreturn sci.impl.analyzer.analyze_vec_or_set(ctx,cljs.core.identity,cljs.core.vector,expr,m);\n} else {\nif(cljs.core.set_QMARK_(expr)){\nreturn sci.impl.analyzer.analyze_vec_or_set(ctx,cljs.core.set,(function() { \nvar G__48619__delegate \x3d function (rest__48257_SHARP_){\nreturn cljs.core.PersistentHashSet.createWithCheck(cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(rest__48257_SHARP_));\n};\nvar G__48619 \x3d function (var_args){\nvar rest__48257_SHARP_ \x3d null;\nif (arguments.length \x3e 0) {\nvar G__48620__i \x3d 0, G__48620__a \x3d new Array(arguments.length - 0);\nwhile (G__48620__i \x3c G__48620__a.length) {G__48620__a[G__48620__i] \x3d arguments[G__48620__i + 0]; ++G__48620__i;}\n rest__48257_SHARP_ \x3d new cljs.core.IndexedSeq(G__48620__a,0,null);\n} \nreturn G__48619__delegate.call(this,rest__48257_SHARP_);};\nG__48619.cljs$lang$maxFixedArity \x3d 0;\nG__48619.cljs$lang$applyTo \x3d (function (arglist__48621){\nvar rest__48257_SHARP_ \x3d cljs.core.seq(arglist__48621);\nreturn G__48619__delegate(rest__48257_SHARP_);\n});\nG__48619.cljs$core$IFn$_invoke$arity$variadic \x3d G__48619__delegate;\nreturn G__48619;\n})()\n,expr,m);\n} else {\nif(cljs.core.seq_QMARK_(expr)){\nif(cljs.core.seq(expr)){\nreturn sci.impl.analyzer.analyze_call(ctx,expr,m,top_level_QMARK_);\n} else {\nreturn expr;\n}\n} else {\nreturn expr;\n\n}\n}\n}\n}\n}\n}\n}\n}\n}));\n\n(sci.impl.analyzer.analyze.cljs$lang$maxFixedArity \x3d 3);\n\ncljs.core.vreset_BANG_(sci.impl.utils.analyze,sci.impl.analyzer.analyze);\n");
SHADOW_ENV.evalLoad("sci.impl.cljs.js", true, "goog.provide(\x27sci.impl.cljs\x27);\n");
SHADOW_ENV.evalLoad("sci.impl.copy_vars.js", true, "goog.provide(\x27sci.impl.copy_vars\x27);\nsci.impl.copy_vars.inlined_vars \x3d new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 89, [new cljs.core.Symbol(null,\x22+\x27\x22,\x22+\x27\x22,1839585344,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-remainder-int\x22,\x22unchecked-remainder-int\x22,1427188224,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-subtract-int\x22,\x22unchecked-subtract-int\x22,-1899147615,null),\x22null\x22,new cljs.core.Symbol(null,\x22dec\x27\x22,\x22dec\x27\x22,1382902561,null),\x22null\x22,new cljs.core.Symbol(null,\x22short-array\x22,\x22short-array\x22,-395185918,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-shift-right\x22,\x22bit-shift-right\x22,884046498,null),\x22null\x22,new cljs.core.Symbol(null,\x22aget\x22,\x22aget\x22,1491056546,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3d\x22,\x22\x3d\x22,-1501502141,null),\x22null\x22,new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-shift-left\x22,\x22bit-shift-left\x22,-1814765981,null),\x22null\x22,new cljs.core.Symbol(null,\x22aclone\x22,\x22aclone\x22,722978531,null),\x22null\x22,new cljs.core.Symbol(null,\x22dec\x22,\x22dec\x22,-766002333,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3c\x22,\x22\x3c\x22,993667236,null),\x22null\x22,new cljs.core.Symbol(null,\x22char\x22,\x22char\x22,998943941,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-long\x22,\x22unchecked-long\x22,1306610949,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-negate\x22,\x22unchecked-negate\x22,-1669067451,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-inc-int\x22,\x22unchecked-inc-int\x22,1402783397,null),\x22null\x22,new cljs.core.Symbol(null,\x22floats\x22,\x22floats\x22,513591110,null),\x22null\x22,new cljs.core.Symbol(null,\x22pos?\x22,\x22pos?\x22,-244377722,null),\x22null\x22,new cljs.core.Symbol(null,\x22boolean-array\x22,\x22boolean-array\x22,-640353913,null),\x22null\x22,new cljs.core.Symbol(null,\x22alength\x22,\x22alength\x22,-1268305401,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-xor\x22,\x22bit-xor\x22,-1334295033,null),\x22null\x22,new cljs.core.Symbol(null,\x22unsigned-bit-shift-right\x22,\x22unsigned-bit-shift-right\x22,-1953076601,null),\x22null\x22,new cljs.core.Symbol(null,\x22neg?\x22,\x22neg?\x22,-1902175577,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-float\x22,\x22unchecked-float\x22,1485658216,null),\x22null\x22,new cljs.core.Symbol(null,\x22num\x22,\x22num\x22,-669195096,null),\x22null\x22,new cljs.core.Symbol(null,\x22reduced?\x22,\x22reduced?\x22,1361797384,null),\x22null\x22,new cljs.core.Symbol(null,\x22booleans\x22,\x22booleans\x22,756846088,null),\x22null\x22,new cljs.core.Symbol(null,\x22int-array\x22,\x22int-array\x22,459176616,null),\x22null\x22,new cljs.core.Symbol(null,\x22inc\x27\x22,\x22inc\x27\x22,1740049128,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3c\x3d\x22,\x22\x3c\x3d\x22,1244895369,null),\x22null\x22,new cljs.core.Symbol(null,\x22-\x27\x22,\x22-\x27\x22,1770549449,null),\x22null\x22,new cljs.core.Symbol(null,\x22*\x22,\x22*\x22,345799209,null),\x22null\x22,new cljs.core.Symbol(null,\x22min\x22,\x22min\x22,2085523049,null),\x22null\x22,new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),\x22null\x22,new cljs.core.Symbol(null,\x22long\x22,\x22long\x22,1469079434,null),\x22null\x22,new cljs.core.Symbol(null,\x22double\x22,\x22double\x22,-1769548886,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-and-not\x22,\x22bit-and-not\x22,-254338837,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-add-int\x22,\x22unchecked-add-int\x22,-1821763285,null),\x22null\x22,new cljs.core.Symbol(null,\x22short\x22,\x22short\x22,-725675253,null),\x22null\x22,new cljs.core.Symbol(null,\x22quot\x22,\x22quot\x22,-1125214196,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-double\x22,\x22unchecked-double\x22,-1593778036,null),\x22null\x22,new cljs.core.Symbol(null,\x22longs\x22,\x22longs\x22,-1017696020,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-multiply-int\x22,\x22unchecked-multiply-int\x22,-788546068,null),\x22null\x22,new cljs.core.Symbol(null,\x22int\x22,\x22int\x22,-100885395,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3e\x22,\x22\x3e\x22,1085014381,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-int\x22,\x22unchecked-int\x22,1672898125,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-multiply\x22,\x22unchecked-multiply\x22,-1019161490,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-dec\x22,\x22unchecked-dec\x22,2095823150,null),\x22null\x22,new cljs.core.Symbol(null,\x22double-array\x22,\x22double-array\x22,257035726,null),\x22null\x22,new cljs.core.Symbol(null,\x22float\x22,\x22float\x22,-91857841,null),\x22null\x22,new cljs.core.Symbol(null,\x22-\x22,\x22-\x22,-471816912,null),\x22null\x22,new cljs.core.Symbol(null,\x22byte-array\x22,\x22byte-array\x22,2009690064,null),\x22null\x22,new cljs.core.Symbol(null,\x22zero?\x22,\x22zero?\x22,325758897,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-dec-int\x22,\x22unchecked-dec-int\x22,1339067442,null),\x22null\x22,new cljs.core.Symbol(null,\x22rem\x22,\x22rem\x22,664046770,null),\x22null\x22,new cljs.core.Symbol(null,\x22nth\x22,\x22nth\x22,1529209554,null),\x22null\x22,new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-and\x22,\x22bit-and\x22,-479352589,null),\x22null\x22,new cljs.core.Symbol(null,\x22*\x27\x22,\x22*\x27\x22,-1403126253,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-add\x22,\x22unchecked-add\x22,-2030665965,null),\x22null\x22,new cljs.core.Symbol(null,\x22identical?\x22,\x22identical?\x22,-745864205,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-divide-int\x22,\x22unchecked-divide-int\x22,1613116468,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-subtract\x22,\x22unchecked-subtract\x22,-2137458667,null),\x22null\x22,new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-or\x22,\x22bit-or\x22,-1144943723,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3e\x3d\x22,\x22\x3e\x3d\x22,1016916022,null),\x22null\x22,new cljs.core.Symbol(null,\x22long-array\x22,\x22long-array\x22,217579190,null),\x22null\x22,new cljs.core.Symbol(null,\x22object-array\x22,\x22object-array\x22,206434647,null),\x22null\x22,new cljs.core.Symbol(null,\x22doubles\x22,\x22doubles\x22,-1517872169,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-byte\x22,\x22unchecked-byte\x22,1091664664,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-short\x22,\x22unchecked-short\x22,27848057,null),\x22null\x22,new cljs.core.Symbol(null,\x22float-array\x22,\x22float-array\x22,2043038265,null),\x22null\x22,new cljs.core.Symbol(null,\x22inc\x22,\x22inc\x22,324505433,null),\x22null\x22,new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),\x22null\x22,new cljs.core.Symbol(null,\x22chars\x22,\x22chars\x22,545901210,null),\x22null\x22,new cljs.core.Symbol(null,\x22ints\x22,\x22ints\x22,-1761239845,null),\x22null\x22,new cljs.core.Symbol(null,\x22bit-not\x22,\x22bit-not\x22,1508529851,null),\x22null\x22,new cljs.core.Symbol(null,\x22byte\x22,\x22byte\x22,-1970660549,null),\x22null\x22,new cljs.core.Symbol(null,\x22max\x22,\x22max\x22,1701898075,null),\x22null\x22,new cljs.core.Symbol(null,\x22\x3d\x3d\x22,\x22\x3d\x3d\x22,-234118149,null),\x22null\x22,new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),\x22null\x22,new cljs.core.Symbol(null,\x22char-array\x22,\x22char-array\x22,1338149341,null),\x22null\x22,new cljs.core.Symbol(null,\x22compare\x22,\x22compare\x22,1109853757,null),\x22null\x22,new cljs.core.Symbol(null,\x22shorts\x22,\x22shorts\x22,107738238,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-negate-int\x22,\x22unchecked-negate-int\x22,-825297602,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-inc\x22,\x22unchecked-inc\x22,-1170131490,null),\x22null\x22,new cljs.core.Symbol(null,\x22unchecked-char\x22,\x22unchecked-char\x22,1662742943,null),\x22null\x22,new cljs.core.Symbol(null,\x22bytes\x22,\x22bytes\x22,-1478569089,null),\x22null\x22], null), null);\nsci.impl.copy_vars.cljs_resolve \x3d (((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.analyzer !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.analyzer.api !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.analyzer.api.resolve !\x3d\x3d \x27undefined\x27))?(new cljs.core.Var((function (){\nreturn cljs.analyzer.api.resolve;\n}),cljs.core.with_meta(new cljs.core.Symbol(\x22cljs.analyzer.api\x22,\x22resolve\x22,\x22cljs.analyzer.api/resolve\x22,498213843,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)),null)):null);\nsci.impl.copy_vars.elide_vars \x3d false;\nsci.impl.copy_vars.macrofy_STAR_ \x3d (function sci$impl$copy_vars$macrofy_STAR_(var_args){\nvar G__43268 \x3d arguments.length;\nswitch (G__43268) {\ncase 1:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (f){\nreturn cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2(f,(function (p1__43259_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__43259_SHARP_,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),true);\n}));\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,f){\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(sym,f,null,false);\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (sym,f,ns){\nreturn sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(sym,f,ns,null);\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (sym,f,ns,extra_meta){\nvar ns__$1 \x3d (function (){var or__5025__auto__ \x3d ns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.clojure_core_ns;\n}\n})();\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(sym,f,(function (){var G__43284 \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (!(sci.impl.copy_vars.elide_vars));\nif(and__5023__auto__){\nreturn extra_meta;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__43284,extra_meta], 0));\n} else {\nreturn G__43284;\n}\n})());\n}));\n\n(sci.impl.copy_vars.macrofy_STAR_.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.copy_vars.new_var \x3d (function sci$impl$copy_vars$new_var(var_args){\nvar G__43287 \x3d arguments.length;\nswitch (G__43287) {\ncase 2:\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,f){\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4(sym,f,null,null);\n}));\n\n(sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (sym,f,ns){\nreturn sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4(sym,f,ns,null);\n}));\n\n(sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$4 \x3d (function (sym,f,ns,extra_meta){\nvar ns__$1 \x3d ((ns \x3d\x3d\x3d true)?sci.impl.utils.clojure_core_ns:(function (){var or__5025__auto__ \x3d ns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.clojure_core_ns;\n}\n})());\nif((((!(cljs.core.boolean_QMARK_(ns__$1)))) \x26\x26 ((ns__$1 instanceof sci.lang.Namespace)))){\n} else {\nthrow (new Error([\x22Assert failed: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym),\x22\\n\x22,\x22(and (not (boolean? ns)) (instance? sci.lang.Namespace ns))\x22].join(\x27\x27)));\n}\n\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(sym,f,(function (){var G__43299 \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d (!(sci.impl.copy_vars.elide_vars));\nif(and__5023__auto__){\nreturn extra_meta;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__43299,extra_meta], 0));\n} else {\nreturn G__43299;\n}\n})());\n}));\n\n(sci.impl.copy_vars.new_var.cljs$lang$maxFixedArity \x3d 4);\n\n");
SHADOW_ENV.evalLoad("sci.impl.core_protocols.js", true, "goog.provide(\x27sci.impl.core_protocols\x27);\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols._deref !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.core_protocols._deref \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43220 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43220.cljs$core$IFn$_invoke$arity$0 ? fexpr__43220.cljs$core$IFn$_invoke$arity$0() : fexpr__43220.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.core-protocols\x22,\x22-deref\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.core_protocols._deref.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),(function (ref){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43226 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-deref\x22,\x22-deref\x22,-283116853,null));\nreturn (fexpr__43226.cljs$core$IFn$_invoke$arity$1 ? fexpr__43226.cljs$core$IFn$_invoke$arity$1(ref) : fexpr__43226.call(null,ref));\n}));\nsci.impl.core_protocols.ideref_default \x3d sci.impl.core_protocols._deref.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (ref){\nreturn cljs.core.deref(ref);\n}));\nsci.impl.core_protocols.deref_STAR_ \x3d (function sci$impl$core_protocols$deref_STAR_(x){\nif((function (){var or__5025__auto__ \x3d (x instanceof cljs.core.Atom);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((x \x3d\x3d null)))){\nif((((x.cljs$lang$protocol_mask$partition0$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d x.cljs$core$IDeref$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nreturn cljs.core.deref(x);\n} else {\nreturn sci.impl.core_protocols._deref.cljs$core$IFn$_invoke$arity$1(x);\n}\n});\nsci.impl.core_protocols.cljs_core_ns \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),null);\nsci.impl.core_protocols.deref_protocol \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22cljs.core.IDeref\x22,\x22cljs.core.IDeref\x22,-783543206,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.IDeref,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._deref]),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null));\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols._swap_BANG_ !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.core_protocols._swap_BANG_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43253 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43253.cljs$core$IFn$_invoke$arity$0 ? fexpr__43253.cljs$core$IFn$_invoke$arity$0() : fexpr__43253.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.core-protocols\x22,\x22-swap!\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nif((typeof sci !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof sci.impl.core_protocols._reset_BANG_ !\x3d\x3d \x27undefined\x27)){\n} else {\nsci.impl.core_protocols._reset_BANG_ \x3d (function (){var method_table__5622__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar prefer_table__5623__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar method_cache__5624__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar cached_hierarchy__5625__auto__ \x3d cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\nvar hierarchy__5626__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Keyword(null,\x22hierarchy\x22,\x22hierarchy\x22,-1053470341),(function (){var fexpr__43258 \x3d cljs.core.get_global_hierarchy;\nreturn (fexpr__43258.cljs$core$IFn$_invoke$arity$0 ? fexpr__43258.cljs$core$IFn$_invoke$arity$0() : fexpr__43258.call(null));\n})());\nreturn (new cljs.core.MultiFn(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22sci.impl.core-protocols\x22,\x22-reset!\x22),sci.impl.types.type_impl,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),hierarchy__5626__auto__,method_table__5622__auto__,prefer_table__5623__auto__,method_cache__5624__auto__,cached_hierarchy__5625__auto__));\n})();\n}\nsci.impl.core_protocols._swap_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),(function() {\nvar G__43312 \x3d null;\nvar G__43312__2 \x3d (function (ref,f){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43269 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null));\nreturn (fexpr__43269.cljs$core$IFn$_invoke$arity$2 ? fexpr__43269.cljs$core$IFn$_invoke$arity$2(ref,f) : fexpr__43269.call(null,ref,f));\n});\nvar G__43312__3 \x3d (function (ref,f,a1){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43270 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null));\nreturn (fexpr__43270.cljs$core$IFn$_invoke$arity$3 ? fexpr__43270.cljs$core$IFn$_invoke$arity$3(ref,f,a1) : fexpr__43270.call(null,ref,f,a1));\n});\nvar G__43312__4 \x3d (function (ref,f,a1,a2){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43272 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null));\nreturn (fexpr__43272.cljs$core$IFn$_invoke$arity$4 ? fexpr__43272.cljs$core$IFn$_invoke$arity$4(ref,f,a1,a2) : fexpr__43272.call(null,ref,f,a1,a2));\n});\nvar G__43312__5 \x3d (function() { \nvar G__43313__delegate \x3d function (ref,f,a1,a2,args){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null)),ref,f,a1,a2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));\n};\nvar G__43313 \x3d function (ref,f,a1,a2,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 4) {\nvar G__43314__i \x3d 0, G__43314__a \x3d new Array(arguments.length - 4);\nwhile (G__43314__i \x3c G__43314__a.length) {G__43314__a[G__43314__i] \x3d arguments[G__43314__i + 4]; ++G__43314__i;}\n args \x3d new cljs.core.IndexedSeq(G__43314__a,0,null);\n} \nreturn G__43313__delegate.call(this,ref,f,a1,a2,args);};\nG__43313.cljs$lang$maxFixedArity \x3d 4;\nG__43313.cljs$lang$applyTo \x3d (function (arglist__43315){\nvar ref \x3d cljs.core.first(arglist__43315);\narglist__43315 \x3d cljs.core.next(arglist__43315);\nvar f \x3d cljs.core.first(arglist__43315);\narglist__43315 \x3d cljs.core.next(arglist__43315);\nvar a1 \x3d cljs.core.first(arglist__43315);\narglist__43315 \x3d cljs.core.next(arglist__43315);\nvar a2 \x3d cljs.core.first(arglist__43315);\nvar args \x3d cljs.core.rest(arglist__43315);\nreturn G__43313__delegate(ref,f,a1,a2,args);\n});\nG__43313.cljs$core$IFn$_invoke$arity$variadic \x3d G__43313__delegate;\nreturn G__43313;\n})()\n;\nG__43312 \x3d function(ref,f,a1,a2,var_args){\nvar args \x3d var_args;\nswitch(arguments.length){\ncase 2:\nreturn G__43312__2.call(this,ref,f);\ncase 3:\nreturn G__43312__3.call(this,ref,f,a1);\ncase 4:\nreturn G__43312__4.call(this,ref,f,a1,a2);\ndefault:\nvar G__43318 \x3d null;\nif (arguments.length \x3e 4) {\nvar G__43319__i \x3d 0, G__43319__a \x3d new Array(arguments.length - 4);\nwhile (G__43319__i \x3c G__43319__a.length) {G__43319__a[G__43319__i] \x3d arguments[G__43319__i + 4]; ++G__43319__i;}\nG__43318 \x3d new cljs.core.IndexedSeq(G__43319__a,0,null);\n}\nreturn G__43312__5.cljs$core$IFn$_invoke$arity$variadic(ref,f,a1,a2, G__43318);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__43312.cljs$lang$maxFixedArity \x3d 4;\nG__43312.cljs$lang$applyTo \x3d G__43312__5.cljs$lang$applyTo;\nG__43312.cljs$core$IFn$_invoke$arity$2 \x3d G__43312__2;\nG__43312.cljs$core$IFn$_invoke$arity$3 \x3d G__43312__3;\nG__43312.cljs$core$IFn$_invoke$arity$4 \x3d G__43312__4;\nG__43312.cljs$core$IFn$_invoke$arity$variadic \x3d G__43312__5.cljs$core$IFn$_invoke$arity$variadic;\nreturn G__43312;\n})()\n);\nsci.impl.core_protocols._reset_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(\x22sci.impl.protocols\x22,\x22reified\x22,\x22sci.impl.protocols/reified\x22,-2019939396),(function (ref,v){\nvar methods$ \x3d sci.impl.types.getMethods(ref);\nvar fexpr__43273 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(methods$,new cljs.core.Symbol(null,\x22-reset!\x22,\x22-reset!\x22,1965723739,null));\nreturn (fexpr__43273.cljs$core$IFn$_invoke$arity$2 ? fexpr__43273.cljs$core$IFn$_invoke$arity$2(ref,v) : fexpr__43273.call(null,ref,v));\n}));\nsci.impl.core_protocols.iatom_defaults \x3d new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [sci.impl.core_protocols._swap_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function() { \nvar G__43322__delegate \x3d function (ref,f,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,ref,f,args);\n};\nvar G__43322 \x3d function (ref,f,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 2) {\nvar G__43323__i \x3d 0, G__43323__a \x3d new Array(arguments.length - 2);\nwhile (G__43323__i \x3c G__43323__a.length) {G__43323__a[G__43323__i] \x3d arguments[G__43323__i + 2]; ++G__43323__i;}\n args \x3d new cljs.core.IndexedSeq(G__43323__a,0,null);\n} \nreturn G__43322__delegate.call(this,ref,f,args);};\nG__43322.cljs$lang$maxFixedArity \x3d 2;\nG__43322.cljs$lang$applyTo \x3d (function (arglist__43324){\nvar ref \x3d cljs.core.first(arglist__43324);\narglist__43324 \x3d cljs.core.next(arglist__43324);\nvar f \x3d cljs.core.first(arglist__43324);\nvar args \x3d cljs.core.rest(arglist__43324);\nreturn G__43322__delegate(ref,f,args);\n});\nG__43322.cljs$core$IFn$_invoke$arity$variadic \x3d G__43322__delegate;\nreturn G__43322;\n})()\n),sci.impl.core_protocols._reset_BANG_.cljs$core$IMultiFn$_add_method$arity$3(null,new cljs.core.Keyword(null,\x22default\x22,\x22default\x22,-1987822328),(function (ref,v){\nreturn cljs.core.reset_BANG_(ref,v);\n}))], null);\nsci.impl.core_protocols.swap_BANG__STAR_ \x3d (function sci$impl$core_protocols$swap_BANG__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43325 \x3d arguments.length;\nvar i__5750__auto___43326 \x3d (0);\nwhile(true){\nif((i__5750__auto___43326 \x3c len__5749__auto___43325)){\nargs__5755__auto__.push((arguments[i__5750__auto___43326]));\n\nvar G__43327 \x3d (i__5750__auto___43326 + (1));\ni__5750__auto___43326 \x3d G__43327;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.core_protocols.swap_BANG__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.core_protocols.swap_BANG__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (ref,f,args){\nif((function (){var or__5025__auto__ \x3d (ref instanceof cljs.core.Atom);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((ref \x3d\x3d null)))){\nif((((ref.cljs$lang$protocol_mask$partition1$ \x26 (65536))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ref.cljs$core$ISwap$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nif(cljs.core.truth_(args)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,ref,f,args);\n} else {\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(ref,f);\n}\n} else {\nif(cljs.core.truth_(args)){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.core_protocols._swap_BANG_,ref,f,args);\n} else {\nreturn sci.impl.core_protocols._swap_BANG_.cljs$core$IFn$_invoke$arity$2(ref,f);\n}\n}\n}));\n\n(sci.impl.core_protocols.swap_BANG__STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.core_protocols.swap_BANG__STAR_.cljs$lang$applyTo \x3d (function (seq43280){\nvar G__43281 \x3d cljs.core.first(seq43280);\nvar seq43280__$1 \x3d cljs.core.next(seq43280);\nvar G__43282 \x3d cljs.core.first(seq43280__$1);\nvar seq43280__$2 \x3d cljs.core.next(seq43280__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43281,G__43282,seq43280__$2);\n}));\n\nsci.impl.core_protocols.reset_BANG__STAR_ \x3d (function sci$impl$core_protocols$reset_BANG__STAR_(ref,v){\nif((function (){var or__5025__auto__ \x3d (ref instanceof cljs.core.Atom);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nif((!((ref \x3d\x3d null)))){\nif((((ref.cljs$lang$protocol_mask$partition1$ \x26 (32768))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d ref.cljs$core$IReset$)))){\nreturn true;\n} else {\nreturn false;\n}\n} else {\nreturn false;\n}\n}\n})()){\nreturn cljs.core.reset_BANG_(ref,v);\n} else {\nreturn sci.impl.core_protocols._reset_BANG_.cljs$core$IFn$_invoke$arity$2(ref,v);\n}\n});\nsci.impl.core_protocols.swap_protocol \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22cljs.core.ISwap\x22,\x22cljs.core.ISwap\x22,2045511362,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.ISwap,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._swap_BANG_]),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null));\nsci.impl.core_protocols.reset_protocol \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22cljs.core.IReset\x22,\x22cljs.core.IReset\x22,348905844,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.IReset,new cljs.core.Keyword(null,\x22methods\x22,\x22methods\x22,453930866),cljs.core.PersistentHashSet.createAsIfByAssoc([sci.impl.core_protocols._reset_BANG_]),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.core_protocols.cljs_core_ns], null));\nsci.impl.core_protocols.defaults \x3d cljs.core.set(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(sci.impl.core_protocols.iatom_defaults,sci.impl.core_protocols.ideref_default));\n");
SHADOW_ENV.evalLoad("sci.impl.destructure.js", true, "goog.provide(\x27sci.impl.destructure\x27);\nsci.impl.destructure.destructure_STAR_ \x3d (function sci$impl$destructure$destructure_STAR_(bindings,loc){\nvar bents \x3d cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),bindings);\nvar pb \x3d (function sci$impl$destructure$destructure_STAR__$_pb(bvec,b,v){\nvar pvec \x3d (function (bvec__$1,b__$1,val){\nvar gvec \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22vec__\x22);\nvar gseq \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22seq__\x22);\nvar gfirst \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22first__\x22);\nvar has_rest \x3d cljs.core.some(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),null], null), null),b__$1);\nvar ret \x3d (function (){var ret \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(bvec__$1,gvec,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([val], 0));\nif(cljs.core.truth_(has_rest)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,gseq,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.seq,(new cljs.core.List(null,gvec,null,(1),null)),(2),null))], 0));\n} else {\nreturn ret;\n}\n})();\nvar n \x3d (0);\nvar bs \x3d b__$1;\nvar seen_rest_QMARK_ \x3d false;\nwhile(true){\nif(cljs.core.seq(bs)){\nvar firstb \x3d cljs.core.first(bs);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(firstb,new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null))){\nvar G__43328 \x3d sci$impl$destructure$destructure_STAR__$_pb(ret,cljs.core.second(bs),gseq);\nvar G__43329 \x3d n;\nvar G__43330 \x3d cljs.core.nnext(bs);\nvar G__43331 \x3d true;\nret \x3d G__43328;\nn \x3d G__43329;\nbs \x3d G__43330;\nseen_rest_QMARK_ \x3d G__43331;\ncontinue;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(firstb,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641))){\nreturn sci$impl$destructure$destructure_STAR__$_pb(ret,cljs.core.second(bs),gvec);\n} else {\nif(cljs.core.truth_(seen_rest_QMARK_)){\nthrow (new Error(\x22Unsupported binding form, only :as can follow \x26 parameter\x22));\n} else {\nvar G__43332 \x3d sci$impl$destructure$destructure_STAR__$_pb((cljs.core.truth_(has_rest)?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,gfirst,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.first,null,(1),null)),(new cljs.core.List(null,gseq,null,(1),null))))),gseq,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.next,null,(1),null)),(new cljs.core.List(null,gseq,null,(1),null)))))], 0)):ret),firstb,(cljs.core.truth_(has_rest)?gfirst:(function (){var G__43260 \x3d (new cljs.core.List(null,cljs.core.nth,(new cljs.core.List(null,gvec,(new cljs.core.List(null,n,(new cljs.core.List(null,null,null,(1),null)),(2),null)),(3),null)),(4),null));\nif(cljs.core.truth_(loc)){\nreturn cljs.core.with_meta(G__43260,loc);\n} else {\nreturn G__43260;\n}\n})()));\nvar G__43333 \x3d (n + (1));\nvar G__43334 \x3d cljs.core.next(bs);\nvar G__43335 \x3d seen_rest_QMARK_;\nret \x3d G__43332;\nn \x3d G__43333;\nbs \x3d G__43334;\nseen_rest_QMARK_ \x3d G__43335;\ncontinue;\n}\n\n}\n}\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nvar pmap \x3d (function (bvec__$1,b__$1,v__$1){\nvar gmap \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22map__\x22);\nvar defaults \x3d new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169).cljs$core$IFn$_invoke$arity$1(b__$1);\nvar ret \x3d ((function (gmap,defaults,pvec,bents){\nreturn (function (ret){\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(b__$1))){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641).cljs$core$IFn$_invoke$arity$1(b__$1),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([gmap], 0));\n} else {\nreturn ret;\n}\n});})(gmap,defaults,pvec,bents))\n(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(bvec__$1,gmap),v__$1),gmap),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,(new cljs.core.List(null,cljs.core.seq_QMARK_,(new cljs.core.List(null,gmap,null,(1),null)),(2),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq-to-map-for-destructuring\x22,\x22cljs.core/seq-to-map-for-destructuring\x22,240595294,null),null,(1),null)),(new cljs.core.List(null,gmap,null,(1),null))))),(new cljs.core.List(null,gmap,null,(1),null)),(2),null)),(3),null)),(4),null))));\nvar bes \x3d (function (){var transforms \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (ret,gmap,defaults,pvec,bents){\nreturn (function (transforms,mk){\nif((mk instanceof cljs.core.Keyword)){\nvar mkns \x3d cljs.core.namespace(mk);\nvar mkn \x3d cljs.core.name(mk);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mkn,\x22keys\x22)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(transforms,mk,(function (p1__43221_SHARP_){\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d mkns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.namespace(p1__43221_SHARP_);\n}\n})(),cljs.core.name(p1__43221_SHARP_));\n}));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mkn,\x22syms\x22)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(transforms,mk,(function (p1__43222_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((function (){var or__5025__auto__ \x3d mkns;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.namespace(p1__43222_SHARP_);\n}\n})(),cljs.core.name(p1__43222_SHARP_)),null,(1),null)),(2),null));\n}));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(mkn,\x22strs\x22)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(transforms,mk,cljs.core.str);\n} else {\nreturn transforms;\n\n}\n}\n}\n} else {\nreturn transforms;\n}\n});})(ret,gmap,defaults,pvec,bents))\n,cljs.core.PersistentArrayMap.EMPTY,cljs.core.keys(b__$1));\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (transforms,ret,gmap,defaults,pvec,bents){\nreturn (function (bes,entry){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__43223_SHARP_,p2__43224_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(p1__43223_SHARP_,p2__43224_SHARP_,(function (){var fexpr__43294 \x3d cljs.core.val(entry);\nreturn (fexpr__43294.cljs$core$IFn$_invoke$arity$1 ? fexpr__43294.cljs$core$IFn$_invoke$arity$1(p2__43224_SHARP_) : fexpr__43294.call(null,p2__43224_SHARP_));\n})());\n}),cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(bes,cljs.core.key(entry)),(function (){var fexpr__43295 \x3d cljs.core.key(entry);\nreturn (fexpr__43295.cljs$core$IFn$_invoke$arity$1 ? fexpr__43295.cljs$core$IFn$_invoke$arity$1(bes) : fexpr__43295.call(null,bes));\n})());\n});})(transforms,ret,gmap,defaults,pvec,bents))\n,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(b__$1,new cljs.core.Keyword(null,\x22as\x22,\x22as\x22,1148689641),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169)], 0)),transforms);\n})();\nwhile(true){\nif(cljs.core.seq(bes)){\nvar bb \x3d cljs.core.key(cljs.core.first(bes));\nvar bk \x3d cljs.core.val(cljs.core.first(bes));\nvar local \x3d (((((!((bb \x3d\x3d null))))?(((((bb.cljs$lang$protocol_mask$partition1$ \x26 (4096))) || ((cljs.core.PROTOCOL_SENTINEL \x3d\x3d\x3d bb.cljs$core$INamed$))))?true:false):false))?cljs.core.with_meta(cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(bb)),cljs.core.meta(bb)):bb);\nvar bv \x3d ((cljs.core.contains_QMARK_(defaults,local))?(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),(new cljs.core.List(null,gmap,(new cljs.core.List(null,bk,(new cljs.core.List(null,(defaults.cljs$core$IFn$_invoke$arity$1 ? defaults.cljs$core$IFn$_invoke$arity$1(local) : defaults.call(null,local)),null,(1),null)),(2),null)),(3),null)),(4),null)):(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22get\x22,\x22cljs.core/get\x22,-296075407,null),(new cljs.core.List(null,gmap,(new cljs.core.List(null,bk,null,(1),null)),(2),null)),(3),null)));\nvar G__43347 \x3d (((((bb instanceof cljs.core.Keyword)) || ((bb instanceof cljs.core.Symbol))))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,local,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([bv], 0)):sci$impl$destructure$destructure_STAR__$_pb(ret,bb,bv));\nvar G__43348 \x3d cljs.core.next(bes);\nret \x3d G__43347;\nbes \x3d G__43348;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n});\nif((b instanceof cljs.core.Symbol)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(bvec,(cljs.core.truth_(cljs.core.namespace(b))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(b)):b)),v);\n} else {\nif((b instanceof cljs.core.Keyword)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(bvec,cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(b))),v);\n} else {\nif(cljs.core.vector_QMARK_(b)){\nreturn pvec(bvec,b,v);\n} else {\nif(cljs.core.map_QMARK_(b)){\nreturn pmap(bvec,b,v);\n} else {\nthrow (new Error([\x22Unsupported binding form: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(b)].join(\x27\x27)));\n\n}\n}\n}\n}\n});\nvar process_entry \x3d (function (bvec,b){\nreturn pb(bvec,cljs.core.first(b),cljs.core.second(b));\n});\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,bents))){\nreturn bindings;\n} else {\nvar temp__5821__auto__ \x3d cljs.core.seq(cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__43227_SHARP_){\nreturn (cljs.core.first(p1__43227_SHARP_) instanceof cljs.core.Keyword);\n}),bents));\nif(temp__5821__auto__){\nvar kwbs \x3d temp__5821__auto__;\nthrow (new Error([\x22Unsupported binding key: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ffirst(kwbs))].join(\x27\x27)));\n} else {\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(process_entry,cljs.core.PersistentVector.EMPTY,bents);\n}\n}\n});\nsci.impl.destructure.destructure \x3d (function sci$impl$destructure$destructure(var_args){\nvar G__43321 \x3d arguments.length;\nswitch (G__43321) {\ncase 1:\nreturn sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$1 \x3d (function (b){\nreturn sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2(b,null);\n}));\n\n(sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2 \x3d (function (b,loc){\nreturn sci.impl.destructure.destructure_STAR_(b,loc);\n}));\n\n(sci.impl.destructure.destructure.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("sci.impl.doseq_macro.js", true, "goog.provide(\x27sci.impl.doseq_macro\x27);\nsci.impl.doseq_macro.assert_args \x3d (function sci$impl$doseq_macro$assert_args(seq_exprs,_body_exprs){\nif(cljs.core.vector_QMARK_(seq_exprs)){\n} else {\nthrow (new Error(\x22doseq requires a vector for its binding\x22));\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(seq_exprs))){\nreturn null;\n} else {\nthrow (new Error(\x22doseq requires an even number of forms in binding vector\x22));\n}\n});\nsci.impl.doseq_macro.expand_doseq \x3d (function sci$impl$doseq_macro$expand_doseq(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43463 \x3d arguments.length;\nvar i__5750__auto___43464 \x3d (0);\nwhile(true){\nif((i__5750__auto___43464 \x3c len__5749__auto___43463)){\nargs__5755__auto__.push((arguments[i__5750__auto___43464]));\n\nvar G__43466 \x3d (i__5750__auto___43464 + (1));\ni__5750__auto___43464 \x3d G__43466;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.doseq_macro.expand_doseq.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.doseq_macro.expand_doseq.cljs$core$IFn$_invoke$arity$variadic \x3d (function (expr,_,seq_exprs,body){\nsci.impl.doseq_macro.assert_args(seq_exprs,body);\n\nvar loc \x3d cljs.core.meta(expr);\nvar step \x3d (function sci$impl$doseq_macro$step(recform,exprs){\nif(cljs.core.not(exprs)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body)))], null);\n} else {\nvar k \x3d cljs.core.first(exprs);\nvar v \x3d cljs.core.second(exprs);\nif((k instanceof cljs.core.Keyword)){\nvar steppair \x3d sci$impl$doseq_macro$step(recform,cljs.core.nnext(exprs));\nvar needrec \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((0)) : steppair.call(null,(0)));\nvar subform \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((1)) : steppair.call(null,(1)));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22let\x22,\x22let\x22,-1282412701))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [needrec,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform,null,(1),null))], 0))))], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22while\x22,\x22while\x22,963117786))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform,null,(1),null)),(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform], null):null)], 0))))], null);\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22when\x22,\x22when\x22,-576417306))){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [false,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,subform,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform], null):null)], 0)))),null,(1),null)),(new cljs.core.List(null,recform,null,(1),null))], 0))))], null);\n} else {\nreturn null;\n}\n}\n}\n} else {\nvar seq_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22seq_\x22);\nvar chunk_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22chunk_\x22);\nvar count_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22count_\x22);\nvar i_ \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22i_\x22);\nvar recform__$1 \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22next\x22,\x22cljs.core/next\x22,-1291438473,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))], 0))));\nvar steppair \x3d sci$impl$doseq_macro$step(recform__$1,cljs.core.nnext(exprs));\nvar needrec \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((0)) : steppair.call(null,(0)));\nvar subform \x3d (steppair.cljs$core$IFn$_invoke$arity$1 ? steppair.cljs$core$IFn$_invoke$arity$1((1)) : steppair.call(null,(1)));\nvar recform_chunk \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,chunk_,null,(1),null)),(new cljs.core.List(null,count_,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,i_,null,(1),null))))),null,(1),null))], 0))));\nvar steppair_chunk \x3d sci$impl$doseq_macro$step(recform_chunk,cljs.core.nnext(exprs));\nvar subform_chunk \x3d (steppair_chunk.cljs$core$IFn$_invoke$arity$1 ? steppair_chunk.cljs$core$IFn$_invoke$arity$1((1)) : steppair_chunk.call(null,(1)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,seq_,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null))))),loc),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,chunk_,null,(1),null)),(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,count_,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)),(new cljs.core.List(null,i_,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,i_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,count_,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,k,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nth\x22,\x22cljs.core/nth\x22,1961052085,null),null,(1),null)),(new cljs.core.List(null,chunk_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,i_,null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform_chunk,null,(1),null)),(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform_chunk], null):null)], 0)))),loc),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,seq_,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunked-seq?\x22,\x22cljs.core/chunked-seq?\x22,-712922369,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22c__43371__auto__\x22,\x22c__43371__auto__\x22,1489639757,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-first\x22,\x22cljs.core/chunk-first\x22,-1157877305,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-rest\x22,\x22cljs.core/chunk-rest\x22,-398161143,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22c__43371__auto__\x22,\x22c__43371__auto__\x22,1489639757,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22c__43371__auto__\x22,\x22c__43371__auto__\x22,1489639757,null),null,(1),null))))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,k,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22first\x22,\x22cljs.core/first\x22,-752535972,null),null,(1),null)),(new cljs.core.List(null,seq_,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,subform,null,(1),null)),(cljs.core.truth_(needrec)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [recform__$1], null):null)], 0)))),loc),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))], null);\n}\n}\n});\nvar ret \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$2(step(null,cljs.core.seq(seq_exprs)),(1));\nreturn ret;\n}));\n\n(sci.impl.doseq_macro.expand_doseq.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.doseq_macro.expand_doseq.cljs$lang$applyTo \x3d (function (seq43374){\nvar G__43375 \x3d cljs.core.first(seq43374);\nvar seq43374__$1 \x3d cljs.core.next(seq43374);\nvar G__43376 \x3d cljs.core.first(seq43374__$1);\nvar seq43374__$2 \x3d cljs.core.next(seq43374__$1);\nvar G__43377 \x3d cljs.core.first(seq43374__$2);\nvar seq43374__$3 \x3d cljs.core.next(seq43374__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43375,G__43376,G__43377,seq43374__$3);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.for_macro.js", true, "goog.provide(\x27sci.impl.for_macro\x27);\nsci.impl.for_macro.assert_args \x3d (function sci$impl$for_macro$assert_args(expr,seq_exprs,_body_expr){\nvar arg_count_43545 \x3d (cljs.core.count(expr) - (1));\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),arg_count_43545)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2([\x22Wrong number of args (\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arg_count_43545),\x22) passed to: clojure.core/for\x22].join(\x27\x27),expr);\n}\n\nif(cljs.core.vector_QMARK_(seq_exprs)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22for requires a vector for its binding\x22,expr);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(seq_exprs))){\nreturn null;\n} else {\nreturn sci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22for requires an even number of forms in binding vector\x22,expr);\n}\n});\nsci.impl.for_macro.expand_for \x3d (function sci$impl$for_macro$expand_for(expr,_,seq_exprs,body_expr){\nsci.impl.for_macro.assert_args(expr,seq_exprs,body_expr);\n\nvar loc \x3d cljs.core.meta(expr);\nvar to_groups \x3d (function (seq_exprs__$1){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (groups,p__43426){\nvar vec__43427 \x3d p__43426;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43427,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43427,(1),null);\nif((k instanceof cljs.core.Keyword)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.pop(groups),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.peek(groups),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null)));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(groups,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null));\n}\n}),cljs.core.PersistentVector.EMPTY,cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),seq_exprs__$1));\n});\nvar err \x3d (function() { \nvar G__43548__delegate \x3d function (msg){\nthrow (new Error(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.str,msg)));\n};\nvar G__43548 \x3d function (var_args){\nvar msg \x3d null;\nif (arguments.length \x3e 0) {\nvar G__43553__i \x3d 0, G__43553__a \x3d new Array(arguments.length - 0);\nwhile (G__43553__i \x3c G__43553__a.length) {G__43553__a[G__43553__i] \x3d arguments[G__43553__i + 0]; ++G__43553__i;}\n msg \x3d new cljs.core.IndexedSeq(G__43553__a,0,null);\n} \nreturn G__43548__delegate.call(this,msg);};\nG__43548.cljs$lang$maxFixedArity \x3d 0;\nG__43548.cljs$lang$applyTo \x3d (function (arglist__43554){\nvar msg \x3d cljs.core.seq(arglist__43554);\nreturn G__43548__delegate(msg);\n});\nG__43548.cljs$core$IFn$_invoke$arity$variadic \x3d G__43548__delegate;\nreturn G__43548;\n})()\n;\nvar emit_bind \x3d (function sci$impl$for_macro$expand_for_$_emit_bind(p__43437){\nvar vec__43438 \x3d p__43437;\nvar seq__43439 \x3d cljs.core.seq(vec__43438);\nvar first__43440 \x3d cljs.core.first(seq__43439);\nvar seq__43439__$1 \x3d cljs.core.next(seq__43439);\nvar vec__43441 \x3d first__43440;\nvar seq__43442 \x3d cljs.core.seq(vec__43441);\nvar first__43443 \x3d cljs.core.first(seq__43442);\nvar seq__43442__$1 \x3d cljs.core.next(seq__43442);\nvar bind \x3d first__43443;\nvar first__43443__$1 \x3d cljs.core.first(seq__43442__$1);\nvar seq__43442__$2 \x3d cljs.core.next(seq__43442__$1);\nvar expr__$1 \x3d first__43443__$1;\nvar mod_pairs \x3d seq__43442__$2;\nvar vec__43444 \x3d seq__43439__$1;\nvar vec__43447 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43444,(0),null);\nvar ___$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43447,(0),null);\nvar next_expr \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43447,(1),null);\nvar next_groups \x3d vec__43444;\nvar giter \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22iter__\x22);\nvar gxs \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22s__\x22);\nvar do_mod \x3d (function sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(p__43455){\nvar vec__43456 \x3d p__43455;\nvar seq__43457 \x3d cljs.core.seq(vec__43456);\nvar first__43458 \x3d cljs.core.first(seq__43457);\nvar seq__43457__$1 \x3d cljs.core.next(seq__43457);\nvar vec__43459 \x3d first__43458;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43459,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43459,(1),null);\nvar pair \x3d vec__43459;\nvar etc \x3d seq__43457__$1;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22let\x22,\x22let\x22,-1282412701))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22while\x22,\x22while\x22,963117786))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22when\x22,\x22when\x22,-576417306))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_mod(etc),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nif((k instanceof cljs.core.Keyword)){\nreturn err(\x22Invalid \x27for\x27 keyword \x22,k);\n} else {\nif(next_groups){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iterys__43409__auto__\x22,\x22iterys__43409__auto__\x22,1639623424,null),null,(1),null)),(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind(next_groups),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22fs__43410__auto__\x22,\x22fs__43410__auto__\x22,-1905735014,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iterys__43409__auto__\x22,\x22iterys__43409__auto__\x22,1639623424,null),null,(1),null)),(new cljs.core.List(null,next_expr,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22fs__43410__auto__\x22,\x22fs__43410__auto__\x22,-1905735014,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22fs__43410__auto__\x22,\x22fs__43410__auto__\x22,-1905735014,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,giter,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22cons\x22,\x22cljs.core/cons\x22,96507417,null),null,(1),null)),(new cljs.core.List(null,body_expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,giter,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22rest\x22,\x22cljs.core/rest\x22,-285075455,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n\n}\n}\n}\n}\n}\n});\nif(next_groups){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,giter,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22lazy-seq\x22,\x22cljs.core/lazy-seq\x22,627681297,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gxs,null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-first\x22,\x22cljs.core/when-first\x22,-667185267,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,bind,null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,do_mod(mod_pairs),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nvar gi \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22i__\x22);\nvar gb \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22b__\x22);\nvar do_cmod \x3d (function sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(p__43490){\nvar vec__43491 \x3d p__43490;\nvar seq__43492 \x3d cljs.core.seq(vec__43491);\nvar first__43493 \x3d cljs.core.first(seq__43492);\nvar seq__43492__$1 \x3d cljs.core.next(seq__43492);\nvar vec__43494 \x3d first__43493;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43494,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43494,(1),null);\nvar pair \x3d vec__43494;\nvar etc \x3d seq__43492__$1;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22let\x22,\x22let\x22,-1282412701))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22while\x22,\x22while\x22,963117786))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(etc),null,(1),null))], 0))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword(null,\x22when\x22,\x22when\x22,-576417306))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci$impl$for_macro$expand_for_$_emit_bind_$_do_cmod(etc),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,gi,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nif((k instanceof cljs.core.Keyword)){\nreturn err(\x22Invalid \x27for\x27 keyword \x22,k);\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-append\x22,\x22cljs.core/chunk-append\x22,-243671470,null),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,body_expr,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,gi,null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n\n}\n}\n}\n}\n});\nvar c_sym \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22c\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,giter,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22lazy-seq\x22,\x22cljs.core/lazy-seq\x22,627681297,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gxs,null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gxs,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),loc),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunked-seq?\x22,\x22cljs.core/chunked-seq?\x22,-712922369,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,c_sym,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-first\x22,\x22cljs.core/chunk-first\x22,-1157877305,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22size__43413__auto__\x22,\x22size__43413__auto__\x22,880187657,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22count\x22,\x22cljs.core/count\x22,-921270233,null),null,(1),null)),(new cljs.core.List(null,c_sym,null,(1),null))))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-buffer\x22,\x22cljs.core/chunk-buffer\x22,14093626,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22size__43413__auto__\x22,\x22size__43413__auto__\x22,880187657,null),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gi,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22int\x22,\x22cljs.core/int\x22,20935062,null),null,(1),null)),(new cljs.core.List(null,(0),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,gi,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22size__43413__auto__\x22,\x22size__43413__auto__\x22,880187657,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,bind,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nth\x22,\x22cljs.core/nth\x22,1961052085,null),null,(1),null)),(new cljs.core.List(null,c_sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,gi,null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,do_cmod(mod_pairs),null,(1),null))], 0)))),loc),null,(1),null)),(new cljs.core.List(null,true,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-cons\x22,\x22cljs.core/chunk-cons\x22,-250075688,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk\x22,\x22cljs.core/chunk\x22,847936424,null),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,giter,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-rest\x22,\x22cljs.core/chunk-rest\x22,-398161143,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk-cons\x22,\x22cljs.core/chunk-cons\x22,-250075688,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22chunk\x22,\x22cljs.core/chunk\x22,847936424,null),null,(1),null)),(new cljs.core.List(null,gb,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,bind,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22first\x22,\x22cljs.core/first\x22,-752535972,null),null,(1),null)),(new cljs.core.List(null,gxs,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,do_mod(mod_pairs),null,(1),null))], 0)))),loc),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0))));\n}\n});\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iter__43420__auto__\x22,\x22iter__43420__auto__\x22,1345156134,null),null,(1),null)),(new cljs.core.List(null,emit_bind(to_groups(seq_exprs)),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22iter__43420__auto__\x22,\x22iter__43420__auto__\x22,1345156134,null),null,(1),null)),(new cljs.core.List(null,cljs.core.second(seq_exprs),null,(1),null))))),null,(1),null))], 0))));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.io.js", true, "goog.provide(\x27sci.impl.io\x27);\n/**\n * create a dynamic var with clojure.core :ns meta\n */\nsci.impl.io.core_dynamic_var \x3d (function sci$impl$io$core_dynamic_var(var_args){\nvar G__43948 \x3d arguments.length;\nswitch (G__43948) {\ncase 1:\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nreturn sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$2(name,null);\n}));\n\n(sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null));\n}));\n\n(sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,extra_meta){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(extra_meta,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], 0)));\n}));\n\n(sci.impl.io.core_dynamic_var.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.io.in$ \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43952 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43953 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43953);\n\ntry{var G__43954 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*in*\x22,\x22*in*\x22,1130010229,null));\nsci.impl.vars.unbind(G__43954);\n\nreturn G__43954;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43952);\n}})();\nsci.impl.io.out \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43957 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43958 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43958);\n\ntry{var G__43959 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*out*\x22,\x22*out*\x22,1277591796,null));\nsci.impl.vars.unbind(G__43959);\n\nreturn G__43959;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43957);\n}})();\nsci.impl.io.err \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43960 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43961 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43961);\n\ntry{var G__43963 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*err*\x22,\x22*err*\x22,2070937226,null));\nsci.impl.vars.unbind(G__43963);\n\nreturn G__43963;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43960);\n}})();\nsci.impl.io.print_fn \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43964 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43965 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43965);\n\ntry{var G__43967 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*print-fn*\x22,\x22*print-fn*\x22,138509853,null));\nsci.impl.vars.unbind(G__43967);\n\nreturn G__43967;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43964);\n}})();\nsci.impl.io.print_err_fn \x3d (function (){var _STAR_unrestricted_STAR__orig_val__43968 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__43969 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__43969);\n\ntry{var G__43971 \x3d sci.impl.io.core_dynamic_var.cljs$core$IFn$_invoke$arity$1(new cljs.core.Symbol(null,\x22*print-err-fn*\x22,\x22*print-err-fn*\x22,1241679298,null));\nsci.impl.vars.unbind(G__43971);\n\nreturn G__43971;\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__43968);\n}})();\nsci.impl.io.print_meta \x3d (new sci.lang.Var(cljs.core._STAR_print_meta_STAR_,new cljs.core.Symbol(null,\x22*print-meta*\x22,\x22*print-meta*\x22,-919406644,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-meta*\x22,\x22*print-meta*\x22,-919406644,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22If set to logical true, when printing an object, its metadata will also\\n be printed in a form that can be read back by the reader.\\n\\n Defaults to false.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_length \x3d (new sci.lang.Var(cljs.core._STAR_print_length_STAR_,new cljs.core.Symbol(null,\x22*print-length*\x22,\x22*print-length*\x22,-687693654,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-length*\x22,\x22*print-length*\x22,-687693654,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22*print-length* controls how many items of each collection the\\n printer will print. If it is bound to logical false, there is no\\n limit. Otherwise, it must be bound to an integer indicating the maximum\\n number of items of each collection to print. If a collection contains\\n more items, the printer will print items up to the limit followed by\\n \x27...\x27 to represent the remaining items. The root binding is nil\\n indicating no limit.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_level \x3d (new sci.lang.Var(cljs.core._STAR_print_level_STAR_,new cljs.core.Symbol(null,\x22*print-level*\x22,\x22*print-level*\x22,-634488505,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-level*\x22,\x22*print-level*\x22,-634488505,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22*print-level* controls how many levels deep the printer will\\n print nested objects. If it is bound to logical false, there is no\\n limit. Otherwise, it must be bound to an integer indicating the maximum\\n level to print. Each argument to print is at level 0; if an argument is a\\n collection, its items are at level 1; and so on. If an object is a\\n collection and is at a level greater than or equal to the value bound to\\n *print-level*, the printer prints \x27#\x27 to represent it. The root binding\\n is nil indicating no limit.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_namespace_maps \x3d (new sci.lang.Var(true,new cljs.core.Symbol(null,\x22*print-namespace-maps*\x22,\x22*print-namespace-maps*\x22,-1759108415,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-namespace-maps*\x22,\x22*print-namespace-maps*\x22,-1759108415,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22*print-namespace-maps* controls whether the printer will print\\n namespace map literal syntax.\\n\\n Defaults to false, but the REPL binds it to true.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.flush_on_newline \x3d (new sci.lang.Var(cljs.core._STAR_flush_on_newline_STAR_,new cljs.core.Symbol(null,\x22*flush-on-newline*\x22,\x22*flush-on-newline*\x22,-737526501,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*flush-on-newline*\x22,\x22*flush-on-newline*\x22,-737526501,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to true, output will be flushed whenever a newline is printed.\\n\\n Defaults to true.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_readably \x3d (new sci.lang.Var(cljs.core._STAR_print_readably_STAR_,new cljs.core.Symbol(null,\x22*print-readably*\x22,\x22*print-readably*\x22,-761361221,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-readably*\x22,\x22*print-readably*\x22,-761361221,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to logical false, strings and characters will be printed with\\n non-alphanumeric characters converted to the appropriate escape sequences.\\n\\n Defaults to true\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_dup_var \x3d (new sci.lang.Var(cljs.core._STAR_print_dup_STAR_,new cljs.core.Symbol(null,\x22*print-dup*\x22,\x22*print-dup*\x22,103854877,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-dup*\x22,\x22*print-dup*\x22,103854877,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to logical true, objects will be printed in a way that preserves\\n their type when read in later.\\n\\n Defaults to false.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.print_newline \x3d (new sci.lang.Var(cljs.core._STAR_print_newline_STAR_,new cljs.core.Symbol(null,\x22*print-newline*\x22,\x22*print-newline*\x22,1478078956,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22*print-newline*\x22,\x22*print-newline*\x22,1478078956,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When set to logical false will drop newlines from printing calls.\\n This is to work around the implicit newlines emitted by standard JavaScript\\n console objects.\x22,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null),false,null,null));\nsci.impl.io.string_print \x3d (function sci$impl$io$string_print(x){\nvar _STAR_print_fn_STAR__orig_val__43976 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_fn_STAR__temp_val__43977 \x3d cljs.core.deref(sci.impl.io.print_fn);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__43977);\n\ntry{return cljs.core.string_print(x);\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__43976);\n}});\nsci.impl.io.pr \x3d (function sci$impl$io$pr(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44119 \x3d arguments.length;\nvar i__5750__auto___44120 \x3d (0);\nwhile(true){\nif((i__5750__auto___44120 \x3c len__5749__auto___44119)){\nargs__5755__auto__.push((arguments[i__5750__auto___44120]));\n\nvar G__44121 \x3d (i__5750__auto___44120 + (1));\ni__5750__auto___44120 \x3d G__44121;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.pr.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__43983 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__43984 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__43985 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__43986 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__43987 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__43988 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__43989 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__43990 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__43991 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__43992 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__43993 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__43994 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__43995 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__43996 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__43997 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__43998 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__43991);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__43992);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__43993);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__43994);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__43995);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__43996);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__43997);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__43998);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__43990);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__43989);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__43988);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__43987);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__43986);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__43985);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__43984);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__43983);\n}}));\n\n(sci.impl.io.pr.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.pr.cljs$lang$applyTo \x3d (function (seq43978){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq43978));\n}));\n\nsci.impl.io.flush \x3d (function sci$impl$io$flush(){\nreturn null;\n});\nsci.impl.io.newline \x3d (function sci$impl$io$newline(){\nvar _STAR_print_fn_STAR__orig_val__44001 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_fn_STAR__temp_val__44002 \x3d cljs.core.deref(sci.impl.io.print_fn);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__44002);\n\ntry{return cljs.core.newline.cljs$core$IFn$_invoke$arity$0();\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__44001);\n}});\n/**\n * pr to a string, returning it\n */\nsci.impl.io.pr_str \x3d (function sci$impl$io$pr_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44122 \x3d arguments.length;\nvar i__5750__auto___44123 \x3d (0);\nwhile(true){\nif((i__5750__auto___44123 \x3c len__5749__auto___44122)){\nargs__5755__auto__.push((arguments[i__5750__auto___44123]));\n\nvar G__44124 \x3d (i__5750__auto___44123 + (1));\ni__5750__auto___44123 \x3d G__44124;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.pr_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_length_STAR__orig_val__44004 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44005 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44006 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44007 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44008 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44009 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44010 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_length_STAR__temp_val__44011 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44012 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44013 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44014 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44015 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44016 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44017 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44011);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44012);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44013);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44014);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44015);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44016);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44017);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.pr_str,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44010);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44009);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44008);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44007);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44006);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44005);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44004);\n}}));\n\n(sci.impl.io.pr_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.pr_str.cljs$lang$applyTo \x3d (function (seq44003){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44003));\n}));\n\nsci.impl.io.prn \x3d (function sci$impl$io$prn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44127 \x3d arguments.length;\nvar i__5750__auto___44128 \x3d (0);\nwhile(true){\nif((i__5750__auto___44128 \x3c len__5749__auto___44127)){\nargs__5755__auto__.push((arguments[i__5750__auto___44128]));\n\nvar G__44129 \x3d (i__5750__auto___44128 + (1));\ni__5750__auto___44128 \x3d G__44129;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.prn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__44024 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__44025 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44026 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44027 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44028 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44029 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44030 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44031 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__44032 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__44033 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44034 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44035 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44036 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44037 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44038 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44039 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__44032);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44033);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44034);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44035);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44036);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44037);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44038);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44039);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.prn,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44031);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44030);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44029);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44028);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44027);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44026);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44025);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__44024);\n}}));\n\n(sci.impl.io.prn.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.prn.cljs$lang$applyTo \x3d (function (seq44023){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44023));\n}));\n\n/**\n * prn to a string, returning it\n */\nsci.impl.io.prn_str \x3d (function sci$impl$io$prn_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44133 \x3d arguments.length;\nvar i__5750__auto___44134 \x3d (0);\nwhile(true){\nif((i__5750__auto___44134 \x3c len__5749__auto___44133)){\nargs__5755__auto__.push((arguments[i__5750__auto___44134]));\n\nvar G__44135 \x3d (i__5750__auto___44134 + (1));\ni__5750__auto___44134 \x3d G__44135;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.prn_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_length_STAR__orig_val__44041 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44042 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44043 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44044 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44045 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44046 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44047 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_length_STAR__temp_val__44048 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44049 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44050 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44051 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44052 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44053 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44054 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44048);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44049);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44050);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44051);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44052);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44053);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44054);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.prn_str,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44047);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44046);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44045);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44044);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44043);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44042);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44041);\n}}));\n\n(sci.impl.io.prn_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.prn_str.cljs$lang$applyTo \x3d (function (seq44040){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44040));\n}));\n\nsci.impl.io.print \x3d (function sci$impl$io$print(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44136 \x3d arguments.length;\nvar i__5750__auto___44137 \x3d (0);\nwhile(true){\nif((i__5750__auto___44137 \x3c len__5749__auto___44136)){\nargs__5755__auto__.push((arguments[i__5750__auto___44137]));\n\nvar G__44138 \x3d (i__5750__auto___44137 + (1));\ni__5750__auto___44137 \x3d G__44138;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.print.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.print.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__44059 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__44060 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44061 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44062 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44063 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44064 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44065 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__44066 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__44067 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44068 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_namespace_maps_STAR__temp_val__44069 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44070 \x3d null;\nvar _STAR_print_newline_STAR__temp_val__44071 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44072 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__44066);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44067);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44068);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44069);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44070);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44071);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44072);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44065);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44064);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44063);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44062);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44061);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44060);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__44059);\n}}));\n\n(sci.impl.io.print.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.print.cljs$lang$applyTo \x3d (function (seq44055){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44055));\n}));\n\n/**\n * print to a string, returning it\n */\nsci.impl.io.print_str \x3d (function sci$impl$io$print_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44143 \x3d arguments.length;\nvar i__5750__auto___44144 \x3d (0);\nwhile(true){\nif((i__5750__auto___44144 \x3c len__5749__auto___44143)){\nargs__5755__auto__.push((arguments[i__5750__auto___44144]));\n\nvar G__44146 \x3d (i__5750__auto___44144 + (1));\ni__5750__auto___44144 \x3d G__44146;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.print_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_length_STAR__orig_val__44076 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44077 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44078 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44079 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44080 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44081 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44082 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_length_STAR__temp_val__44083 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44084 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44085 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44086 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44087 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44088 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44089 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44083);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44084);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44085);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44086);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44087);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44088);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44089);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.print_str,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44082);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44081);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44080);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44079);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44078);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44077);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44076);\n}}));\n\n(sci.impl.io.print_str.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.print_str.cljs$lang$applyTo \x3d (function (seq44074){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44074));\n}));\n\nsci.impl.io.println \x3d (function sci$impl$io$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44149 \x3d arguments.length;\nvar i__5750__auto___44150 \x3d (0);\nwhile(true){\nif((i__5750__auto___44150 \x3c len__5749__auto___44149)){\nargs__5755__auto__.push((arguments[i__5750__auto___44150]));\n\nvar G__44151 \x3d (i__5750__auto___44150 + (1));\ni__5750__auto___44150 \x3d G__44151;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (objs){\nvar _STAR_print_fn_STAR__orig_val__44091 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_length_STAR__orig_val__44092 \x3d cljs.core._STAR_print_length_STAR_;\nvar _STAR_print_level_STAR__orig_val__44093 \x3d cljs.core._STAR_print_level_STAR_;\nvar _STAR_print_meta_STAR__orig_val__44094 \x3d cljs.core._STAR_print_meta_STAR_;\nvar _STAR_print_namespace_maps_STAR__orig_val__44095 \x3d cljs.core._STAR_print_namespace_maps_STAR_;\nvar _STAR_print_readably_STAR__orig_val__44096 \x3d cljs.core._STAR_print_readably_STAR_;\nvar _STAR_print_newline_STAR__orig_val__44097 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_dup_STAR__orig_val__44098 \x3d cljs.core._STAR_print_dup_STAR_;\nvar _STAR_print_fn_STAR__temp_val__44099 \x3d cljs.core.deref(sci.impl.io.print_fn);\nvar _STAR_print_length_STAR__temp_val__44100 \x3d cljs.core.deref(sci.impl.io.print_length);\nvar _STAR_print_level_STAR__temp_val__44101 \x3d cljs.core.deref(sci.impl.io.print_level);\nvar _STAR_print_meta_STAR__temp_val__44102 \x3d cljs.core.deref(sci.impl.io.print_meta);\nvar _STAR_print_namespace_maps_STAR__temp_val__44103 \x3d cljs.core.deref(sci.impl.io.print_namespace_maps);\nvar _STAR_print_readably_STAR__temp_val__44104 \x3d cljs.core.deref(sci.impl.io.print_readably);\nvar _STAR_print_newline_STAR__temp_val__44105 \x3d cljs.core.deref(sci.impl.io.print_newline);\nvar _STAR_print_dup_STAR__temp_val__44106 \x3d cljs.core.deref(sci.impl.io.print_dup_var);\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__44099);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__temp_val__44100);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__temp_val__44101);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__temp_val__44102);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__temp_val__44103);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__temp_val__44104);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__44105);\n\n(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__temp_val__44106);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.println,objs);\n}finally {(cljs.core._STAR_print_dup_STAR_ \x3d _STAR_print_dup_STAR__orig_val__44098);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__44097);\n\n(cljs.core._STAR_print_readably_STAR_ \x3d _STAR_print_readably_STAR__orig_val__44096);\n\n(cljs.core._STAR_print_namespace_maps_STAR_ \x3d _STAR_print_namespace_maps_STAR__orig_val__44095);\n\n(cljs.core._STAR_print_meta_STAR_ \x3d _STAR_print_meta_STAR__orig_val__44094);\n\n(cljs.core._STAR_print_level_STAR_ \x3d _STAR_print_level_STAR__orig_val__44093);\n\n(cljs.core._STAR_print_length_STAR_ \x3d _STAR_print_length_STAR__orig_val__44092);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__44091);\n}}));\n\n(sci.impl.io.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.io.println.cljs$lang$applyTo \x3d (function (seq44090){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq44090));\n}));\n\nsci.impl.io.with_out_str \x3d (function sci$impl$io$with_out_str(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___44153 \x3d arguments.length;\nvar i__5750__auto___44154 \x3d (0);\nwhile(true){\nif((i__5750__auto___44154 \x3c len__5749__auto___44153)){\nargs__5755__auto__.push((arguments[i__5750__auto___44154]));\n\nvar G__44155 \x3d (i__5750__auto___44154 + (1));\ni__5750__auto___44154 \x3d G__44155;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.io.with_out_str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.io.with_out_str.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22s__44108__auto__\x22,\x22s__44108__auto__\x22,168916216,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22goog.string.StringBuffer\x22,\x22goog.string.StringBuffer\x22,-1220229842,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22binding\x22,\x22cljs.core/binding\x22,2050379843,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22*print-newline*\x22,\x22cljs.core/*print-newline*\x22,6231625,null),null,(1),null)),(new cljs.core.List(null,true,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22*print-fn*\x22,\x22cljs.core/*print-fn*\x22,1342365176,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__44109__auto__\x22,\x22x__44109__auto__\x22,1874874256,null),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22s__44108__auto__\x22,\x22s__44108__auto__\x22,168916216,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,sci.impl.utils.allowed_append,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22x__44109__auto__\x22,\x22x__44109__auto__\x22,1874874256,null),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22s__44108__auto__\x22,\x22s__44108__auto__\x22,168916216,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.io.with_out_str.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.io.with_out_str.cljs$lang$applyTo \x3d (function (seq44110){\nvar G__44111 \x3d cljs.core.first(seq44110);\nvar seq44110__$1 \x3d cljs.core.next(seq44110);\nvar G__44112 \x3d cljs.core.first(seq44110__$1);\nvar seq44110__$2 \x3d cljs.core.next(seq44110__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__44111,G__44112,seq44110__$2);\n}));\n\n");
SHADOW_ENV.evalLoad("sci.impl.macroexpand.js", true, "goog.provide(\x27sci.impl.macroexpand\x27);\nsci.impl.macroexpand.macroexpand_1 \x3d (function sci$impl$macroexpand$macroexpand_1(ctx,expr){\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(\x22sci.impl\x22,\x22macroexpanding\x22,\x22sci.impl/macroexpanding\x22,2113471825),true);\nvar original_expr \x3d expr;\nvar _STAR_ctx_STAR__orig_val__44125 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__44126 \x3d ctx__$1;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__44126);\n\ntry{if(cljs.core.seq_QMARK_(expr)){\nvar op \x3d cljs.core.first(expr);\nif((op instanceof cljs.core.Symbol)){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(sci.impl.utils.special_syms,op))){\nreturn expr;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22clojure.core\x22,\x22defrecord\x22,\x22clojure.core/defrecord\x22,581689476,null),op)){\nreturn expr;\n} else {\nvar f \x3d (function (){try{return sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$3(ctx__$1,op,true);\n}catch (e44132){var _ \x3d e44132;\nreturn new cljs.core.Keyword(\x22sci.impl.macroexpand\x22,\x22unresolved\x22,\x22sci.impl.macroexpand/unresolved\x22,-1337804580);\n}})();\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.macroexpand\x22,\x22unresolved\x22,\x22sci.impl.macroexpand/unresolved\x22,-1337804580),f)){\nreturn expr;\n} else {\nvar var_QMARK_ \x3d sci.impl.utils.var_QMARK_(f);\nvar macro_var_QMARK_ \x3d (function (){var and__5023__auto__ \x3d var_QMARK_;\nif(and__5023__auto__){\nreturn sci.impl.vars.isMacro(f);\n} else {\nreturn and__5023__auto__;\n}\n})();\nvar f__$1 \x3d (cljs.core.truth_(macro_var_QMARK_)?cljs.core.deref(f):f);\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d macro_var_QMARK_;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.utils.macro_QMARK_(f__$1);\n}\n})())){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f__$1,original_expr,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(ctx__$1),cljs.core.rest(expr));\n} else {\nif(clojure.string.starts_with_QMARK_(cljs.core.str.cljs$core$IFn$_invoke$arity$1(op),\x22.\x22)){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),cljs.core.second(expr),cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(op),(1))),cljs.core.nnext(expr));\n} else {\nreturn expr;\n}\n}\n}\n\n}\n}\n} else {\nreturn expr;\n}\n} else {\nreturn expr;\n}\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__44125);\n}});\nsci.impl.macroexpand.macroexpand \x3d (function sci$impl$macroexpand$macroexpand(ctx,form){\nvar ex \x3d sci.impl.macroexpand.macroexpand_1(ctx,form);\nif((ex \x3d\x3d\x3d form)){\nreturn form;\n} else {\nreturn (sci.impl.macroexpand.macroexpand.cljs$core$IFn$_invoke$arity$2 ? sci.impl.macroexpand.macroexpand.cljs$core$IFn$_invoke$arity$2(ctx,ex) : sci.impl.macroexpand.macroexpand.call(null,ctx,ex));\n}\n});\n");
SHADOW_ENV.evalLoad("sci.impl.read.js", true, "goog.provide(\x27sci.impl.read\x27);\nsci.impl.read.eof_or_throw \x3d (function sci$impl$read$eof_or_throw(opts,v){\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),v)){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237).cljs$core$IFn$_invoke$arity$1(opts);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar eof \x3d temp__5821__auto__;\nif((!(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(null,\x22eofthrow\x22,\x22eofthrow\x22,-334166531),eof)))){\nreturn eof;\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22EOF while reading\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null));\n}\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22EOF while reading\x22,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348),new cljs.core.Keyword(\x22sci.error\x22,\x22parse\x22,\x22sci.error/parse\x22,-264338844),new cljs.core.Keyword(null,\x22opts\x22,\x22opts\x22,155075701),opts], null));\n}\n} else {\nreturn v;\n}\n});\nsci.impl.read.with_resolver \x3d (function sci$impl$read$with_resolver(opts){\nreturn opts;\n});\nsci.impl.read.with_suppressed \x3d (function sci$impl$read$with_suppressed(opts){\nif(cljs.core.truth_(cljs.core.deref(sci.impl.parser.suppress_read))){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(null,\x22suppress-read\x22,\x22suppress-read\x22,-1620847046),true);\n} else {\nreturn opts;\n}\n});\nsci.impl.read.read \x3d (function sci$impl$read$read(var_args){\nvar G__44142 \x3d arguments.length;\nswitch (G__44142) {\ncase 0:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$0();\n\nbreak;\ncase 1:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 3:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 2:\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$0 \x3d (function (){\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(sci.impl.io.in$));\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$1 \x3d (function (stream){\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$3(stream,true,null);\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$3 \x3d (function (stream,eof_error_QMARK_,eof_value){\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$4(stream,eof_error_QMARK_,eof_value,false);\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$4 \x3d (function (stream,_eof_error_QMARK_,eof_value,_recursive_QMARK_){\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(sci.ctx_store.get_ctx(),stream,sci.impl.read.with_suppressed(sci.impl.read.with_resolver(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),eof_value], null))));\nreturn sci.impl.read.eof_or_throw(new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237),eof_value], null),v);\n}));\n\n(sci.impl.read.read.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,stream){\nvar opts__$1 \x3d sci.impl.read.with_suppressed(sci.impl.read.with_resolver(opts));\nvar opts__$2 \x3d (cljs.core.truth_(new cljs.core.Keyword(null,\x22read-cond\x22,\x22read-cond\x22,1056899244).cljs$core$IFn$_invoke$arity$1(opts__$1))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts__$1,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),cljs.core.into.cljs$core$IFn$_invoke$arity$2(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),null], null), null),new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(opts__$1))):opts__$1);\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(sci.ctx_store.get_ctx(),stream,opts__$2);\nreturn sci.impl.read.eof_or_throw(opts__$2,v);\n}));\n\n(sci.impl.read.read.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.read.read_string \x3d (function sci$impl$read$read_string(var_args){\nvar G__44157 \x3d arguments.length;\nswitch (G__44157) {\ncase 1:\nreturn sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nvar reader \x3d cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s);\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$1(reader);\n}));\n\n(sci.impl.read.read_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (opts,s){\nvar reader \x3d cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s);\nreturn sci.impl.read.read.cljs$core$IFn$_invoke$arity$2(opts,reader);\n}));\n\n(sci.impl.read.read_string.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.read.source_logging_reader \x3d (function sci$impl$read$source_logging_reader(x){\nvar string_reader \x3d cljs.tools.reader.reader_types.string_reader(x);\nvar buf_len \x3d (1);\nvar pushback_reader \x3d (new cljs.tools.reader.reader_types.PushbackReader(string_reader,cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(buf_len),buf_len,buf_len));\nreturn cljs.tools.reader.reader_types.source_logging_push_back_reader.cljs$core$IFn$_invoke$arity$1(pushback_reader);\n});\n");
SHADOW_ENV.evalLoad("sci.impl.reify.js", true, "goog.provide(\x27sci.impl.reify\x27);\nsci.impl.reify.reify \x3d (function sci$impl$reify$reify(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___43584 \x3d arguments.length;\nvar i__5750__auto___43585 \x3d (0);\nwhile(true){\nif((i__5750__auto___43585 \x3c len__5749__auto___43584)){\nargs__5755__auto__.push((arguments[i__5750__auto___43585]));\n\nvar G__43586 \x3d (i__5750__auto___43585 + (1));\ni__5750__auto___43585 \x3d G__43586;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.reify.reify.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.reify.reify.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,args){\nvar map__43568 \x3d cljs.core.group_by(cljs.core.symbol_QMARK_,args);\nvar map__43568__$1 \x3d cljs.core.__destructure_map(map__43568);\nvar classes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43568__$1,true);\nvar methods$ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__43568__$1,false);\nvar methods$__$1 \x3d cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__43569){\nvar vec__43570 \x3d p__43569;\nvar meth \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43570,(0),null);\nvar bodies \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__43570,(1),null);\nvar meth__$1 \x3d ((cljs.core.simple_symbol_QMARK_(meth))?meth:cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(meth)));\nreturn cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,meth__$1,null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,bodies)))),null,(1),null))))));\n}),cljs.core.group_by(cljs.core.first,methods$)));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22reify*\x22,\x22cljs.core/reify*\x22,1256833160,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,form,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.vec(classes),null,(1),null)),(new cljs.core.List(null,methods$__$1,null,(1),null))], 0))));\n}));\n\n(sci.impl.reify.reify.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.reify.reify.cljs$lang$applyTo \x3d (function (seq43549){\nvar G__43551 \x3d cljs.core.first(seq43549);\nvar seq43549__$1 \x3d cljs.core.next(seq43549);\nvar G__43552 \x3d cljs.core.first(seq43549__$1);\nvar seq43549__$2 \x3d cljs.core.next(seq43549__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__43551,G__43552,seq43549__$2);\n}));\n\nsci.impl.reify.reify_STAR_ \x3d (function sci$impl$reify$reify_STAR_(_form,classes,methods$){\nreturn sci.impl.types.__GT_Reified(classes,methods$,cljs.core.set(classes));\n});\n");
SHADOW_ENV.evalLoad("sci.impl.namespaces.js", true, "goog.provide(\x27sci.impl.namespaces\x27);\nsci.impl.namespaces.clojure_core_ns \x3d sci.impl.utils.clojure_core_ns;\nsci.impl.namespaces.locking_STAR_ \x3d (function sci$impl$namespaces$locking_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46184 \x3d arguments.length;\nvar i__5750__auto___46185 \x3d (0);\nwhile(true){\nif((i__5750__auto___46185 \x3c len__5749__auto___46184)){\nargs__5755__auto__.push((arguments[i__5750__auto___46185]));\n\nvar G__46186 \x3d (i__5750__auto___46185 + (1));\ni__5750__auto___46185 \x3d G__46186;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.locking_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.locking_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_form,_bindings,_x,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body)));\n}));\n\n(sci.impl.namespaces.locking_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.locking_STAR_.cljs$lang$applyTo \x3d (function (seq45042){\nvar G__45043 \x3d cljs.core.first(seq45042);\nvar seq45042__$1 \x3d cljs.core.next(seq45042);\nvar G__45044 \x3d cljs.core.first(seq45042__$1);\nvar seq45042__$2 \x3d cljs.core.next(seq45042__$1);\nvar G__45045 \x3d cljs.core.first(seq45042__$2);\nvar seq45042__$3 \x3d cljs.core.next(seq45042__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45043,G__45044,G__45045,seq45042__$3);\n}));\n\nsci.impl.namespaces.__GT__STAR_ \x3d (function sci$impl$namespaces$__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46187 \x3d arguments.length;\nvar i__5750__auto___46188 \x3d (0);\nwhile(true){\nif((i__5750__auto___46188 \x3c len__5749__auto___46187)){\nargs__5755__auto__.push((arguments[i__5750__auto___46188]));\n\nvar G__46190 \x3d (i__5750__auto___46188 + (1));\ni__5750__auto___46188 \x3d G__46190;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,forms){\nvar x__$1 \x3d x;\nvar forms__$1 \x3d forms;\nwhile(true){\nif(cljs.core.truth_(forms__$1)){\nvar form \x3d cljs.core.first(forms__$1);\nvar threaded \x3d ((cljs.core.seq_QMARK_(form))?cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,cljs.core.first(form),null,(1),null)),(new cljs.core.List(null,x__$1,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.next(form)], 0)))),cljs.core.meta(form)):(new cljs.core.List(null,form,(new cljs.core.List(null,x__$1,null,(1),null)),(2),null)));\nvar G__46195 \x3d threaded;\nvar G__46196 \x3d cljs.core.next(forms__$1);\nx__$1 \x3d G__46195;\nforms__$1 \x3d G__46196;\ncontinue;\n} else {\nreturn x__$1;\n}\nbreak;\n}\n}));\n\n(sci.impl.namespaces.__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45049){\nvar G__45050 \x3d cljs.core.first(seq45049);\nvar seq45049__$1 \x3d cljs.core.next(seq45049);\nvar G__45051 \x3d cljs.core.first(seq45049__$1);\nvar seq45049__$2 \x3d cljs.core.next(seq45049__$1);\nvar G__45052 \x3d cljs.core.first(seq45049__$2);\nvar seq45049__$3 \x3d cljs.core.next(seq45049__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45050,G__45051,G__45052,seq45049__$3);\n}));\n\nsci.impl.namespaces.__GT__GT__STAR_ \x3d (function sci$impl$namespaces$__GT__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46199 \x3d arguments.length;\nvar i__5750__auto___46200 \x3d (0);\nwhile(true){\nif((i__5750__auto___46200 \x3c len__5749__auto___46199)){\nargs__5755__auto__.push((arguments[i__5750__auto___46200]));\n\nvar G__46201 \x3d (i__5750__auto___46200 + (1));\ni__5750__auto___46200 \x3d G__46201;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,forms){\nvar x__$1 \x3d x;\nvar forms__$1 \x3d forms;\nwhile(true){\nif(cljs.core.truth_(forms__$1)){\nvar form \x3d cljs.core.first(forms__$1);\nvar threaded \x3d ((cljs.core.seq_QMARK_(form))?cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,cljs.core.first(form),null,(1),null)),cljs.core.next(form),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,x__$1,null,(1),null))], 0)))),cljs.core.meta(form)):(new cljs.core.List(null,form,(new cljs.core.List(null,x__$1,null,(1),null)),(2),null)));\nvar G__46202 \x3d threaded;\nvar G__46203 \x3d cljs.core.next(forms__$1);\nx__$1 \x3d G__46202;\nforms__$1 \x3d G__46203;\ncontinue;\n} else {\nreturn x__$1;\n}\nbreak;\n}\n}));\n\n(sci.impl.namespaces.__GT__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.__GT__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45059){\nvar G__45060 \x3d cljs.core.first(seq45059);\nvar seq45059__$1 \x3d cljs.core.next(seq45059);\nvar G__45061 \x3d cljs.core.first(seq45059__$1);\nvar seq45059__$2 \x3d cljs.core.next(seq45059__$1);\nvar G__45062 \x3d cljs.core.first(seq45059__$2);\nvar seq45059__$3 \x3d cljs.core.next(seq45059__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45060,G__45061,G__45062,seq45059__$3);\n}));\n\nsci.impl.namespaces.as__GT__STAR_ \x3d (function sci$impl$namespaces$as__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46204 \x3d arguments.length;\nvar i__5750__auto___46205 \x3d (0);\nwhile(true){\nif((i__5750__auto___46205 \x3c len__5749__auto___46204)){\nargs__5755__auto__.push((arguments[i__5750__auto___46205]));\n\nvar G__46206 \x3d (i__5750__auto___46205 + (1));\ni__5750__auto___46205 \x3d G__46206;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.as__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.as__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,expr,name,forms){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,name,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(name),cljs.core.butlast(forms))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(forms))?name:cljs.core.last(forms)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.as__GT__STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.as__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45063){\nvar G__45064 \x3d cljs.core.first(seq45063);\nvar seq45063__$1 \x3d cljs.core.next(seq45063);\nvar G__45065 \x3d cljs.core.first(seq45063__$1);\nvar seq45063__$2 \x3d cljs.core.next(seq45063__$1);\nvar G__45066 \x3d cljs.core.first(seq45063__$2);\nvar seq45063__$3 \x3d cljs.core.next(seq45063__$2);\nvar G__45067 \x3d cljs.core.first(seq45063__$3);\nvar seq45063__$4 \x3d cljs.core.next(seq45063__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45064,G__45065,G__45066,G__45067,seq45063__$4);\n}));\n\nsci.impl.namespaces.comment_STAR_ \x3d (function sci$impl$namespaces$comment_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46211 \x3d arguments.length;\nvar i__5750__auto___46212 \x3d (0);\nwhile(true){\nif((i__5750__auto___46212 \x3c len__5749__auto___46211)){\nargs__5755__auto__.push((arguments[i__5750__auto___46212]));\n\nvar G__46216 \x3d (i__5750__auto___46212 + (1));\ni__5750__auto___46212 \x3d G__46216;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.comment_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.comment_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,_body){\nreturn null;\n}));\n\n(sci.impl.namespaces.comment_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.comment_STAR_.cljs$lang$applyTo \x3d (function (seq45073){\nvar G__45074 \x3d cljs.core.first(seq45073);\nvar seq45073__$1 \x3d cljs.core.next(seq45073);\nvar G__45075 \x3d cljs.core.first(seq45073__$1);\nvar seq45073__$2 \x3d cljs.core.next(seq45073__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45074,G__45075,seq45073__$2);\n}));\n\nsci.impl.namespaces.dotimes_STAR_ \x3d (function sci$impl$namespaces$dotimes_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46219 \x3d arguments.length;\nvar i__5750__auto___46220 \x3d (0);\nwhile(true){\nif((i__5750__auto___46220 \x3c len__5749__auto___46219)){\nargs__5755__auto__.push((arguments[i__5750__auto___46220]));\n\nvar G__46224 \x3d (i__5750__auto___46220 + (1));\ni__5750__auto___46220 \x3d G__46224;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.dotimes_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.dotimes_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nthrow (new Error(\x22Assert failed: (vector? bindings)\x22));\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),cljs.core.count(bindings))){\n} else {\nthrow (new Error(\x22Assert failed: (\x3d 2 (count bindings))\x22));\n}\n\nvar i \x3d cljs.core.first(bindings);\nvar n \x3d cljs.core.second(bindings);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22n__45079__auto__\x22,\x22n__45079__auto__\x22,357407113,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22long\x22,\x22cljs.core/long\x22,241154833,null),null,(1),null)),(new cljs.core.List(null,n,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,sci.impl.utils.allowed_loop,null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,i,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,i,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22n__45079__auto__\x22,\x22n__45079__auto__\x22,357407113,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,sci.impl.utils.allowed_recur,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,i,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.dotimes_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.dotimes_STAR_.cljs$lang$applyTo \x3d (function (seq45080){\nvar G__45081 \x3d cljs.core.first(seq45080);\nvar seq45080__$1 \x3d cljs.core.next(seq45080);\nvar G__45082 \x3d cljs.core.first(seq45080__$1);\nvar seq45080__$2 \x3d cljs.core.next(seq45080__$1);\nvar G__45083 \x3d cljs.core.first(seq45080__$2);\nvar seq45080__$3 \x3d cljs.core.next(seq45080__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45081,G__45082,G__45083,seq45080__$3);\n}));\n\n/**\n * if-not from clojure.core\n */\nsci.impl.namespaces.if_not_STAR_ \x3d (function sci$impl$namespaces$if_not_STAR_(var_args){\nvar G__45290 \x3d arguments.length;\nswitch (G__45290) {\ncase 4:\nreturn sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (_AMPERSAND_form,_AMPERSAND_env,test,then){\nreturn sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$5(_AMPERSAND_form,_AMPERSAND_env,test,then,null);\n}));\n\n(sci.impl.namespaces.if_not_STAR_.cljs$core$IFn$_invoke$arity$5 \x3d (function (__AMPERSAND_form,__AMPERSAND_env,test,then,else$){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x22,\x22cljs.core/not\x22,100665144,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,then,null,(1),null)),(new cljs.core.List(null,else$,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.if_not_STAR_.cljs$lang$maxFixedArity \x3d 5);\n\nsci.impl.namespaces.when_STAR_ \x3d (function sci$impl$namespaces$when_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46230 \x3d arguments.length;\nvar i__5750__auto___46231 \x3d (0);\nwhile(true){\nif((i__5750__auto___46231 \x3c len__5749__auto___46230)){\nargs__5755__auto__.push((arguments[i__5750__auto___46231]));\n\nvar G__46233 \x3d (i__5750__auto___46231 + (1));\ni__5750__auto___46231 \x3d G__46233;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,test,body){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,test,(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body),null,(1),null)),(2),null)),(3),null));\n}));\n\n(sci.impl.namespaces.when_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_STAR_.cljs$lang$applyTo \x3d (function (seq45291){\nvar G__45292 \x3d cljs.core.first(seq45291);\nvar seq45291__$1 \x3d cljs.core.next(seq45291);\nvar G__45293 \x3d cljs.core.first(seq45291__$1);\nvar seq45291__$2 \x3d cljs.core.next(seq45291__$1);\nvar G__45294 \x3d cljs.core.first(seq45291__$2);\nvar seq45291__$3 \x3d cljs.core.next(seq45291__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45292,G__45293,G__45294,seq45291__$3);\n}));\n\n/**\n * when-not from clojure.core\n */\nsci.impl.namespaces.when_not_STAR_ \x3d (function sci$impl$namespaces$when_not_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46235 \x3d arguments.length;\nvar i__5750__auto___46236 \x3d (0);\nwhile(true){\nif((i__5750__auto___46236 \x3c len__5749__auto___46235)){\nargs__5755__auto__.push((arguments[i__5750__auto___46236]));\n\nvar G__46237 \x3d (i__5750__auto___46236 + (1));\ni__5750__auto___46236 \x3d G__46237;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_not_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_not_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,test,body){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,test,(new cljs.core.List(null,null,(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),body),null,(1),null)),(2),null)),(3),null)),(4),null));\n}));\n\n(sci.impl.namespaces.when_not_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_not_STAR_.cljs$lang$applyTo \x3d (function (seq45295){\nvar G__45296 \x3d cljs.core.first(seq45295);\nvar seq45295__$1 \x3d cljs.core.next(seq45295);\nvar G__45297 \x3d cljs.core.first(seq45295__$1);\nvar seq45295__$2 \x3d cljs.core.next(seq45295__$1);\nvar G__45298 \x3d cljs.core.first(seq45295__$2);\nvar seq45295__$3 \x3d cljs.core.next(seq45295__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45296,G__45297,G__45298,seq45295__$3);\n}));\n\n/**\n * doto from clojure.core\n */\nsci.impl.namespaces.doto_STAR_ \x3d (function sci$impl$namespaces$doto_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46241 \x3d arguments.length;\nvar i__5750__auto___46243 \x3d (0);\nwhile(true){\nif((i__5750__auto___46243 \x3c len__5749__auto___46241)){\nargs__5755__auto__.push((arguments[i__5750__auto___46243]));\n\nvar G__46244 \x3d (i__5750__auto___46243 + (1));\ni__5750__auto___46243 \x3d G__46244;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.doto_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.doto_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,x,forms){\nvar gx \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,gx,null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (f){\nreturn cljs.core.with_meta(((cljs.core.seq_QMARK_(f))?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,cljs.core.first(f),null,(1),null)),(new cljs.core.List(null,gx,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.next(f)], 0)))):cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,f,null,(1),null)),(new cljs.core.List(null,gx,null,(1),null)))))),cljs.core.meta(f));\n}),forms),(new cljs.core.List(null,gx,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.doto_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.doto_STAR_.cljs$lang$applyTo \x3d (function (seq45303){\nvar G__45304 \x3d cljs.core.first(seq45303);\nvar seq45303__$1 \x3d cljs.core.next(seq45303);\nvar G__45305 \x3d cljs.core.first(seq45303__$1);\nvar seq45303__$2 \x3d cljs.core.next(seq45303__$1);\nvar G__45306 \x3d cljs.core.first(seq45303__$2);\nvar seq45303__$3 \x3d cljs.core.next(seq45303__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45304,G__45305,G__45306,seq45303__$3);\n}));\n\nsci.impl.namespaces.cond_STAR_ \x3d (function sci$impl$namespaces$cond_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46247 \x3d arguments.length;\nvar i__5750__auto___46248 \x3d (0);\nwhile(true){\nif((i__5750__auto___46248 \x3c len__5749__auto___46247)){\nargs__5755__auto__.push((arguments[i__5750__auto___46248]));\n\nvar G__46249 \x3d (i__5750__auto___46248 + (1));\ni__5750__auto___46248 \x3d G__46249;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.cond_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.cond_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,clauses){\nif(cljs.core.truth_(clauses)){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),(new cljs.core.List(null,cljs.core.first(clauses),(new cljs.core.List(null,((cljs.core.next(clauses))?cljs.core.second(clauses):(function(){throw (new Error(\x22cond requires an even number of forms\x22))})()),(new cljs.core.List(null,cljs.core.cons(new cljs.core.Symbol(\x22clojure.core\x22,\x22cond\x22,\x22clojure.core/cond\x22,1906951420,null),cljs.core.next(cljs.core.next(clauses))),null,(1),null)),(2),null)),(3),null)),(4),null));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.namespaces.cond_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.cond_STAR_.cljs$lang$applyTo \x3d (function (seq45307){\nvar G__45308 \x3d cljs.core.first(seq45307);\nvar seq45307__$1 \x3d cljs.core.next(seq45307);\nvar G__45310 \x3d cljs.core.first(seq45307__$1);\nvar seq45307__$2 \x3d cljs.core.next(seq45307__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45308,G__45310,seq45307__$2);\n}));\n\nsci.impl.namespaces.cond__GT__STAR_ \x3d (function sci$impl$namespaces$cond__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46251 \x3d arguments.length;\nvar i__5750__auto___46252 \x3d (0);\nwhile(true){\nif((i__5750__auto___46252 \x3c len__5749__auto___46251)){\nargs__5755__auto__.push((arguments[i__5750__auto___46252]));\n\nvar G__46253 \x3d (i__5750__auto___46252 + (1));\ni__5750__auto___46252 \x3d G__46253;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.cond__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.cond__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,expr,clauses){\nif(cljs.core.even_QMARK_(cljs.core.count(clauses))){\n} else {\nthrow (new Error(\x22Assert failed: (even? (count clauses))\x22));\n}\n\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__45323){\nvar vec__45324 \x3d p__45323;\nvar test \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45324,(0),null);\nvar step \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45324,(1),null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x22,\x22cljs.core/-\x3e\x22,1488366311,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))], 0))));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),clauses));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.cond__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.cond__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45313){\nvar G__45314 \x3d cljs.core.first(seq45313);\nvar seq45313__$1 \x3d cljs.core.next(seq45313);\nvar G__45315 \x3d cljs.core.first(seq45313__$1);\nvar seq45313__$2 \x3d cljs.core.next(seq45313__$1);\nvar G__45316 \x3d cljs.core.first(seq45313__$2);\nvar seq45313__$3 \x3d cljs.core.next(seq45313__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45314,G__45315,G__45316,seq45313__$3);\n}));\n\nsci.impl.namespaces.cond__GT__GT__STAR_ \x3d (function sci$impl$namespaces$cond__GT__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46261 \x3d arguments.length;\nvar i__5750__auto___46262 \x3d (0);\nwhile(true){\nif((i__5750__auto___46262 \x3c len__5749__auto___46261)){\nargs__5755__auto__.push((arguments[i__5750__auto___46262]));\n\nvar G__46263 \x3d (i__5750__auto___46262 + (1));\ni__5750__auto___46262 \x3d G__46263;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.cond__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.cond__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,expr,clauses){\nif(cljs.core.even_QMARK_(cljs.core.count(clauses))){\n} else {\nthrow (new Error(\x22Assert failed: (even? (count clauses))\x22));\n}\n\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__45339){\nvar vec__45340 \x3d p__45339;\nvar test \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45340,(0),null);\nvar step \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45340,(1),null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x3e\x22,\x22cljs.core/-\x3e\x3e\x22,-1207871206,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))], 0))));\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),clauses));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.cond__GT__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.cond__GT__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45331){\nvar G__45333 \x3d cljs.core.first(seq45331);\nvar seq45331__$1 \x3d cljs.core.next(seq45331);\nvar G__45334 \x3d cljs.core.first(seq45331__$1);\nvar seq45331__$2 \x3d cljs.core.next(seq45331__$1);\nvar G__45335 \x3d cljs.core.first(seq45331__$2);\nvar seq45331__$3 \x3d cljs.core.next(seq45331__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45333,G__45334,G__45335,seq45331__$3);\n}));\n\nsci.impl.namespaces.if_let_STAR_ \x3d (function sci$impl$namespaces$if_let_STAR_(var_args){\nvar G__45354 \x3d arguments.length;\nswitch (G__45354) {\ncase 4:\nreturn sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46265 \x3d arguments.length;\nvar i__5750__auto___46266 \x3d (0);\nwhile(true){\nif((i__5750__auto___46266 \x3c len__5749__auto___46265)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46266]));\n\nvar G__46267 \x3d (i__5750__auto___46266 + (1));\ni__5750__auto___46266 \x3d G__46267;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((5) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((5)),(0),null)):null);\nreturn sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (_AMPERSAND_form,_AMPERSAND_env,bindings,then){\nreturn sci.impl.namespaces.if_let_STAR_(_AMPERSAND_form,_AMPERSAND_env,bindings,then,null);\n}));\n\n(sci.impl.namespaces.if_let_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,__AMPERSAND_env,bindings,then,else$,_oldform){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,then,null,(1),null))], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null)),(new cljs.core.List(null,else$,null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.if_let_STAR_.cljs$lang$applyTo \x3d (function (seq45346){\nvar G__45349 \x3d cljs.core.first(seq45346);\nvar seq45346__$1 \x3d cljs.core.next(seq45346);\nvar G__45350 \x3d cljs.core.first(seq45346__$1);\nvar seq45346__$2 \x3d cljs.core.next(seq45346__$1);\nvar G__45351 \x3d cljs.core.first(seq45346__$2);\nvar seq45346__$3 \x3d cljs.core.next(seq45346__$2);\nvar G__45352 \x3d cljs.core.first(seq45346__$3);\nvar seq45346__$4 \x3d cljs.core.next(seq45346__$3);\nvar G__45353 \x3d cljs.core.first(seq45346__$4);\nvar seq45346__$5 \x3d cljs.core.next(seq45346__$4);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45349,G__45350,G__45351,G__45352,G__45353,seq45346__$5);\n}));\n\n(sci.impl.namespaces.if_let_STAR_.cljs$lang$maxFixedArity \x3d (5));\n\nsci.impl.namespaces.if_some_STAR_ \x3d (function sci$impl$namespaces$if_some_STAR_(var_args){\nvar G__45368 \x3d arguments.length;\nswitch (G__45368) {\ncase 4:\nreturn sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46274 \x3d arguments.length;\nvar i__5750__auto___46275 \x3d (0);\nwhile(true){\nif((i__5750__auto___46275 \x3c len__5749__auto___46274)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46275]));\n\nvar G__46276 \x3d (i__5750__auto___46275 + (1));\ni__5750__auto___46275 \x3d G__46276;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((5) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((5)),(0),null)):null);\nreturn sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (_AMPERSAND_form,_AMPERSAND_env,bindings,then){\nreturn sci.impl.namespaces.if_some_STAR_(_AMPERSAND_form,_AMPERSAND_env,bindings,then,null);\n}));\n\n(sci.impl.namespaces.if_some_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,__AMPERSAND_env,bindings,then,else$,_oldform){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,else$,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,then,null,(1),null))], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.if_some_STAR_.cljs$lang$applyTo \x3d (function (seq45362){\nvar G__45363 \x3d cljs.core.first(seq45362);\nvar seq45362__$1 \x3d cljs.core.next(seq45362);\nvar G__45364 \x3d cljs.core.first(seq45362__$1);\nvar seq45362__$2 \x3d cljs.core.next(seq45362__$1);\nvar G__45365 \x3d cljs.core.first(seq45362__$2);\nvar seq45362__$3 \x3d cljs.core.next(seq45362__$2);\nvar G__45366 \x3d cljs.core.first(seq45362__$3);\nvar seq45362__$4 \x3d cljs.core.next(seq45362__$3);\nvar G__45367 \x3d cljs.core.first(seq45362__$4);\nvar seq45362__$5 \x3d cljs.core.next(seq45362__$4);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45363,G__45364,G__45365,G__45366,G__45367,seq45362__$5);\n}));\n\n(sci.impl.namespaces.if_some_STAR_.cljs$lang$maxFixedArity \x3d (5));\n\nsci.impl.namespaces.when_let_STAR_ \x3d (function sci$impl$namespaces$when_let_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46280 \x3d arguments.length;\nvar i__5750__auto___46281 \x3d (0);\nwhile(true){\nif((i__5750__auto___46281 \x3c len__5749__auto___46280)){\nargs__5755__auto__.push((arguments[i__5750__auto___46281]));\n\nvar G__46282 \x3d (i__5750__auto___46281 + (1));\ni__5750__auto___46281 \x3d G__46282;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_let_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_let_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,__AMPERSAND_env,bindings,body){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.when_let_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_let_STAR_.cljs$lang$applyTo \x3d (function (seq45375){\nvar G__45376 \x3d cljs.core.first(seq45375);\nvar seq45375__$1 \x3d cljs.core.next(seq45375);\nvar G__45377 \x3d cljs.core.first(seq45375__$1);\nvar seq45375__$2 \x3d cljs.core.next(seq45375__$1);\nvar G__45378 \x3d cljs.core.first(seq45375__$2);\nvar seq45375__$3 \x3d cljs.core.next(seq45375__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45376,G__45377,G__45378,seq45375__$3);\n}));\n\nsci.impl.namespaces.when_first_STAR_ \x3d (function sci$impl$namespaces$when_first_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46287 \x3d arguments.length;\nvar i__5750__auto___46288 \x3d (0);\nwhile(true){\nif((i__5750__auto___46288 \x3c len__5749__auto___46287)){\nargs__5755__auto__.push((arguments[i__5750__auto___46288]));\n\nvar G__46289 \x3d (i__5750__auto___46288 + (1));\ni__5750__auto___46288 \x3d G__46289;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_first_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_first_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nvar vec__45390 \x3d bindings;\nvar x \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45390,(0),null);\nvar xs \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45390,(1),null);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-let\x22,\x22cljs.core/when-let\x22,-2049838349,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22xs__45381__auto__\x22,\x22xs__45381__auto__\x22,1121958026,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22seq\x22,\x22cljs.core/seq\x22,-1649497689,null),null,(1),null)),(new cljs.core.List(null,xs,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,x,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22first\x22,\x22cljs.core/first\x22,-752535972,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22xs__45381__auto__\x22,\x22xs__45381__auto__\x22,1121958026,null),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.when_first_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_first_STAR_.cljs$lang$applyTo \x3d (function (seq45382){\nvar G__45383 \x3d cljs.core.first(seq45382);\nvar seq45382__$1 \x3d cljs.core.next(seq45382);\nvar G__45384 \x3d cljs.core.first(seq45382__$1);\nvar seq45382__$2 \x3d cljs.core.next(seq45382__$1);\nvar G__45385 \x3d cljs.core.first(seq45382__$2);\nvar seq45382__$3 \x3d cljs.core.next(seq45382__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45383,G__45384,G__45385,seq45382__$3);\n}));\n\nsci.impl.namespaces.when_some_STAR_ \x3d (function sci$impl$namespaces$when_some_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46295 \x3d arguments.length;\nvar i__5750__auto___46296 \x3d (0);\nwhile(true){\nif((i__5750__auto___46296 \x3c len__5749__auto___46295)){\nargs__5755__auto__.push((arguments[i__5750__auto___46296]));\n\nvar G__46297 \x3d (i__5750__auto___46296 + (1));\ni__5750__auto___46296 \x3d G__46297;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.when_some_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.when_some_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_AMPERSAND_form,_,bindings,body){\nvar form \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0)));\nvar tst \x3d (bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((1)) : bindings.call(null,(1)));\nvar tmp \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22temp\x22);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,tmp,null,(1),null)),(new cljs.core.List(null,tst,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,form,null,(1),null)),(new cljs.core.List(null,tmp,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),cljs.core.meta(_AMPERSAND_form)),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.when_some_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.when_some_STAR_.cljs$lang$applyTo \x3d (function (seq45397){\nvar G__45398 \x3d cljs.core.first(seq45397);\nvar seq45397__$1 \x3d cljs.core.next(seq45397);\nvar G__45399 \x3d cljs.core.first(seq45397__$1);\nvar seq45397__$2 \x3d cljs.core.next(seq45397__$1);\nvar G__45400 \x3d cljs.core.first(seq45397__$2);\nvar seq45397__$3 \x3d cljs.core.next(seq45397__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45398,G__45399,G__45400,seq45397__$3);\n}));\n\nsci.impl.namespaces.some__GT__STAR_ \x3d (function sci$impl$namespaces$some__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46300 \x3d arguments.length;\nvar i__5750__auto___46301 \x3d (0);\nwhile(true){\nif((i__5750__auto___46301 \x3c len__5749__auto___46300)){\nargs__5755__auto__.push((arguments[i__5750__auto___46301]));\n\nvar G__46302 \x3d (i__5750__auto___46301 + (1));\ni__5750__auto___46301 \x3d G__46302;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.some__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.some__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (__AMPERSAND_form,__AMPERSAND_env,expr,forms){\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (step){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x22,\x22cljs.core/-\x3e\x22,1488366311,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null))], 0))));\n}),forms);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.some__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.some__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45405){\nvar G__45406 \x3d cljs.core.first(seq45405);\nvar seq45405__$1 \x3d cljs.core.next(seq45405);\nvar G__45407 \x3d cljs.core.first(seq45405__$1);\nvar seq45405__$2 \x3d cljs.core.next(seq45405__$1);\nvar G__45408 \x3d cljs.core.first(seq45405__$2);\nvar seq45405__$3 \x3d cljs.core.next(seq45405__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45406,G__45407,G__45408,seq45405__$3);\n}));\n\nsci.impl.namespaces.some__GT__GT__STAR_ \x3d (function sci$impl$namespaces$some__GT__GT__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46308 \x3d arguments.length;\nvar i__5750__auto___46309 \x3d (0);\nwhile(true){\nif((i__5750__auto___46309 \x3c len__5749__auto___46308)){\nargs__5755__auto__.push((arguments[i__5750__auto___46309]));\n\nvar G__46310 \x3d (i__5750__auto___46309 + (1));\ni__5750__auto___46309 \x3d G__46310;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.some__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.some__GT__GT__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,expr,forms){\nvar g \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar steps \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (step){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22nil?\x22,\x22cljs.core/nil?\x22,945071861,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x3e\x3e\x22,\x22cljs.core/-\x3e\x3e\x22,-1207871206,null),null,(1),null)),(new cljs.core.List(null,g,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,step,null,(1),null))], 0)))),null,(1),null))], 0))));\n}),forms);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,g,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(g),cljs.core.butlast(steps))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,((cljs.core.empty_QMARK_(steps))?g:cljs.core.last(steps)),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.some__GT__GT__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.some__GT__GT__STAR_.cljs$lang$applyTo \x3d (function (seq45415){\nvar G__45416 \x3d cljs.core.first(seq45415);\nvar seq45415__$1 \x3d cljs.core.next(seq45415);\nvar G__45417 \x3d cljs.core.first(seq45415__$1);\nvar seq45415__$2 \x3d cljs.core.next(seq45415__$1);\nvar G__45418 \x3d cljs.core.first(seq45415__$2);\nvar seq45415__$3 \x3d cljs.core.next(seq45415__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45416,G__45417,G__45418,seq45415__$3);\n}));\n\n/**\n * defs the supplied var names with no bindings, useful for making forward declarations.\n */\nsci.impl.namespaces.declare_STAR_ \x3d (function sci$impl$namespaces$declare_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46314 \x3d arguments.length;\nvar i__5750__auto___46315 \x3d (0);\nwhile(true){\nif((i__5750__auto___46315 \x3c len__5749__auto___46314)){\nargs__5755__auto__.push((arguments[i__5750__auto___46315]));\n\nvar G__46316 \x3d (i__5750__auto___46315 + (1));\ni__5750__auto___46315 \x3d G__46316;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.declare_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.declare_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,names){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45424_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),(new cljs.core.List(null,cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(p1__45424_SHARP_,cljs.core.assoc,new cljs.core.Keyword(null,\x22declared\x22,\x22declared\x22,92336021),true),null,(1),null)),(2),null));\n}),names))));\n}));\n\n(sci.impl.namespaces.declare_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.declare_STAR_.cljs$lang$applyTo \x3d (function (seq45425){\nvar G__45426 \x3d cljs.core.first(seq45425);\nvar seq45425__$1 \x3d cljs.core.next(seq45425);\nvar G__45427 \x3d cljs.core.first(seq45425__$1);\nvar seq45425__$2 \x3d cljs.core.next(seq45425__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45426,G__45427,seq45425__$2);\n}));\n\nsci.impl.namespaces.ex_message \x3d (function (){var temp__5821__auto__ \x3d (((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.ex_message !\x3d\x3d \x27undefined\x27))?(new cljs.core.Var((function (){\nreturn cljs.core.ex_message;\n}),cljs.core.with_meta(new cljs.core.Symbol(\x22cljs.core\x22,\x22ex-message\x22,\x22cljs.core/ex-message\x22,-747602175,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22ex-message\x22,\x22ex-message\x22,-1128293394,null),\x22cljs/core.cljs\x22,17,1,11822,11822,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ex\x22,\x22ex\x22,226760186,null)], null)),\x22Returns the message attached to the given Error / ExceptionInfo object.\\n For non-Errors returns nil.\x22,(cljs.core.truth_(cljs.core.ex_message)?cljs.core.ex_message.cljs$lang$test:null)]))):null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreturn cljs.core.deref(v);\n} else {\nreturn (function sci$impl$namespaces$ex_message(ex){\nif((ex instanceof Error)){\nreturn ex.message;\n} else {\nreturn null;\n}\n});\n}\n})();\nsci.impl.namespaces.ex_cause \x3d (function (){var temp__5821__auto__ \x3d (((typeof cljs !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core !\x3d\x3d \x27undefined\x27) \x26\x26 (typeof cljs.core.ex_cause !\x3d\x3d \x27undefined\x27))?(new cljs.core.Var((function (){\nreturn cljs.core.ex_cause;\n}),cljs.core.with_meta(new cljs.core.Symbol(\x22cljs.core\x22,\x22ex-cause\x22,\x22cljs.core/ex-cause\x22,1843478517,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22cljs.analyzer\x22,\x22no-resolve\x22,\x22cljs.analyzer/no-resolve\x22,-1872351017),true], null)),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22ex-cause\x22,\x22ex-cause\x22,95392590,null),\x22cljs/core.cljs\x22,15,1,11829,11829,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22ex\x22,\x22ex\x22,226760186,null)], null)),\x22Returns exception cause (an Error / ExceptionInfo) if ex is an\\n ExceptionInfo.\\n Otherwise returns nil.\x22,(cljs.core.truth_(cljs.core.ex_cause)?cljs.core.ex_cause.cljs$lang$test:null)]))):null);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar v \x3d temp__5821__auto__;\nreturn cljs.core.deref(v);\n} else {\nreturn (function sci$impl$namespaces$ex_message(ex){\nif((ex instanceof cljs.core.ExceptionInfo)){\nreturn ex.cause;\n} else {\nreturn null;\n}\n});\n}\n})();\nsci.impl.namespaces.assert_var \x3d sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*assert*\x22,\x22*assert*\x22,1479636474,null),true,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null));\nsci.impl.namespaces.assert_STAR_ \x3d (function sci$impl$namespaces$assert_STAR_(var_args){\nvar G__45440 \x3d arguments.length;\nswitch (G__45440) {\ncase 3:\nreturn sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (__AMPERSAND_form,_,x){\nif(cljs.core.truth_(cljs.core.deref(sci.impl.namespaces.assert_var))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-not\x22,\x22cljs.core/when-not\x22,-556141047,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error.\x22,\x22js/Error.\x22,750655924,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Assert failed: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pr-str\x22,\x22cljs.core/pr-str\x22,-552799478,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.namespaces.assert_STAR_.cljs$core$IFn$_invoke$arity$4 \x3d (function (__AMPERSAND_form,_,x,message){\nif(cljs.core.truth_(cljs.core.deref(sci.impl.namespaces.assert_var))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-not\x22,\x22cljs.core/when-not\x22,-556141047,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error.\x22,\x22js/Error.\x22,750655924,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Assert failed: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,message,null,(1),null)),(new cljs.core.List(null,\x22\\n\x22,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pr-str\x22,\x22cljs.core/pr-str\x22,-552799478,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))))),null,(1),null))], 0))));\n} else {\nreturn null;\n}\n}));\n\n(sci.impl.namespaces.assert_STAR_.cljs$lang$maxFixedArity \x3d 4);\n\nsci.impl.namespaces.areduce_STAR_ \x3d (function sci$impl$namespaces$areduce_STAR_(_,___$1,a,idx,ret,init,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45447__auto__\x22,\x22a__45447__auto__\x22,1838978457,null),null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45448__auto__\x22,\x22l__45448__auto__\x22,-2053040373,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alength\x22,\x22cljs.core/alength\x22,-1012804190,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45447__auto__\x22,\x22a__45447__auto__\x22,1838978457,null),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22loop\x22,\x22cljs.core/loop\x22,-1829423021,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,idx,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,ret,null,(1),null)),(new cljs.core.List(null,init,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45448__auto__\x22,\x22l__45448__auto__\x22,-2053040373,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc-int\x22,\x22cljs.core/unchecked-inc-int\x22,-2007014592,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr,null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\nsci.impl.namespaces.amap_STAR_ \x3d (function sci$impl$namespaces$amap_STAR_(_,___$1,a,idx,ret,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45450__auto__\x22,\x22a__45450__auto__\x22,1126925357,null),null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45451__auto__\x22,\x22l__45451__auto__\x22,-1193114042,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alength\x22,\x22cljs.core/alength\x22,-1012804190,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45450__auto__\x22,\x22a__45450__auto__\x22,1126925357,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22aclone\x22,\x22cljs.core/aclone\x22,-758078968,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22a__45450__auto__\x22,\x22a__45450__auto__\x22,1126925357,null),null,(1),null))))),null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22loop\x22,\x22cljs.core/loop\x22,-1829423021,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,idx,null,(1),null)),(new cljs.core.List(null,(0),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3c\x22,\x22cljs.core/\x3c\x22,1677496129,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22l__45451__auto__\x22,\x22l__45451__auto__\x22,-1193114042,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22aset\x22,\x22cljs.core/aset\x22,-898215545,null),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,idx,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22unchecked-inc\x22,\x22cljs.core/unchecked-inc\x22,-501313167,null),null,(1),null)),(new cljs.core.List(null,idx,null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,ret,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\nsci.impl.namespaces.with_open_STAR_ \x3d (function sci$impl$namespaces$with_open_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46348 \x3d arguments.length;\nvar i__5750__auto___46349 \x3d (0);\nwhile(true){\nif((i__5750__auto___46349 \x3c len__5749__auto___46348)){\nargs__5755__auto__.push((arguments[i__5750__auto___46349]));\n\nvar G__46350 \x3d (i__5750__auto___46349 + (1));\ni__5750__auto___46349 \x3d G__46350;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.with_open_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.with_open_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),cljs.core.count(bindings))){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),body)));\n} else {\nif(((bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0))) instanceof cljs.core.Symbol)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(bindings,(0),(2)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22sci.impl.namespaces\x22,\x22with-open\x22,\x22sci.impl.namespaces/with-open\x22,-1695932508,null),null,(1),null)),(new cljs.core.List(null,cljs.core.subvec.cljs$core$IFn$_invoke$arity$2(bindings,(2)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.close\x22,\x22.close\x22,-1017758745,null),null,(1),null)),(new cljs.core.List(null,(bindings.cljs$core$IFn$_invoke$arity$1 ? bindings.cljs$core$IFn$_invoke$arity$1((0)) : bindings.call(null,(0))),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n} else {\nreturn new cljs.core.Keyword(\x22sci.impl.namespaces\x22,\x22TODO\x22,\x22sci.impl.namespaces/TODO\x22,-1842365958);\n\n}\n}\n}));\n\n(sci.impl.namespaces.with_open_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.with_open_STAR_.cljs$lang$applyTo \x3d (function (seq45467){\nvar G__45468 \x3d cljs.core.first(seq45467);\nvar seq45467__$1 \x3d cljs.core.next(seq45467);\nvar G__45470 \x3d cljs.core.first(seq45467__$1);\nvar seq45467__$2 \x3d cljs.core.next(seq45467__$1);\nvar G__45471 \x3d cljs.core.first(seq45467__$2);\nvar seq45467__$3 \x3d cljs.core.next(seq45467__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45468,G__45470,G__45471,seq45467__$3);\n}));\n\nsci.impl.namespaces.letfn_STAR_ \x3d (function sci$impl$namespaces$letfn_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46353 \x3d arguments.length;\nvar i__5750__auto___46354 \x3d (0);\nwhile(true){\nif((i__5750__auto___46354 \x3c len__5749__auto___46353)){\nargs__5755__auto__.push((arguments[i__5750__auto___46354]));\n\nvar G__46355 \x3d (i__5750__auto___46354 + (1));\ni__5750__auto___46354 \x3d G__46355;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.letfn_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.letfn_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,fnspecs,body){\nvar syms \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,fnspecs);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(syms,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.list(new cljs.core.Symbol(\x22clojure.core\x22,\x22-new-var\x22,\x22clojure.core/-new-var\x22,363339052,null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (sym,fn_spec){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-var-root\x22,\x22cljs.core/alter-var-root\x22,-1342668238,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22constantly\x22,\x22cljs.core/constantly\x22,119002258,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.rest(fn_spec)], 0)))),null,(1),null))))),null,(1),null))], 0))));\n}),syms,fnspecs),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(syms,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (sym){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22var-get\x22,\x22cljs.core/var-get\x22,-91823622,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null)))));\n}),syms))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.letfn_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.letfn_STAR_.cljs$lang$applyTo \x3d (function (seq45477){\nvar G__45479 \x3d cljs.core.first(seq45477);\nvar seq45477__$1 \x3d cljs.core.next(seq45477);\nvar G__45480 \x3d cljs.core.first(seq45477__$1);\nvar seq45477__$2 \x3d cljs.core.next(seq45477__$1);\nvar G__45481 \x3d cljs.core.first(seq45477__$2);\nvar seq45477__$3 \x3d cljs.core.next(seq45477__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45479,G__45480,G__45481,seq45477__$3);\n}));\n\nsci.impl.namespaces.with_local_vars_STAR_ \x3d (function sci$impl$namespaces$with_local_vars_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46361 \x3d arguments.length;\nvar i__5750__auto___46362 \x3d (0);\nwhile(true){\nif((i__5750__auto___46362 \x3c len__5749__auto___46361)){\nargs__5755__auto__.push((arguments[i__5750__auto___46362]));\n\nvar G__46363 \x3d (i__5750__auto___46362 + (1));\ni__5750__auto___46362 \x3d G__46363;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.with_local_vars_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.with_local_vars_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,name_vals_vec,body){\nif(cljs.core.vector_QMARK_(name_vals_vec)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22with-local-vars requires a vector for its bindings\x22,form);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(name_vals_vec))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22with-local-vars requires an even number of forms in binding vector\x22,form);\n}\n\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),name_vals_vec),cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(cljs.core.list(new cljs.core.Symbol(\x22clojure.core\x22,\x22-new-dynamic-var\x22,\x22clojure.core/-new-dynamic-var\x22,-1873937019,null)))))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22push-thread-bindings\x22,\x22cljs.core/push-thread-bindings\x22,-703482450,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null),null,(1),null)),name_vals_vec))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),null,(1),null)),body,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pop-thread-bindings\x22,\x22cljs.core/pop-thread-bindings\x22,-1994943347,null),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.with_local_vars_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.with_local_vars_STAR_.cljs$lang$applyTo \x3d (function (seq45499){\nvar G__45501 \x3d cljs.core.first(seq45499);\nvar seq45499__$1 \x3d cljs.core.next(seq45499);\nvar G__45502 \x3d cljs.core.first(seq45499__$1);\nvar seq45499__$2 \x3d cljs.core.next(seq45499__$1);\nvar G__45503 \x3d cljs.core.first(seq45499__$2);\nvar seq45499__$3 \x3d cljs.core.next(seq45499__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45501,G__45502,G__45503,seq45499__$3);\n}));\n\n/**\n * Non-atomically swaps the value of the volatile as if:\n * (apply f current-value-of-vol args). Returns the value that\n * was swapped in.\n */\nsci.impl.namespaces.vswap_BANG_ \x3d (function sci$impl$namespaces$vswap_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46369 \x3d arguments.length;\nvar i__5750__auto___46370 \x3d (0);\nwhile(true){\nif((i__5750__auto___46370 \x3c len__5749__auto___46369)){\nargs__5755__auto__.push((arguments[i__5750__auto___46370]));\n\nvar G__46371 \x3d (i__5750__auto___46370 + (1));\ni__5750__auto___46370 \x3d G__46371;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.vswap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.vswap_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,vol,f,args){\nvar v \x3d vol;\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22vreset!\x22,\x22cljs.core/vreset!\x22,-1308835928,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,f,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22deref\x22,\x22cljs.core/deref\x22,1901963335,null),null,(1),null)),(new cljs.core.List(null,v,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.vswap_BANG_.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.vswap_BANG_.cljs$lang$applyTo \x3d (function (seq45509){\nvar G__45510 \x3d cljs.core.first(seq45509);\nvar seq45509__$1 \x3d cljs.core.next(seq45509);\nvar G__45511 \x3d cljs.core.first(seq45509__$1);\nvar seq45509__$2 \x3d cljs.core.next(seq45509__$1);\nvar G__45512 \x3d cljs.core.first(seq45509__$2);\nvar seq45509__$3 \x3d cljs.core.next(seq45509__$2);\nvar G__45513 \x3d cljs.core.first(seq45509__$3);\nvar seq45509__$4 \x3d cljs.core.next(seq45509__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45510,G__45511,G__45512,G__45513,seq45509__$4);\n}));\n\n/**\n * Expands into code that creates a fn that expects to be passed an\n * object and any args and calls the named instance method on the\n * object passing the args. Use when you want to treat a JavaScript\n * method as a first-class fn.\n */\nsci.impl.namespaces.memfn \x3d cljs.core.with_meta((function() { \nvar sci$impl$namespaces$memfn__delegate \x3d function (_,___$1,name,args){\nvar t \x3d cljs.core.with_meta(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22target\x22),cljs.core.meta(name));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,t,null,(1),null)),args)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,t,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,name,null,(1),null)),args))),null,(1),null))], 0)))),null,(1),null))], 0))));\n};\nvar sci$impl$namespaces$memfn \x3d function (_,___$1,name,var_args){\nvar args \x3d null;\nif (arguments.length \x3e 3) {\nvar G__46376__i \x3d 0, G__46376__a \x3d new Array(arguments.length - 3);\nwhile (G__46376__i \x3c G__46376__a.length) {G__46376__a[G__46376__i] \x3d arguments[G__46376__i + 3]; ++G__46376__i;}\n args \x3d new cljs.core.IndexedSeq(G__46376__a,0,null);\n} \nreturn sci$impl$namespaces$memfn__delegate.call(this,_,___$1,name,args);};\nsci$impl$namespaces$memfn.cljs$lang$maxFixedArity \x3d 3;\nsci$impl$namespaces$memfn.cljs$lang$applyTo \x3d (function (arglist__46377){\nvar _ \x3d cljs.core.first(arglist__46377);\narglist__46377 \x3d cljs.core.next(arglist__46377);\nvar ___$1 \x3d cljs.core.first(arglist__46377);\narglist__46377 \x3d cljs.core.next(arglist__46377);\nvar name \x3d cljs.core.first(arglist__46377);\nvar args \x3d cljs.core.rest(arglist__46377);\nreturn sci$impl$namespaces$memfn__delegate(_,___$1,name,args);\n});\nsci$impl$namespaces$memfn.cljs$core$IFn$_invoke$arity$variadic \x3d sci$impl$namespaces$memfn__delegate;\nreturn sci$impl$namespaces$memfn;\n})()\n,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),true], null));\nsci.impl.namespaces.delay_STAR_ \x3d (function sci$impl$namespaces$delay_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46378 \x3d arguments.length;\nvar i__5750__auto___46379 \x3d (0);\nwhile(true){\nif((i__5750__auto___46379 \x3c len__5749__auto___46378)){\nargs__5755__auto__.push((arguments[i__5750__auto___46379]));\n\nvar G__46380 \x3d (i__5750__auto___46379 + (1));\ni__5750__auto___46379 \x3d G__46380;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.delay_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.delay_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22Delay\x22,\x22cljs.core/Delay\x22,-21574999,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.delay_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.delay_STAR_.cljs$lang$applyTo \x3d (function (seq45520){\nvar G__45521 \x3d cljs.core.first(seq45520);\nvar seq45520__$1 \x3d cljs.core.next(seq45520);\nvar G__45522 \x3d cljs.core.first(seq45520__$1);\nvar seq45520__$2 \x3d cljs.core.next(seq45520__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45521,G__45522,seq45520__$2);\n}));\n\nsci.impl.namespaces.defn__STAR_ \x3d (function sci$impl$namespaces$defn__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46382 \x3d arguments.length;\nvar i__5750__auto___46383 \x3d (0);\nwhile(true){\nif((i__5750__auto___46383 \x3c len__5749__auto___46382)){\nargs__5755__auto__.push((arguments[i__5750__auto___46383]));\n\nvar G__46384 \x3d (i__5750__auto___46383 + (1));\ni__5750__auto___46383 \x3d G__46384;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.defn__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.defn__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,name,decls){\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(\x22cljs.core\x22,\x22defn\x22,\x22cljs.core/defn\x22,-1606493717,null),cljs.core.with_meta(name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(name),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true)),decls);\n}));\n\n(sci.impl.namespaces.defn__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.defn__STAR_.cljs$lang$applyTo \x3d (function (seq45525){\nvar G__45526 \x3d cljs.core.first(seq45525);\nvar seq45525__$1 \x3d cljs.core.next(seq45525);\nvar G__45527 \x3d cljs.core.first(seq45525__$1);\nvar seq45525__$2 \x3d cljs.core.next(seq45525__$1);\nvar G__45528 \x3d cljs.core.first(seq45525__$2);\nvar seq45525__$3 \x3d cljs.core.next(seq45525__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45526,G__45527,G__45528,seq45525__$3);\n}));\n\nsci.impl.namespaces.condp_STAR_ \x3d (function sci$impl$namespaces$condp_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46388 \x3d arguments.length;\nvar i__5750__auto___46389 \x3d (0);\nwhile(true){\nif((i__5750__auto___46389 \x3c len__5749__auto___46388)){\nargs__5755__auto__.push((arguments[i__5750__auto___46389]));\n\nvar G__46391 \x3d (i__5750__auto___46389 + (1));\ni__5750__auto___46389 \x3d G__46391;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.condp_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.condp_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,pred,expr,clauses){\nvar gpred \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22pred__\x22);\nvar gexpr \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22expr__\x22);\nvar emit \x3d (function sci$impl$namespaces$emit(pred__$1,expr__$1,args){\nvar vec__45553 \x3d cljs.core.split_at(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22\x3e\x3e\x22,\x22\x3e\x3e\x22,-277509267),cljs.core.second(args)))?(3):(2)),args);\nvar vec__45556 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45553,(0),null);\nvar a \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45556,(0),null);\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45556,(1),null);\nvar c \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45556,(2),null);\nvar clause \x3d vec__45556;\nvar more \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45553,(1),null);\nvar n \x3d cljs.core.count(clause);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),n)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22throw\x22,\x22throw\x22,595905694,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22js\x22,\x22Error\x22,\x22js/Error\x22,-1692659266,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22No matching clause: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr__$1,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null)))));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),n)){\nreturn a;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((2),n)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,pred__$1,null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr__$1,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,b,null,(1),null)),(new cljs.core.List(null,sci$impl$namespaces$emit(pred__$1,expr__$1,more),null,(1),null))], 0))));\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22p__45539__auto__\x22,\x22p__45539__auto__\x22,-938740057,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,pred__$1,null,(1),null)),(new cljs.core.List(null,a,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr__$1,null,(1),null))], 0)))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,c,null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22p__45539__auto__\x22,\x22p__45539__auto__\x22,-938740057,null),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,sci$impl$namespaces$emit(pred__$1,expr__$1,more),null,(1),null))], 0))));\n\n}\n}\n}\n});\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,gpred,null,(1),null)),(new cljs.core.List(null,pred,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,gexpr,null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,emit(gpred,gexpr,clauses),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.condp_STAR_.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.condp_STAR_.cljs$lang$applyTo \x3d (function (seq45542){\nvar G__45543 \x3d cljs.core.first(seq45542);\nvar seq45542__$1 \x3d cljs.core.next(seq45542);\nvar G__45544 \x3d cljs.core.first(seq45542__$1);\nvar seq45542__$2 \x3d cljs.core.next(seq45542__$1);\nvar G__45545 \x3d cljs.core.first(seq45542__$2);\nvar seq45542__$3 \x3d cljs.core.next(seq45542__$2);\nvar G__45546 \x3d cljs.core.first(seq45542__$3);\nvar seq45542__$4 \x3d cljs.core.next(seq45542__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45543,G__45544,G__45545,G__45546,seq45542__$4);\n}));\n\nsci.impl.namespaces.defonce_STAR_ \x3d (function sci$impl$namespaces$defonce_STAR_(_,___$1,name,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__45569__auto__\x22,\x22v__45569__auto__\x22,1833189580,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,name,null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when-not\x22,\x22cljs.core/when-not\x22,-556141047,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22has-root-impl\x22,\x22has-root-impl\x22,-288948659,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__45569__auto__\x22,\x22v__45569__auto__\x22,1833189580,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22def\x22,\x22def\x22,597100991,null),null,(1),null)),(new cljs.core.List(null,name,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,expr,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\nsci.impl.namespaces.while_STAR_ \x3d (function sci$impl$namespaces$while_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46403 \x3d arguments.length;\nvar i__5750__auto___46404 \x3d (0);\nwhile(true){\nif((i__5750__auto___46404 \x3c len__5749__auto___46403)){\nargs__5755__auto__.push((arguments[i__5750__auto___46404]));\n\nvar G__46405 \x3d (i__5750__auto___46404 + (1));\ni__5750__auto___46404 \x3d G__46405;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.while_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.while_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,test,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22loop\x22,\x22cljs.core/loop\x22,-1829423021,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,test,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body,(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(null,\x22recur\x22,\x22recur\x22,1202958259,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.while_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.while_STAR_.cljs$lang$applyTo \x3d (function (seq45573){\nvar G__45574 \x3d cljs.core.first(seq45573);\nvar seq45573__$1 \x3d cljs.core.next(seq45573);\nvar G__45575 \x3d cljs.core.first(seq45573__$1);\nvar seq45573__$2 \x3d cljs.core.next(seq45573__$1);\nvar G__45576 \x3d cljs.core.first(seq45573__$2);\nvar seq45573__$3 \x3d cljs.core.next(seq45573__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45574,G__45575,G__45576,seq45573__$3);\n}));\n\nsci.impl.namespaces.double_dot \x3d (function sci$impl$namespaces$double_dot(var_args){\nvar G__45587 \x3d arguments.length;\nswitch (G__45587) {\ncase 4:\nreturn sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46409 \x3d arguments.length;\nvar i__5750__auto___46410 \x3d (0);\nwhile(true){\nif((i__5750__auto___46410 \x3c len__5749__auto___46409)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46410]));\n\nvar G__46411 \x3d (i__5750__auto___46410 + (1));\ni__5750__auto___46410 \x3d G__46411;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((4) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$4 \x3d (function (_,___$1,x,form){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,form,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.double_dot.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,form,more){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.\x22,\x22.\x22,1975675962,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,form,null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.double_dot.cljs$lang$applyTo \x3d (function (seq45582){\nvar G__45583 \x3d cljs.core.first(seq45582);\nvar seq45582__$1 \x3d cljs.core.next(seq45582);\nvar G__45584 \x3d cljs.core.first(seq45582__$1);\nvar seq45582__$2 \x3d cljs.core.next(seq45582__$1);\nvar G__45585 \x3d cljs.core.first(seq45582__$2);\nvar seq45582__$3 \x3d cljs.core.next(seq45582__$2);\nvar G__45586 \x3d cljs.core.first(seq45582__$3);\nvar seq45582__$4 \x3d cljs.core.next(seq45582__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45583,G__45584,G__45585,G__45586,seq45582__$4);\n}));\n\n(sci.impl.namespaces.double_dot.cljs$lang$maxFixedArity \x3d (4));\n\nsci.impl.namespaces.lazy_cat_STAR_ \x3d (function sci$impl$namespaces$lazy_cat_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46412 \x3d arguments.length;\nvar i__5750__auto___46413 \x3d (0);\nwhile(true){\nif((i__5750__auto___46413 \x3c len__5749__auto___46412)){\nargs__5755__auto__.push((arguments[i__5750__auto___46413]));\n\nvar G__46414 \x3d (i__5750__auto___46413 + (1));\ni__5750__auto___46413 \x3d G__46414;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.lazy_cat_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.lazy_cat_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,colls){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22concat\x22,\x22cljs.core/concat\x22,-1133584918,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45604_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22lazy-seq\x22,\x22cljs.core/lazy-seq\x22,627681297,null),(new cljs.core.List(null,p1__45604_SHARP_,null,(1),null)),(2),null));\n}),colls))));\n}));\n\n(sci.impl.namespaces.lazy_cat_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.lazy_cat_STAR_.cljs$lang$applyTo \x3d (function (seq45605){\nvar G__45606 \x3d cljs.core.first(seq45605);\nvar seq45605__$1 \x3d cljs.core.next(seq45605);\nvar G__45607 \x3d cljs.core.first(seq45605__$1);\nvar seq45605__$2 \x3d cljs.core.next(seq45605__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45606,G__45607,seq45605__$2);\n}));\n\nsci.impl.namespaces.has_root_impl \x3d (function sci$impl$namespaces$has_root_impl(sci_var){\nreturn sci.impl.vars.hasRoot(sci_var);\n});\nsci.impl.namespaces.sci_alias \x3d (function sci$impl$namespaces$sci_alias(alias_sym,ns_sym){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()),(function (env){\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nreturn cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),current_ns,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),alias_sym], null),ns_sym);\n}));\n\nreturn null;\n});\nsci.impl.namespaces.sci_create_ns \x3d (function sci$impl$namespaces$sci_create_ns(ns_sym){\nreturn sci.impl.utils.namespace_object(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()),ns_sym,true,null);\n});\nsci.impl.namespaces.sci_find_ns_STAR_ \x3d (function sci$impl$namespaces$sci_find_ns_STAR_(ctx,ns_sym){\nif((ns_sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? ns-sym)\x22));\n}\n\nreturn sci.impl.utils.namespace_object(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),ns_sym,false,null);\n});\nsci.impl.namespaces.sci_find_ns \x3d (function sci$impl$namespaces$sci_find_ns(ns_sym){\nreturn sci.impl.namespaces.sci_find_ns_STAR_(sci.ctx_store.get_ctx(),ns_sym);\n});\nsci.impl.namespaces.sci_in_ns \x3d (function sci$impl$namespaces$sci_in_ns(ns_sym){\nif((ns_sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? ns-sym)\x22));\n}\n\nreturn sci.impl.utils.set_namespace_BANG_(sci.ctx_store.get_ctx(),ns_sym,cljs.core.PersistentArrayMap.EMPTY);\n});\nsci.impl.namespaces.sci_the_ns_STAR_ \x3d (function sci$impl$namespaces$sci_the_ns_STAR_(ctx,x){\nif((x instanceof sci.lang.Namespace)){\nreturn x;\n} else {\nvar or__5025__auto__ \x3d sci.impl.namespaces.sci_find_ns_STAR_(ctx,x);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nthrow (new Error([\x22No namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(x),\x22 found\x22].join(\x27\x27)));\n}\n}\n});\nsci.impl.namespaces.sci_the_ns \x3d (function sci$impl$namespaces$sci_the_ns(x){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_the_ns_STAR_(ctx,x);\n});\nsci.impl.namespaces.sci_ns_name_STAR_ \x3d (function sci$impl$namespaces$sci_ns_name_STAR_(ctx,ns){\nvar ns__$1 \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns);\nreturn ns__$1.sci$impl$types$HasName$getName$arity$1(null);\n});\nsci.impl.namespaces.sci_ns_name \x3d (function sci$impl$namespaces$sci_ns_name(ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_name_STAR_(ctx,ns);\n});\nsci.impl.namespaces.sci_ns_aliases_STAR_ \x3d (function sci$impl$namespaces$sci_ns_aliases_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar aliases \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714)], null));\nreturn cljs.core.zipmap(cljs.core.keys(aliases),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (sym){\nreturn sci.lang.__GT_Namespace(sym,null);\n}),cljs.core.vals(aliases)));\n});\nsci.impl.namespaces.sci_ns_aliases \x3d (function sci$impl$namespaces$sci_ns_aliases(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_aliases_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.clean_ns \x3d (function sci$impl$namespaces$clean_ns(m){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809)], 0));\n});\nsci.impl.namespaces.sci_ns_interns_STAR_ \x3d (function sci$impl$namespaces$sci_ns_interns_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar m \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name], null));\nvar m__$1 \x3d sci.impl.namespaces.clean_ns(m);\nreturn m__$1;\n});\nsci.impl.namespaces.sci_ns_interns \x3d (function sci$impl$namespaces$sci_ns_interns(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_interns_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_publics_STAR_ \x3d (function sci$impl$namespaces$sci_ns_publics_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar m \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name], null));\nvar m__$1 \x3d sci.impl.namespaces.clean_ns(m);\nreturn cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p__45647){\nvar vec__45648 \x3d p__45647;\nvar k \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45648,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45648,(1),null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(v)))){\nreturn null;\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,v], null);\n}\n}),m__$1));\n});\nsci.impl.namespaces.sci_ns_publics \x3d (function sci$impl$namespaces$sci_ns_publics(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_publics_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_imports_STAR_ \x3d (function sci$impl$namespaces$sci_ns_imports_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar global_imports \x3d new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(env);\nvar namespace_imports \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394)], null));\nvar class_opts \x3d new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(env);\nvar all_aliased \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(global_imports),cljs.core.keys(namespace_imports));\nvar all_imports \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.vals(global_imports),cljs.core.vals(namespace_imports));\nreturn cljs.core.zipmap(all_aliased,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),(function (p1__45652_SHARP_){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(class_opts,p1__45652_SHARP_);\n})),all_imports));\n});\nsci.impl.namespaces.sci_ns_imports \x3d (function sci$impl$namespaces$sci_ns_imports(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_imports_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_refers_STAR_ \x3d (function sci$impl$namespaces$sci_ns_refers_STAR_(ctx,sci_ns){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns);\nvar env \x3d cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx));\nvar refers \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809)], null));\nvar clojure_core \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)], null));\nvar clojure_core__$1 \x3d sci.impl.namespaces.clean_ns(clojure_core);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([clojure_core__$1,refers], 0));\n});\nsci.impl.namespaces.sci_ns_refers \x3d (function sci$impl$namespaces$sci_ns_refers(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.namespaces.sci_ns_refers_STAR_(ctx,sci_ns);\n});\nsci.impl.namespaces.sci_ns_map \x3d (function sci$impl$namespaces$sci_ns_map(sci_ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.namespaces.sci_ns_interns_STAR_(ctx,sci_ns),sci.impl.namespaces.sci_ns_refers_STAR_(ctx,sci_ns),sci.impl.namespaces.sci_ns_imports_STAR_(ctx,sci_ns)], 0));\n});\nsci.impl.namespaces.sci_ns_unmap \x3d (function sci$impl$namespaces$sci_ns_unmap(sci_ns,sym){\nvar ctx_46425 \x3d sci.ctx_store.get_ctx();\nif((sym instanceof cljs.core.Symbol)){\n} else {\nthrow (new Error(\x22Assert failed: (symbol? sym)\x22));\n}\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx_46425),(function (env){\nvar name \x3d sci.impl.namespaces.sci_ns_name_STAR_(ctx_46425,sci_ns);\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(env,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),name], null),(function (the_ns_map){\nif(cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809).cljs$core$IFn$_invoke$arity$1(the_ns_map),sym)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update.cljs$core$IFn$_invoke$arity$4(the_ns_map,new cljs.core.Keyword(null,\x22refers\x22,\x22refers\x22,158076809),cljs.core.dissoc,sym),the_ns_map,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sym], 0));\n} else {\nif(cljs.core.contains_QMARK_(the_ns_map,sym)){\nreturn cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(the_ns_map,sym);\n} else {\nif(((cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(env),sym)) || (cljs.core.contains_QMARK_(new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(the_ns_map),sym)))){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$5(the_ns_map,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),cljs.core.assoc,sym,null);\n} else {\nreturn the_ns_map;\n\n}\n}\n}\n}));\n}));\n\nreturn null;\n});\nsci.impl.namespaces.sci_ns_unalias \x3d (function sci$impl$namespaces$sci_ns_unalias(sci_ns,sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),(function (env){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(env,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),sci.impl.namespaces.sci_ns_name_STAR_(ctx,sci_ns),new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714)], null),cljs.core.dissoc,sym);\n}));\n\nreturn null;\n});\nsci.impl.namespaces.sci_all_ns \x3d (function sci$impl$namespaces$sci_all_ns(){\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx());\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar public$ \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p__45673){\nvar vec__45674 \x3d p__45673;\nvar _ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45674,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45674,(1),null);\nreturn new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994).cljs$core$IFn$_invoke$arity$1(v);\n}),namespaces);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45671_SHARP_){\nreturn sci.impl.utils.namespace_object(env,p1__45671_SHARP_,true,null);\n}),cljs.core.keys(public$));\n});\nsci.impl.namespaces.sci_remove_ns \x3d (function sci$impl$namespaces$sci_remove_ns(sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(env,cljs.core.update,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),cljs.core.dissoc,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sym], 0));\n\nreturn null;\n});\nsci.impl.namespaces.sci_intern \x3d (function sci$impl$namespaces$sci_intern(var_args){\nvar G__45686 \x3d arguments.length;\nswitch (G__45686) {\ncase 2:\nreturn sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,var_sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar ns__$1 \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns);\nvar ns_name \x3d sci.impl.types.getName(ns__$1);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar or__5025__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar var_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym));\nvar new_var \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(var_name,null,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(var_sym),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1));\nnew_var.sci$impl$vars$IVar$unbind$arity$1(null);\n\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null),new_var);\n\nreturn new_var;\n}\n}));\n\n(sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$3 \x3d (function (ns,var_sym,val){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar ns__$1 \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns);\nvar ns_name \x3d sci.impl.types.getName(ns__$1);\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar or__5025__auto__ \x3d (function (){var temp__5823__auto__ \x3d cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(env),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null));\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nsci.impl.vars.bindRoot(v,val);\n\nreturn v;\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar var_name \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_name),cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym));\nvar new_var \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(var_name,val,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(var_sym),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__$1));\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(env,cljs.core.assoc_in,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,var_sym], null),new_var);\n\nreturn new_var;\n}\n}));\n\n(sci.impl.namespaces.sci_intern.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.namespaces.sci_bound_QMARK_ \x3d (function sci$impl$namespaces$sci_bound_QMARK_(sci_var){\nvar or__5025__auto__ \x3d sci.impl.vars.hasRoot(sci_var);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn (((!((sci.impl.vars.get_thread_binding(sci_var) \x3d\x3d null)))) || (false));\n}\n});\nsci.impl.namespaces.require_STAR_ \x3d (function sci$impl$namespaces$require_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46434 \x3d arguments.length;\nvar i__5750__auto___46435 \x3d (0);\nwhile(true){\nif((i__5750__auto___46435 \x3c len__5749__auto___46434)){\nargs__5755__auto__.push((arguments[i__5750__auto___46435]));\n\nvar G__46436 \x3d (i__5750__auto___46435 + (1));\ni__5750__auto___46435 \x3d G__46436;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.namespaces.require_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.require_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (sci_ctx,args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.load.eval_require,sci_ctx,args);\n}));\n\n(sci.impl.namespaces.require_STAR_.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.namespaces.require_STAR_.cljs$lang$applyTo \x3d (function (seq45692){\nvar G__45693 \x3d cljs.core.first(seq45692);\nvar seq45692__$1 \x3d cljs.core.next(seq45692);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45693,seq45692__$1);\n}));\n\nsci.impl.namespaces.require \x3d (function sci$impl$namespaces$require(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46437 \x3d arguments.length;\nvar i__5750__auto___46438 \x3d (0);\nwhile(true){\nif((i__5750__auto___46438 \x3c len__5749__auto___46437)){\nargs__5755__auto__.push((arguments[i__5750__auto___46438]));\n\nvar G__46439 \x3d (i__5750__auto___46438 + (1));\ni__5750__auto___46438 \x3d G__46439;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.require.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.require.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.namespaces.require_STAR_,sci.ctx_store.get_ctx(),args);\n}));\n\n(sci.impl.namespaces.require.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.require.cljs$lang$applyTo \x3d (function (seq45695){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45695));\n}));\n\nsci.impl.namespaces.use \x3d (function sci$impl$namespaces$use(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46441 \x3d arguments.length;\nvar i__5750__auto___46443 \x3d (0);\nwhile(true){\nif((i__5750__auto___46443 \x3c len__5749__auto___46441)){\nargs__5755__auto__.push((arguments[i__5750__auto___46443]));\n\nvar G__46444 \x3d (i__5750__auto___46443 + (1));\ni__5750__auto___46443 \x3d G__46444;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.use.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.use.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.load.eval_use,sci.ctx_store.get_ctx(),args);\n}));\n\n(sci.impl.namespaces.use.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.use.cljs$lang$applyTo \x3d (function (seq45698){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45698));\n}));\n\nsci.impl.namespaces.sci_resolve_STAR_ \x3d (function sci$impl$namespaces$sci_resolve_STAR_(var_args){\nvar G__45704 \x3d arguments.length;\nswitch (G__45704) {\ncase 2:\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (sci_ctx,sym){\nvar G__45707 \x3d sci_ctx;\nvar G__45708 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(sci_ctx);\nvar G__45709 \x3d sym;\nvar fexpr__45706 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__45706.cljs$core$IFn$_invoke$arity$3 ? fexpr__45706.cljs$core$IFn$_invoke$arity$3(G__45707,G__45708,G__45709) : fexpr__45706.call(null,G__45707,G__45708,G__45709));\n}));\n\n(sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (sci_ctx,env,sym){\nvar G__45713 \x3d sci_ctx;\nvar G__45714 \x3d new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192).cljs$core$IFn$_invoke$arity$1(sci_ctx);\nvar G__45715 \x3d env;\nvar G__45716 \x3d sym;\nvar fexpr__45712 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__45712.cljs$core$IFn$_invoke$arity$4 ? fexpr__45712.cljs$core$IFn$_invoke$arity$4(G__45713,G__45714,G__45715,G__45716) : fexpr__45712.call(null,G__45713,G__45714,G__45715,G__45716));\n}));\n\n(sci.impl.namespaces.sci_resolve_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.namespaces.sci_resolve \x3d (function sci$impl$namespaces$sci_resolve(var_args){\nvar G__45719 \x3d arguments.length;\nswitch (G__45719) {\ncase 1:\nreturn sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(sci.ctx_store.get_ctx(),sym);\n}));\n\n(sci.impl.namespaces.sci_resolve.cljs$core$IFn$_invoke$arity$2 \x3d (function (env,sym){\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3(sci.ctx_store.get_ctx(),env,sym);\n}));\n\n(sci.impl.namespaces.sci_resolve.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.namespaces.sci_refer \x3d (function sci$impl$namespaces$sci_refer(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46449 \x3d arguments.length;\nvar i__5750__auto___46450 \x3d (0);\nwhile(true){\nif((i__5750__auto___46450 \x3c len__5749__auto___46449)){\nargs__5755__auto__.push((arguments[i__5750__auto___46450]));\n\nvar G__46451 \x3d (i__5750__auto___46450 + (1));\ni__5750__auto___46450 \x3d G__46451;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.sci_refer.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_refer.cljs$core$IFn$_invoke$arity$variadic \x3d (function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$3(sci.impl.load.eval_refer,sci.ctx_store.get_ctx(),args);\n}));\n\n(sci.impl.namespaces.sci_refer.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_refer.cljs$lang$applyTo \x3d (function (seq45721){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45721));\n}));\n\nsci.impl.namespaces.sci_refer_clojure \x3d (function sci$impl$namespaces$sci_refer_clojure(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46452 \x3d arguments.length;\nvar i__5750__auto___46453 \x3d (0);\nwhile(true){\nif((i__5750__auto___46453 \x3c len__5749__auto___46452)){\nargs__5755__auto__.push((arguments[i__5750__auto___46453]));\n\nvar G__46454 \x3d (i__5750__auto___46453 + (1));\ni__5750__auto___46453 \x3d G__46454;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.sci_refer_clojure.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_refer_clojure.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,filters){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22refer\x22,\x22cljs.core/refer\x22,269577817,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filters], 0))));\n}));\n\n(sci.impl.namespaces.sci_refer_clojure.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_refer_clojure.cljs$lang$applyTo \x3d (function (seq45728){\nvar G__45729 \x3d cljs.core.first(seq45728);\nvar seq45728__$1 \x3d cljs.core.next(seq45728);\nvar G__45730 \x3d cljs.core.first(seq45728__$1);\nvar seq45728__$2 \x3d cljs.core.next(seq45728__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45729,G__45730,seq45728__$2);\n}));\n\nsci.impl.namespaces.sci_ns_resolve \x3d (function sci$impl$namespaces$sci_ns_resolve(var_args){\nvar G__45737 \x3d arguments.length;\nswitch (G__45737) {\ncase 2:\nreturn sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns)]));\n\ntry{return sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(ctx,sym);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.namespaces.sci_ns_resolve.cljs$core$IFn$_invoke$arity$3 \x3d (function (ns,env,sym){\nvar ctx \x3d sci.ctx_store.get_ctx();\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,sci.impl.namespaces.sci_the_ns_STAR_(ctx,ns)]));\n\ntry{return sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$3(ctx,env,sym);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.namespaces.sci_ns_resolve.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.namespaces.sci_requiring_resolve \x3d (function sci$impl$namespaces$sci_requiring_resolve(sym){\nvar sci_ctx \x3d sci.ctx_store.get_ctx();\nif(cljs.core.qualified_symbol_QMARK_(sym)){\nvar or__5025__auto__ \x3d sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(sci_ctx,sym);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar namespace \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace(sym));\nsci.impl.namespaces.require_STAR_.cljs$core$IFn$_invoke$arity$variadic(sci_ctx,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([namespace], 0));\n\nreturn sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(sci_ctx,sym);\n}\n} else {\nthrow (new Error([\x22Not a qualified symbol: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)));\n}\n});\nsci.impl.namespaces.sci_find_var \x3d (function sci$impl$namespaces$sci_find_var(sym){\nif(cljs.core.qualified_symbol_QMARK_(sym)){\nvar nsname \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.namespace(sym));\nvar sym_SINGLEQUOTE_ \x3d cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.name(sym));\nvar temp__5821__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()))),nsname);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar namespace \x3d temp__5821__auto__;\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(namespace,sym_SINGLEQUOTE_);\n} else {\nthrow (new Error([\x22No such namespace: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(nsname)].join(\x27\x27)));\n}\n} else {\nthrow (new Error([\x22Not a qualified symbol: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(\x27\x27)));\n}\n});\n/**\n * Takes a map of Var/value pairs. Installs for the given Vars the associated\n * values as thread-local bindings. Then calls f with the supplied arguments.\n * Pops the installed bindings after f returned. Returns whatever f returns.\n */\nsci.impl.namespaces.with_bindings_STAR_ \x3d (function sci$impl$namespaces$with_bindings_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46460 \x3d arguments.length;\nvar i__5750__auto___46461 \x3d (0);\nwhile(true){\nif((i__5750__auto___46461 \x3c len__5749__auto___46460)){\nargs__5755__auto__.push((arguments[i__5750__auto___46461]));\n\nvar G__46462 \x3d (i__5750__auto___46461 + (1));\ni__5750__auto___46461 \x3d G__46462;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.with_bindings_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.with_bindings_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (binding_map,f,args){\nsci.impl.vars.push_thread_bindings(binding_map);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.namespaces.with_bindings_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.with_bindings_STAR_.cljs$lang$applyTo \x3d (function (seq45754){\nvar G__45755 \x3d cljs.core.first(seq45754);\nvar seq45754__$1 \x3d cljs.core.next(seq45754);\nvar G__45756 \x3d cljs.core.first(seq45754__$1);\nvar seq45754__$2 \x3d cljs.core.next(seq45754__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45755,G__45756,seq45754__$2);\n}));\n\nsci.impl.namespaces.sci_with_bindings \x3d (function sci$impl$namespaces$sci_with_bindings(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46463 \x3d arguments.length;\nvar i__5750__auto___46464 \x3d (0);\nwhile(true){\nif((i__5750__auto___46464 \x3c len__5749__auto___46463)){\nargs__5755__auto__.push((arguments[i__5750__auto___46464]));\n\nvar G__46465 \x3d (i__5750__auto___46464 + (1));\ni__5750__auto___46464 \x3d G__46465;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.sci_with_bindings.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_with_bindings.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,binding_map,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-bindings*\x22,\x22cljs.core/with-bindings*\x22,-768558084,null),null,(1),null)),(new cljs.core.List(null,binding_map,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.sci_with_bindings.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_with_bindings.cljs$lang$applyTo \x3d (function (seq45764){\nvar G__45765 \x3d cljs.core.first(seq45764);\nvar seq45764__$1 \x3d cljs.core.next(seq45764);\nvar G__45766 \x3d cljs.core.first(seq45764__$1);\nvar seq45764__$2 \x3d cljs.core.next(seq45764__$1);\nvar G__45767 \x3d cljs.core.first(seq45764__$2);\nvar seq45764__$3 \x3d cljs.core.next(seq45764__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45765,G__45766,G__45767,seq45764__$3);\n}));\n\nsci.impl.namespaces.sci_binding \x3d (function sci$impl$namespaces$sci_binding(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46467 \x3d arguments.length;\nvar i__5750__auto___46469 \x3d (0);\nwhile(true){\nif((i__5750__auto___46469 \x3c len__5749__auto___46467)){\nargs__5755__auto__.push((arguments[i__5750__auto___46469]));\n\nvar G__46470 \x3d (i__5750__auto___46469 + (1));\ni__5750__auto___46469 \x3d G__46470;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.sci_binding.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_binding.cljs$core$IFn$_invoke$arity$variadic \x3d (function (form,_,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22binding requires a vector for its bindings\x22,form);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(bindings))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22binding requires an even number of forms in binding vector\x22,form);\n}\n\nvar var_ize \x3d (function (var_vals){\nvar ret \x3d cljs.core.PersistentVector.EMPTY;\nvar vvs \x3d cljs.core.seq(var_vals);\nwhile(true){\nif(vvs){\nvar G__46471 \x3d cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),null,(1),null)),(new cljs.core.List(null,cljs.core.first(vvs),null,(1),null)))))),cljs.core.second(vvs));\nvar G__46472 \x3d cljs.core.next(cljs.core.next(vvs));\nret \x3d G__46471;\nvvs \x3d G__46472;\ncontinue;\n} else {\nreturn cljs.core.seq(ret);\n}\nbreak;\n}\n});\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22push-thread-bindings\x22,\x22cljs.core/push-thread-bindings\x22,-703482450,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22hash-map\x22,\x22cljs.core/hash-map\x22,303385767,null),null,(1),null)),var_ize(bindings)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22try\x22,\x22try\x22,-1273693247,null),null,(1),null)),body,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22finally\x22,\x22finally\x22,-1065347064,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22pop-thread-bindings\x22,\x22cljs.core/pop-thread-bindings\x22,-1994943347,null),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.sci_binding.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_binding.cljs$lang$applyTo \x3d (function (seq45777){\nvar G__45778 \x3d cljs.core.first(seq45777);\nvar seq45777__$1 \x3d cljs.core.next(seq45777);\nvar G__45779 \x3d cljs.core.first(seq45777__$1);\nvar seq45777__$2 \x3d cljs.core.next(seq45777__$1);\nvar G__45780 \x3d cljs.core.first(seq45777__$2);\nvar seq45777__$3 \x3d cljs.core.next(seq45777__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45778,G__45779,G__45780,seq45777__$3);\n}));\n\n/**\n * Returns a function, which will install the same bindings in effect as in\n * the thread at the time bound-fn* was called and then call f with any given\n * arguments. This may be used to define a helper function which runs on a\n * different thread, but needs the same bindings in place.\n */\nsci.impl.namespaces.bound_fn_STAR_ \x3d (function sci$impl$namespaces$bound_fn_STAR_(f){\nvar bindings \x3d sci.impl.vars.get_thread_bindings();\nreturn (function() { \nvar G__46475__delegate \x3d function (args){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.namespaces.with_bindings_STAR_,bindings,f,args);\n};\nvar G__46475 \x3d function (var_args){\nvar args \x3d null;\nif (arguments.length \x3e 0) {\nvar G__46476__i \x3d 0, G__46476__a \x3d new Array(arguments.length - 0);\nwhile (G__46476__i \x3c G__46476__a.length) {G__46476__a[G__46476__i] \x3d arguments[G__46476__i + 0]; ++G__46476__i;}\n args \x3d new cljs.core.IndexedSeq(G__46476__a,0,null);\n} \nreturn G__46475__delegate.call(this,args);};\nG__46475.cljs$lang$maxFixedArity \x3d 0;\nG__46475.cljs$lang$applyTo \x3d (function (arglist__46477){\nvar args \x3d cljs.core.seq(arglist__46477);\nreturn G__46475__delegate(args);\n});\nG__46475.cljs$core$IFn$_invoke$arity$variadic \x3d G__46475__delegate;\nreturn G__46475;\n})()\n;\n});\n/**\n * Returns a function defined by the given fntail, which will install the\n * same bindings in effect as in the thread at the time bound-fn was called.\n * This may be used to define a helper function which runs on a different\n * thread, but needs the same bindings in place.\n */\nsci.impl.namespaces.sci_bound_fn \x3d (function sci$impl$namespaces$sci_bound_fn(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46478 \x3d arguments.length;\nvar i__5750__auto___46479 \x3d (0);\nwhile(true){\nif((i__5750__auto___46479 \x3c len__5749__auto___46478)){\nargs__5755__auto__.push((arguments[i__5750__auto___46479]));\n\nvar G__46480 \x3d (i__5750__auto___46479 + (1));\ni__5750__auto___46479 \x3d G__46480;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.sci_bound_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_bound_fn.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,fntail){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22bound-fn*\x22,\x22cljs.core/bound-fn*\x22,-556238942,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),fntail))),null,(1),null)))));\n}));\n\n(sci.impl.namespaces.sci_bound_fn.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_bound_fn.cljs$lang$applyTo \x3d (function (seq45800){\nvar G__45803 \x3d cljs.core.first(seq45800);\nvar seq45800__$1 \x3d cljs.core.next(seq45800);\nvar G__45804 \x3d cljs.core.first(seq45800__$1);\nvar seq45800__$2 \x3d cljs.core.next(seq45800__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45803,G__45804,seq45800__$2);\n}));\n\nsci.impl.namespaces.sci_thread_bound_QMARK_ \x3d (function sci$impl$namespaces$sci_thread_bound_QMARK_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46481 \x3d arguments.length;\nvar i__5750__auto___46482 \x3d (0);\nwhile(true){\nif((i__5750__auto___46482 \x3c len__5749__auto___46481)){\nargs__5755__auto__.push((arguments[i__5750__auto___46482]));\n\nvar G__46483 \x3d (i__5750__auto___46482 + (1));\ni__5750__auto___46482 \x3d G__46483;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (vars){\nreturn cljs.core.every_QMARK_((function (p1__45814_SHARP_){\nreturn sci.impl.vars.get_thread_binding(p1__45814_SHARP_);\n}),vars);\n}));\n\n(sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_thread_bound_QMARK_.cljs$lang$applyTo \x3d (function (seq45815){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq45815));\n}));\n\nsci.impl.namespaces.sci_with_redefs_fn \x3d (function sci$impl$namespaces$sci_with_redefs_fn(binding_map,func){\nvar root_bind \x3d (function (m){\nvar seq__45822 \x3d cljs.core.seq(m);\nvar chunk__45823 \x3d null;\nvar count__45824 \x3d (0);\nvar i__45825 \x3d (0);\nwhile(true){\nif((i__45825 \x3c count__45824)){\nvar vec__45832 \x3d chunk__45823.cljs$core$IIndexed$_nth$arity$2(null,i__45825);\nvar a_var \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45832,(0),null);\nvar a_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45832,(1),null);\nsci.impl.vars.bindRoot(a_var,a_val);\n\n\nvar G__46486 \x3d seq__45822;\nvar G__46487 \x3d chunk__45823;\nvar G__46488 \x3d count__45824;\nvar G__46489 \x3d (i__45825 + (1));\nseq__45822 \x3d G__46486;\nchunk__45823 \x3d G__46487;\ncount__45824 \x3d G__46488;\ni__45825 \x3d G__46489;\ncontinue;\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__45822);\nif(temp__5823__auto__){\nvar seq__45822__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__45822__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__45822__$1);\nvar G__46490 \x3d cljs.core.chunk_rest(seq__45822__$1);\nvar G__46491 \x3d c__5548__auto__;\nvar G__46492 \x3d cljs.core.count(c__5548__auto__);\nvar G__46493 \x3d (0);\nseq__45822 \x3d G__46490;\nchunk__45823 \x3d G__46491;\ncount__45824 \x3d G__46492;\ni__45825 \x3d G__46493;\ncontinue;\n} else {\nvar vec__45837 \x3d cljs.core.first(seq__45822__$1);\nvar a_var \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45837,(0),null);\nvar a_val \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45837,(1),null);\nsci.impl.vars.bindRoot(a_var,a_val);\n\n\nvar G__46494 \x3d cljs.core.next(seq__45822__$1);\nvar G__46495 \x3d null;\nvar G__46496 \x3d (0);\nvar G__46497 \x3d (0);\nseq__45822 \x3d G__46494;\nchunk__45823 \x3d G__46495;\ncount__45824 \x3d G__46496;\ni__45825 \x3d G__46497;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\nvar old_vals \x3d cljs.core.zipmap(cljs.core.keys(binding_map),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45821_SHARP_){\nreturn sci.impl.vars.getRawRoot(p1__45821_SHARP_);\n}),cljs.core.keys(binding_map)));\ntry{root_bind(binding_map);\n\nreturn (func.cljs$core$IFn$_invoke$arity$0 ? func.cljs$core$IFn$_invoke$arity$0() : func.call(null));\n}finally {root_bind(old_vals);\n}});\nsci.impl.namespaces.sci_with_redefs \x3d (function sci$impl$namespaces$sci_with_redefs(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46498 \x3d arguments.length;\nvar i__5750__auto___46499 \x3d (0);\nwhile(true){\nif((i__5750__auto___46499 \x3c len__5749__auto___46498)){\nargs__5755__auto__.push((arguments[i__5750__auto___46499]));\n\nvar G__46500 \x3d (i__5750__auto___46499 + (1));\ni__5750__auto___46499 \x3d G__46500;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.sci_with_redefs.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.sci_with_redefs.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,bindings,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22with-redefs-fn\x22,\x22cljs.core/with-redefs-fn\x22,-1271194088,null),null,(1),null)),(new cljs.core.List(null,cljs.core.zipmap(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45842_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22var\x22,\x22var\x22,870848730,null),(new cljs.core.List(null,p1__45842_SHARP_,null,(1),null)),(2),null));\n}),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),bindings)),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.next(bindings))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.sci_with_redefs.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.sci_with_redefs.cljs$lang$applyTo \x3d (function (seq45844){\nvar G__45845 \x3d cljs.core.first(seq45844);\nvar seq45844__$1 \x3d cljs.core.next(seq45844);\nvar G__45846 \x3d cljs.core.first(seq45844__$1);\nvar seq45844__$2 \x3d cljs.core.next(seq45844__$1);\nvar G__45847 \x3d cljs.core.first(seq45844__$2);\nvar seq45844__$3 \x3d cljs.core.next(seq45844__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45845,G__45846,G__45847,seq45844__$3);\n}));\n\n/**\n * Returns a Symbol with the given namespace and name. Arity-1 works\n * on strings, keywords, and vars.\n */\nsci.impl.namespaces.symbol_STAR_ \x3d (function sci$impl$namespaces$symbol_STAR_(var_args){\nvar G__45854 \x3d arguments.length;\nswitch (G__45854) {\ncase 1:\nreturn sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nif(sci.impl.utils.var_QMARK_(name)){\nvar m \x3d cljs.core.meta(name);\nvar ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nvar nm \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d ns;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn nm;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(ns)),cljs.core.name(nm));\n} else {\nreturn null;\n}\n} else {\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name);\n}\n}));\n\n(sci.impl.namespaces.symbol_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ns,name){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(ns,name);\n}));\n\n(sci.impl.namespaces.symbol_STAR_.cljs$lang$maxFixedArity \x3d 2);\n\nsci.impl.namespaces.macroexpand_STAR_ \x3d (function sci$impl$namespaces$macroexpand_STAR_(expr){\nreturn sci.impl.macroexpand.macroexpand(sci.ctx_store.get_ctx(),expr);\n});\nsci.impl.namespaces.macroexpand_1_STAR_ \x3d (function sci$impl$namespaces$macroexpand_1_STAR_(expr){\nreturn sci.impl.macroexpand.macroexpand_1(sci.ctx_store.get_ctx(),expr);\n});\nsci.impl.namespaces._create_type \x3d (function sci$impl$namespaces$_create_type(data){\nreturn (new sci.lang.Type(data,null,null));\n});\nsci.impl.namespaces.sci_impl_records \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22sci.impl.records\x22,\x22sci.impl.records\x22,-393424368,null),null),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Symbol(null,\x22toString\x22,\x22toString\x22,-95766347,null),sci.impl.records.to_string,new cljs.core.Symbol(null,\x22-create-record-type\x22,\x22-create-record-type\x22,-1472918739,null),sci.impl.namespaces._create_type,new cljs.core.Symbol(null,\x22-\x3erecord-impl\x22,\x22-\x3erecord-impl\x22,1274709757,null),sci.impl.records.__GT_record_impl], null);\nsci.impl.namespaces.sci_impl_deftype \x3d new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22sci.impl.deftype\x22,\x22sci.impl.deftype\x22,959784924,null),null),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Symbol(null,\x22toString\x22,\x22toString\x22,-95766347,null),sci.impl.deftype.to_string,new cljs.core.Symbol(null,\x22-create-type\x22,\x22-create-type\x22,805234013,null),sci.impl.namespaces._create_type,new cljs.core.Symbol(null,\x22-\x3etype-impl\x22,\x22-\x3etype-impl\x22,483401048,null),sci.impl.deftype.__GT_type_impl,new cljs.core.Symbol(null,\x22-inner-impl\x22,\x22-inner-impl\x22,-1295431849,null),sci.impl.types.getVal,new cljs.core.Symbol(null,\x22-mutate\x22,\x22-mutate\x22,-795549165,null),sci.impl.types._mutate,new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),sci.impl.types.type_impl], null);\nsci.impl.namespaces.sci_impl_protocols \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22sci.impl.protocols\x22,\x22sci.impl.protocols\x22,-697012432,null),null),new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Symbol(null,\x22type-\x3estr\x22,\x22type-\x3estr\x22,360030041,null),sci.impl.protocols.type__GT_str], null);\nsci.impl.namespaces._STAR_1 \x3d sci.impl.namespaces._STAR_1;\nsci.impl.namespaces._STAR_2 \x3d sci.impl.namespaces._STAR_2;\nsci.impl.namespaces._STAR_3 \x3d sci.impl.namespaces._STAR_3;\nsci.impl.namespaces._STAR_e \x3d sci.impl.namespaces._STAR_e;\nsci.impl.namespaces.type \x3d (function sci$impl$namespaces$type(x){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.meta(x),new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.type(x);\n}\n});\n/**\n * Atomically sets the metadata for a namespace/var/ref/agent/atom to be:\n * \n * (apply f its-current-meta args)\n * \n * f must be free of side-effects\n */\nsci.impl.namespaces.alter_meta_BANG_ \x3d (function sci$impl$namespaces$alter_meta_BANG_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46505 \x3d arguments.length;\nvar i__5750__auto___46506 \x3d (0);\nwhile(true){\nif((i__5750__auto___46506 \x3c len__5749__auto___46505)){\nargs__5755__auto__.push((arguments[i__5750__auto___46506]));\n\nvar G__46507 \x3d (i__5750__auto___46506 + (1));\ni__5750__auto___46506 \x3d G__46507;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (iref,f,args){\nvar m \x3d cljs.core.meta(iref);\nif(cljs.core.not(new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599).cljs$core$IFn$_invoke$arity$1(m))){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.alter_meta_BANG_,iref,f,args);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2([\x22Built-in var \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(iref),\x22 is read-only.\x22].join(\x27\x27),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797),iref], null));\n}\n}));\n\n(sci.impl.namespaces.alter_meta_BANG_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.alter_meta_BANG_.cljs$lang$applyTo \x3d (function (seq45864){\nvar G__45865 \x3d cljs.core.first(seq45864);\nvar seq45864__$1 \x3d cljs.core.next(seq45864);\nvar G__45866 \x3d cljs.core.first(seq45864__$1);\nvar seq45864__$2 \x3d cljs.core.next(seq45864__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45865,G__45866,seq45864__$2);\n}));\n\nsci.impl.namespaces.let_STAR__STAR_ \x3d (function sci$impl$namespaces$let_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46509 \x3d arguments.length;\nvar i__5750__auto___46510 \x3d (0);\nwhile(true){\nif((i__5750__auto___46510 \x3c len__5749__auto___46509)){\nargs__5755__auto__.push((arguments[i__5750__auto___46510]));\n\nvar G__46511 \x3d (i__5750__auto___46510 + (1));\ni__5750__auto___46510 \x3d G__46511;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.let_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.let_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (expr,_,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires a vector for its binding\x22,expr);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(bindings))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires an even number of forms in binding vector\x22,expr);\n}\n\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22let*\x22,\x22let*\x22,1920721458,null),null,(1),null)),(new cljs.core.List(null,sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$2(bindings,cljs.core.meta(expr)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0))));\n}));\n\n(sci.impl.namespaces.let_STAR__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.let_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq45870){\nvar G__45871 \x3d cljs.core.first(seq45870);\nvar seq45870__$1 \x3d cljs.core.next(seq45870);\nvar G__45872 \x3d cljs.core.first(seq45870__$1);\nvar seq45870__$2 \x3d cljs.core.next(seq45870__$1);\nvar G__45873 \x3d cljs.core.first(seq45870__$2);\nvar seq45870__$3 \x3d cljs.core.next(seq45870__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45871,G__45872,G__45873,seq45870__$3);\n}));\n\nsci.impl.namespaces.loop_STAR__STAR_ \x3d (function sci$impl$namespaces$loop_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46512 \x3d arguments.length;\nvar i__5750__auto___46513 \x3d (0);\nwhile(true){\nif((i__5750__auto___46513 \x3c len__5749__auto___46512)){\nargs__5755__auto__.push((arguments[i__5750__auto___46513]));\n\nvar G__46514 \x3d (i__5750__auto___46513 + (1));\ni__5750__auto___46513 \x3d G__46514;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.loop_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.loop_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (expr,_,bindings,body){\nif(cljs.core.vector_QMARK_(bindings)){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires a vector for its binding\x22,expr);\n}\n\nif(cljs.core.even_QMARK_(cljs.core.count(bindings))){\n} else {\nsci.impl.utils.throw_error_with_location.cljs$core$IFn$_invoke$arity$2(\x22let requires an even number of forms in binding vector\x22,expr);\n}\n\nvar db \x3d ((cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,bindings))?bindings:sci.impl.destructure.destructure.cljs$core$IFn$_invoke$arity$1(bindings));\nif((db \x3d\x3d\x3d bindings)){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),null,(1),null)),(new cljs.core.List(null,bindings,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0))));\n} else {\nvar vs \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),bindings));\nvar bs \x3d cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),bindings);\nvar gs \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (b){\nif((b instanceof cljs.core.Symbol)){\nreturn b;\n} else {\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n}\n}),bs);\nvar bfs \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,p__45882){\nvar vec__45883 \x3d p__45882;\nvar b \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45883,(0),null);\nvar v \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45883,(1),null);\nvar g \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__45883,(2),null);\nif((b instanceof cljs.core.Symbol)){\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,g,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v], 0));\n} else {\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(ret,g,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([v,b,g], 0));\n}\n}),cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(cljs.core.vector,bs,vs,gs));\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,bfs,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22loop*\x22,\x22loop*\x22,615029416,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(gs,gs)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(bs,gs)),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}\n}));\n\n(sci.impl.namespaces.loop_STAR__STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.loop_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq45877){\nvar G__45878 \x3d cljs.core.first(seq45877);\nvar seq45877__$1 \x3d cljs.core.next(seq45877);\nvar G__45879 \x3d cljs.core.first(seq45877__$1);\nvar seq45877__$2 \x3d cljs.core.next(seq45877__$1);\nvar G__45880 \x3d cljs.core.first(seq45877__$2);\nvar seq45877__$3 \x3d cljs.core.next(seq45877__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45878,G__45879,G__45880,seq45877__$3);\n}));\n\n/**\n * This is a macro for compatiblity. Only there for docs and macroexpand, faster impl in analyzer.cljc\n */\nsci.impl.namespaces.or_STAR_ \x3d (function sci$impl$namespaces$or_STAR_(var_args){\nvar G__45894 \x3d arguments.length;\nswitch (G__45894) {\ncase 2:\nreturn sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46518 \x3d arguments.length;\nvar i__5750__auto___46519 \x3d (0);\nwhile(true){\nif((i__5750__auto___46519 \x3c len__5749__auto___46518)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46519]));\n\nvar G__46520 \x3d (i__5750__auto___46519 + (1));\ni__5750__auto___46519 \x3d G__46520;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,___$1){\nreturn null;\n}));\n\n(sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (_,___$1,x){\nreturn x;\n}));\n\n(sci.impl.namespaces.or_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,next){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22or__45888__auto__\x22,\x22or__45888__auto__\x22,1771188091,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22or__45888__auto__\x22,\x22or__45888__auto__\x22,1771188091,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22or__45888__auto__\x22,\x22or__45888__auto__\x22,1771188091,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),next))),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.or_STAR_.cljs$lang$applyTo \x3d (function (seq45890){\nvar G__45891 \x3d cljs.core.first(seq45890);\nvar seq45890__$1 \x3d cljs.core.next(seq45890);\nvar G__45892 \x3d cljs.core.first(seq45890__$1);\nvar seq45890__$2 \x3d cljs.core.next(seq45890__$1);\nvar G__45893 \x3d cljs.core.first(seq45890__$2);\nvar seq45890__$3 \x3d cljs.core.next(seq45890__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45891,G__45892,G__45893,seq45890__$3);\n}));\n\n(sci.impl.namespaces.or_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * This is a macro for compatiblity. Only there for docs and macroexpand, faster impl in analyzer.cljc\n */\nsci.impl.namespaces.and_STAR_ \x3d (function sci$impl$namespaces$and_STAR_(var_args){\nvar G__45903 \x3d arguments.length;\nswitch (G__45903) {\ncase 2:\nreturn sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___46523 \x3d arguments.length;\nvar i__5750__auto___46524 \x3d (0);\nwhile(true){\nif((i__5750__auto___46524 \x3c len__5749__auto___46523)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___46524]));\n\nvar G__46525 \x3d (i__5750__auto___46524 + (1));\ni__5750__auto___46524 \x3d G__46525;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((3) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (_,___$1){\nreturn true;\n}));\n\n(sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (_,___$1,x){\nreturn x;\n}));\n\n(sci.impl.namespaces.and_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,x,next){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22and__45897__auto__\x22,\x22and__45897__auto__\x22,-202130341,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22and__45897__auto__\x22,\x22and__45897__auto__\x22,-202130341,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22and\x22,\x22cljs.core/and\x22,-6692549,null),null,(1),null)),next))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22and__45897__auto__\x22,\x22and__45897__auto__\x22,-202130341,null),null,(1),null))], 0)))),null,(1),null))], 0))));\n}));\n\n/** @this {Function} */\n(sci.impl.namespaces.and_STAR_.cljs$lang$applyTo \x3d (function (seq45899){\nvar G__45900 \x3d cljs.core.first(seq45899);\nvar seq45899__$1 \x3d cljs.core.next(seq45899);\nvar G__45901 \x3d cljs.core.first(seq45899__$1);\nvar seq45899__$2 \x3d cljs.core.next(seq45899__$1);\nvar G__45902 \x3d cljs.core.first(seq45899__$2);\nvar seq45899__$3 \x3d cljs.core.next(seq45899__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45900,G__45901,G__45902,seq45899__$3);\n}));\n\n(sci.impl.namespaces.and_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/**\n * This is a macro for compatiblity. Only there for docs and macroexpand, faster impl in analyzer.cljc\n */\nsci.impl.namespaces.case_STAR__STAR_ \x3d (function sci$impl$namespaces$case_STAR__STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46527 \x3d arguments.length;\nvar i__5750__auto___46528 \x3d (0);\nwhile(true){\nif((i__5750__auto___46528 \x3c len__5749__auto___46527)){\nargs__5755__auto__.push((arguments[i__5750__auto___46528]));\n\nvar G__46529 \x3d (i__5750__auto___46528 + (1));\ni__5750__auto___46528 \x3d G__46529;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.case_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.case_STAR__STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22case*\x22,\x22case*\x22,-1938255072,null),null,(1),null)),body)));\n}));\n\n(sci.impl.namespaces.case_STAR__STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.case_STAR__STAR_.cljs$lang$applyTo \x3d (function (seq45906){\nvar G__45907 \x3d cljs.core.first(seq45906);\nvar seq45906__$1 \x3d cljs.core.next(seq45906);\nvar G__45908 \x3d cljs.core.first(seq45906__$1);\nvar seq45906__$2 \x3d cljs.core.next(seq45906__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45907,G__45908,seq45906__$2);\n}));\n\nsci.impl.namespaces.loaded_libs_STAR__STAR_ \x3d (function sci$impl$namespaces$loaded_libs_STAR__STAR_(syms){\nreturn sci.impl.utils.dynamic_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null),cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.sorted_set(),syms)),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22A ref to a sorted set of symbols representing loaded libs\x22,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns,new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true], null));\n});\nsci.impl.namespaces.loaded_libs_STAR_ \x3d (function sci$impl$namespaces$loaded_libs_STAR_(){\nreturn cljs.core.deref(cljs.core.deref(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()))),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)),new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null))));\n});\nsci.impl.namespaces._add_loaded_lib \x3d (function sci$impl$namespaces$_add_loaded_lib(name){\nsci.impl.load.add_loaded_lib(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx())),name);\n\nreturn null;\n});\nsci.impl.namespaces.ns_STAR_ \x3d (function sci$impl$namespaces$ns_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46530 \x3d arguments.length;\nvar i__5750__auto___46531 \x3d (0);\nwhile(true){\nif((i__5750__auto___46531 \x3c len__5749__auto___46530)){\nargs__5755__auto__.push((arguments[i__5750__auto___46531]));\n\nvar G__46532 \x3d (i__5750__auto___46531 + (1));\ni__5750__auto___46531 \x3d G__46532;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((3) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);\nreturn sci.impl.namespaces.ns_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.ns_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_form,_,name,references){\nvar process_reference \x3d (function (p__45920){\nvar vec__45921 \x3d p__45920;\nvar seq__45922 \x3d cljs.core.seq(vec__45921);\nvar first__45923 \x3d cljs.core.first(seq__45922);\nvar seq__45922__$1 \x3d cljs.core.next(seq__45922);\nvar kname \x3d first__45923;\nvar args \x3d seq__45922__$1;\nvar expr \x3d vec__45921;\nreturn cljs.core.with_meta(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22clojure.core\x22,cljs.core.name(kname)),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45911_SHARP_){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),(new cljs.core.List(null,p1__45911_SHARP_,null,(1),null)),(2),null));\n}),args)))),cljs.core.meta(expr));\n});\nvar docstring \x3d ((typeof cljs.core.first(references) \x3d\x3d\x3d \x27string\x27)?cljs.core.first(references):null);\nvar references__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.next(references):references);\nvar name__$1 \x3d (cljs.core.truth_(docstring)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(name,cljs.core.assoc,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),docstring):name);\nvar metadata \x3d ((cljs.core.map_QMARK_(cljs.core.first(references__$1)))?cljs.core.first(references__$1):null);\nvar references__$2 \x3d (cljs.core.truth_(metadata)?cljs.core.next(references__$1):references__$1);\nvar name__$2 \x3d (cljs.core.truth_(metadata)?cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3(name__$1,cljs.core.merge,metadata):name__$1);\nvar references__$3 \x3d cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__45913_SHARP_){\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22gen-class\x22,\x22gen-class\x22,-426712454),cljs.core.first(p1__45913_SHARP_));\n}),references__$2);\nvar name_metadata \x3d cljs.core.meta(name__$2);\nvar exp \x3d cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22in-ns\x22,\x22cljs.core/in-ns\x22,1807208747,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(cljs.core.truth_(name_metadata)?cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22alter-meta!\x22,\x22cljs.core/alter-meta!\x22,574694262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22find-ns\x22,\x22cljs.core/find-ns\x22,-486459417,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22constantly\x22,\x22cljs.core/constantly\x22,119002258,null),null,(1),null)),(new cljs.core.List(null,name_metadata,null,(1),null))))),null,(1),null))], 0)))):null),cljs.core.map.cljs$core$IFn$_invoke$arity$2(process_reference,references__$3),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22if\x22,\x22if\x22,1181717262,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22\x3d\x22,\x22cljs.core/\x3d\x22,-1891498332,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-add-loaded-lib\x22,\x22cljs.core/-add-loaded-lib\x22,-38500354,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,name__$2,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null))], 0)))),null,(1),null))], 0)))),null,(1),null))], 0))));\nreturn exp;\n}));\n\n(sci.impl.namespaces.ns_STAR_.cljs$lang$maxFixedArity \x3d (3));\n\n/** @this {Function} */\n(sci.impl.namespaces.ns_STAR_.cljs$lang$applyTo \x3d (function (seq45915){\nvar G__45916 \x3d cljs.core.first(seq45915);\nvar seq45915__$1 \x3d cljs.core.next(seq45915);\nvar G__45917 \x3d cljs.core.first(seq45915__$1);\nvar seq45915__$2 \x3d cljs.core.next(seq45915__$1);\nvar G__45918 \x3d cljs.core.first(seq45915__$2);\nvar seq45915__$3 \x3d cljs.core.next(seq45915__$2);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45916,G__45917,G__45918,seq45915__$3);\n}));\n\nsci.impl.namespaces.lazy_seq_STAR_ \x3d (function sci$impl$namespaces$lazy_seq_STAR_(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46538 \x3d arguments.length;\nvar i__5750__auto___46539 \x3d (0);\nwhile(true){\nif((i__5750__auto___46539 \x3c len__5749__auto___46538)){\nargs__5755__auto__.push((arguments[i__5750__auto___46539]));\n\nvar G__46540 \x3d (i__5750__auto___46539 + (1));\ni__5750__auto___46539 \x3d G__46540;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((2) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((2)),(0),null)):null);\nreturn sci.impl.namespaces.lazy_seq_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.lazy_seq_STAR_.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,body){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22new\x22,\x22new\x22,-444906321,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22LazySeq\x22,\x22cljs.core/LazySeq\x22,1986389673,null),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22fn\x22,\x22cljs.core/fn\x22,-1065745098,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$0()))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([body], 0)))),null,(1),null)),(new cljs.core.List(null,null,null,(1),null)),(new cljs.core.List(null,null,null,(1),null))], 0))));\n}));\n\n(sci.impl.namespaces.lazy_seq_STAR_.cljs$lang$maxFixedArity \x3d (2));\n\n/** @this {Function} */\n(sci.impl.namespaces.lazy_seq_STAR_.cljs$lang$applyTo \x3d (function (seq45926){\nvar G__45927 \x3d cljs.core.first(seq45926);\nvar seq45926__$1 \x3d cljs.core.next(seq45926);\nvar G__45928 \x3d cljs.core.first(seq45926__$1);\nvar seq45926__$2 \x3d cljs.core.next(seq45926__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45927,G__45928,seq45926__$2);\n}));\n\n/**\n * Evaluates expr and prints the time it took. Returns the value of expr.\n */\nsci.impl.namespaces.time \x3d (function sci$impl$namespaces$time(_,___$1,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__45930__auto__\x22,\x22start__45930__auto__\x22,-899264413,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__45931__auto__\x22,\x22ret__45931__auto__\x22,-1077498905,null),null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22prn\x22,\x22cljs.core/prn\x22,1725204552,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Elapsed time: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.toFixed\x22,\x22.toFixed\x22,-895046938,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x22,\x22cljs.core/-\x22,187040141,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__45930__auto__\x22,\x22start__45930__auto__\x22,-899264413,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,(6),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,\x22 msecs\x22,null,(1),null))], 0)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__45931__auto__\x22,\x22ret__45931__auto__\x22,-1077498905,null),null,(1),null))], 0))));\n});\n/**\n * Return true if argument exists, analogous to usage of typeof operator\n * in JavaScript.\n */\nsci.impl.namespaces.exists_QMARK_ \x3d (function sci$impl$namespaces$exists_QMARK_(_,__AMPERSAND_env,x){\nvar ctx \x3d sci.ctx_store.get_ctx();\nif((x instanceof cljs.core.Symbol)){\nif(cljs.core.qualified_symbol_QMARK_(x)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22js\x22,cljs.core.namespace(x))){\nvar splits \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(cljs.core.name(x),\x22.\x22);\nreturn cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(\x22cljs.core\x22,\x22and\x22,\x22cljs.core/and\x22,-6692549,null),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (accessor){\nreturn (new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22not\x22,\x22cljs.core/not\x22,100665144,null),(new cljs.core.List(null,(new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22undefined?\x22,\x22cljs.core/undefined?\x22,-1206515693,null),(new cljs.core.List(null,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(\x22js\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(accessor)),null,(1),null)),(2),null)),null,(1),null)),(2),null));\n}),cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (acc,split){\nvar new_sym \x3d (function (){var la \x3d cljs.core.last(acc);\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(la),(cljs.core.truth_(la)?\x22.\x22:null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(split)].join(\x27\x27);\n})();\nreturn cljs.core.conj.cljs$core$IFn$_invoke$arity$2(acc,new_sym);\n}),cljs.core.PersistentVector.EMPTY,splits)));\n} else {\nreturn cljs.core.boolean$((function (){try{return sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,x,null,null);\n}catch (e45934){var ___$1 \x3d e45934;\nreturn null;\n}})());\n}\n} else {\nreturn ((cljs.core.boolean$(sci.impl.namespaces.sci_find_ns_STAR_(ctx,x))) || (cljs.core.boolean$((function (){try{return sci.impl.resolve.resolve_symbol.cljs$core$IFn$_invoke$arity$4(ctx,x,null,null);\n}catch (e45935){var ___$1 \x3d e45935;\nreturn null;\n}})())));\n}\n} else {\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22some?\x22,\x22cljs.core/some?\x22,-440439360,null),null,(1),null)),(new cljs.core.List(null,x,null,(1),null)))));\n}\n});\nsci.impl.namespaces.eval_STAR_ \x3d (function sci$impl$namespaces$eval_STAR_(form){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn sci.impl.utils.eval(ctx,form);\n});\nsci.impl.namespaces.clojure_core \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22unchecked-char\x22,\x22unchecked-char\x22,1662742943,null),new cljs.core.Symbol(null,\x22*print-fn*\x22,\x22*print-fn*\x22,138509853,null),new cljs.core.Symbol(null,\x22sorted-set\x22,\x22sorted-set\x22,992325424,null),new cljs.core.Symbol(null,\x22true?\x22,\x22true?\x22,-1600332395,null),new cljs.core.Symbol(null,\x22pop!\x22,\x22pop!\x22,-1253383511,null),new cljs.core.Symbol(null,\x22deftype\x22,\x22deftype\x22,1980826088,null),new cljs.core.Symbol(null,\x22unchecked-byte\x22,\x22unchecked-byte\x22,1091664664,null),new cljs.core.Symbol(null,\x22unchecked-set\x22,\x22unchecked-set\x22,-986164507,null),new cljs.core.Symbol(null,\x22*2\x22,\x22*2\x22,1728229926,null),new cljs.core.Symbol(null,\x22doto\x22,\x22doto\x22,1252536074,null),new cljs.core.Symbol(null,\x22reduce-kv\x22,\x22reduce-kv\x22,1856296400,null),new cljs.core.Symbol(null,\x22defmethod\x22,\x22defmethod\x22,-579171823,null),new cljs.core.Symbol(null,\x22update-in\x22,\x22update-in\x22,-1445516941,null),new cljs.core.Symbol(null,\x22prefer-method\x22,\x22prefer-method\x22,-876100205,null),new cljs.core.Symbol(null,\x22derive\x22,\x22derive\x22,1727397303,null),new cljs.core.Symbol(null,\x22nfirst\x22,\x22nfirst\x22,-554736533,null),new cljs.core.Symbol(null,\x22sort-by\x22,\x22sort-by\x22,1317932224,null),new cljs.core.Symbol(null,\x22*data-readers*\x22,\x22*data-readers*\x22,1269051058,null),new cljs.core.Symbol(null,\x22keys\x22,\x22keys\x22,-1586012071,null),new cljs.core.Symbol(null,\x22ancestors\x22,\x22ancestors\x22,864486103,null),new cljs.core.Symbol(null,\x22first\x22,\x22first\x22,996428481,null),new cljs.core.Symbol(null,\x22butlast\x22,\x22butlast\x22,1573039585,null),new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),new cljs.core.Symbol(null,\x22with-out-str\x22,\x22with-out-str\x22,-140201577,null),new cljs.core.Symbol(null,\x22partition-by\x22,\x22partition-by\x22,-1329938249,null),new cljs.core.Symbol(null,\x22uri?\x22,\x22uri?\x22,2029475116,null),new cljs.core.Symbol(null,\x22map-entry?\x22,\x22map-entry?\x22,1140615277,null),new cljs.core.Symbol(null,\x22simple-keyword?\x22,\x22simple-keyword?\x22,-367134735,null),new cljs.core.Symbol(null,\x22into-array\x22,\x22into-array\x22,-1875808354,null),new cljs.core.Symbol(null,\x22ns-refers\x22,\x22ns-refers\x22,-2030918515,null),new cljs.core.Symbol(null,\x22rest\x22,\x22rest\x22,398835108,null),new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),new cljs.core.Symbol(null,\x22seq\x22,\x22seq\x22,-177272256,null),new cljs.core.Symbol(null,\x22unchecked-inc-int\x22,\x22unchecked-inc-int\x22,1402783397,null),new cljs.core.Symbol(null,\x22hash-combine\x22,\x22hash-combine\x22,1136881997,null),new cljs.core.Symbol(null,\x22ns-unalias\x22,\x22ns-unalias\x22,445102632,null),new cljs.core.Symbol(null,\x22odd?\x22,\x22odd?\x22,-1458588199,null),new cljs.core.Symbol(null,\x22partition\x22,\x22partition\x22,-1479695018,null),new cljs.core.Symbol(null,\x22\x3e\x3d\x22,\x22\x3e\x3d\x22,1016916022,null),new cljs.core.Symbol(null,\x22fnext\x22,\x22fnext\x22,1424835295,null),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Symbol(null,\x22bit-or\x22,\x22bit-or\x22,-1144943723,null),new cljs.core.Symbol(null,\x22disj\x22,\x22disj\x22,-1076545178,null),new cljs.core.Symbol(null,\x22with-redefs-fn\x22,\x22with-redefs-fn\x22,-595725379,null),new cljs.core.Symbol(null,\x22-new-var\x22,\x22-new-var\x22,1200468147,null),new cljs.core.Symbol(null,\x22unchecked-short\x22,\x22unchecked-short\x22,27848057,null),new cljs.core.Symbol(null,\x22ffirst\x22,\x22ffirst\x22,-694902000,null),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Symbol(null,\x22munge\x22,\x22munge\x22,-174396700,null),new cljs.core.Symbol(null,\x22*file*\x22,\x22*file*\x22,624866474,null),new cljs.core.Symbol(null,\x22unchecked-negate-int\x22,\x22unchecked-negate-int\x22,-825297602,null),new cljs.core.Symbol(null,\x22print-str\x22,\x22print-str\x22,-699700354,null),new cljs.core.Symbol(null,\x22vreset!\x22,\x22vreset!\x22,1237177091,null),new cljs.core.Symbol(null,\x22uuid?\x22,\x22uuid?\x22,400077689,null),new cljs.core.Symbol(null,\x22reset!\x22,\x22reset!\x22,527275632,null),new cljs.core.Symbol(null,\x22IRecord\x22,\x22IRecord\x22,-903221169,null),new cljs.core.Symbol(null,\x22memfn\x22,\x22memfn\x22,-881453486,null),new cljs.core.Symbol(null,\x22atom\x22,\x22atom\x22,1243487874,null),new cljs.core.Symbol(null,\x22select-keys\x22,\x22select-keys\x22,-708556589,null),new cljs.core.Symbol(null,\x22reverse\x22,\x22reverse\x22,752076261,null),new cljs.core.Symbol(null,\x22ex-message\x22,\x22ex-message\x22,-1128293394,null),new cljs.core.Symbol(null,\x22special-symbol?\x22,\x22special-symbol?\x22,-731144617,null),new cljs.core.Symbol(null,\x22merge\x22,\x22merge\x22,-163787882,null),new cljs.core.Symbol(null,\x22inst-ms\x22,\x22inst-ms\x22,-653961375,null),new cljs.core.Symbol(null,\x22newline\x22,\x22newline\x22,-864364446,null),new cljs.core.Symbol(null,\x22unchecked-multiply\x22,\x22unchecked-multiply\x22,-1019161490,null),new cljs.core.Symbol(null,\x22*print-readably*\x22,\x22*print-readably*\x22,-761361221,null),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Symbol(null,\x22chunked-seq?\x22,\x22chunked-seq?\x22,1044846168,null),new cljs.core.Symbol(null,\x22inst?\x22,\x22inst?\x22,1614698981,null),new cljs.core.Symbol(null,\x22random-sample\x22,\x22random-sample\x22,-914181101,null),new cljs.core.Symbol(null,\x22\x3e\x22,\x22\x3e\x22,1085014381,null),new cljs.core.Symbol(null,\x22*read-eval*\x22,\x22*read-eval*\x22,1122065414,null),new cljs.core.Symbol(null,\x22count\x22,\x22count\x22,-514511684,null),new cljs.core.Symbol(null,\x22simple-ident?\x22,\x22simple-ident?\x22,194189851,null),new cljs.core.Symbol(null,\x22ns-name\x22,\x22ns-name\x22,-436814796,null),new cljs.core.Symbol(null,\x22*1\x22,\x22*1\x22,2110258092,null),new cljs.core.Symbol(null,\x22last\x22,\x22last\x22,-1548700637,null),new cljs.core.Symbol(null,\x22bit-shift-left\x22,\x22bit-shift-left\x22,-1814765981,null),new cljs.core.Symbol(null,\x22int\x22,\x22int\x22,-100885395,null),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Symbol(null,\x22unchecked-negate\x22,\x22unchecked-negate\x22,-1669067451,null),new cljs.core.Symbol(null,\x22volatile?\x22,\x22volatile?\x22,-984469558,null),new cljs.core.Symbol(null,\x22multi-fn-impl\x22,\x22multi-fn-impl\x22,187651105,null),new cljs.core.Symbol(null,\x22unchecked-remainder-int\x22,\x22unchecked-remainder-int\x22,1427188224,null),new cljs.core.Symbol(null,\x22byte\x22,\x22byte\x22,-1970660549,null),new cljs.core.Symbol(null,\x22conj!\x22,\x22conj!\x22,-841007895,null),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.Symbol(null,\x22println\x22,\x22println\x22,-733595439,null),new cljs.core.Symbol(null,\x22defprotocol\x22,\x22defprotocol\x22,1388695348,null),new cljs.core.Symbol(null,\x22int?\x22,\x22int?\x22,1799729645,null),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Symbol(null,\x22loaded-libs\x22,\x22loaded-libs\x22,484141875,null),new cljs.core.Symbol(null,\x22long-array\x22,\x22long-array\x22,217579190,null),new cljs.core.Symbol(null,\x22find\x22,\x22find\x22,2136810983,null),new cljs.core.Symbol(null,\x22vals\x22,\x22vals\x22,-1886377036,null),new cljs.core.Symbol(null,\x22nil?\x22,\x22nil?\x22,1612038930,null),new cljs.core.Symbol(null,\x22flush\x22,\x22flush\x22,501820328,null),new cljs.core.Symbol(null,\x22hash\x22,\x22hash\x22,1626749931,null),new cljs.core.Symbol(null,\x22pr\x22,\x22pr\x22,1056937027,null),new cljs.core.Symbol(null,\x22destructure\x22,\x22destructure\x22,1731452410,null),new cljs.core.Symbol(null,\x22unchecked-subtract\x22,\x22unchecked-subtract\x22,-2137458667,null),new cljs.core.Symbol(null,\x22comment\x22,\x22comment\x22,-2122229700,null),new cljs.core.Symbol(null,\x22with-redefs\x22,\x22with-redefs\x22,-1143728263,null),new cljs.core.Symbol(null,\x22js-delete\x22,\x22js-delete\x22,170306730,null),new cljs.core.Symbol(null,\x22float?\x22,\x22float?\x22,673884616,null),new cljs.core.Symbol(null,\x22second\x22,\x22second\x22,1195829517,null),new cljs.core.Symbol(null,\x22extend-protocol\x22,\x22extend-protocol\x22,306378578,null),new cljs.core.Symbol(null,\x22*err*\x22,\x22*err*\x22,2070937226,null),new cljs.core.Symbol(null,\x22array?\x22,\x22array?\x22,-1249008197,null),new cljs.core.Symbol(null,\x22chunk-first\x22,\x22chunk-first\x22,1379046752,null),new cljs.core.Symbol(null,\x22alias\x22,\x22alias\x22,-399220103,null),new cljs.core.Symbol(null,\x22-write\x22,\x22-write\x22,1999625154,null),new cljs.core.Symbol(null,\x22unchecked-add-int\x22,\x22unchecked-add-int\x22,-1821763285,null),new cljs.core.Symbol(null,\x22ifn?\x22,\x22ifn?\x22,-2106461064,null),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Symbol(null,\x22ex-info\x22,\x22ex-info\x22,-539875240,null),new cljs.core.Symbol(null,\x22inc\x22,\x22inc\x22,324505433,null),new cljs.core.Symbol(null,\x22/\x22,\x22/\x22,-1371932971,null),new cljs.core.Symbol(null,\x22amap\x22,\x22amap\x22,635923055,null),new cljs.core.Symbol(null,\x22volatile!\x22,\x22volatile!\x22,919368405,null),new cljs.core.Symbol(null,\x22with-meta\x22,\x22with-meta\x22,73674707,null),new cljs.core.Symbol(null,\x22map?\x22,\x22map?\x22,-1780568534,null),new cljs.core.Symbol(null,\x22vector?\x22,\x22vector?\x22,-61367869,null),new cljs.core.Symbol(null,\x22-\x3e\x3e\x22,\x22-\x3e\x3e\x22,-1874332161,null),new cljs.core.Symbol(null,\x22quot\x22,\x22quot\x22,-1125214196,null),new cljs.core.Symbol(null,\x22any?\x22,\x22any?\x22,-318999933,null),new cljs.core.Symbol(null,\x22*print-newline*\x22,\x22*print-newline*\x22,1478078956,null),new cljs.core.Symbol(null,\x22load-reader\x22,\x22load-reader\x22,-734810126,null),new cljs.core.Symbol(null,\x22unchecked-add\x22,\x22unchecked-add\x22,-2030665965,null),new cljs.core.Symbol(null,\x22Delay\x22,\x22Delay\x22,-956795572,null),new cljs.core.Symbol(null,\x22floats\x22,\x22floats\x22,513591110,null),new cljs.core.Symbol(null,\x22drop-while\x22,\x22drop-while\x22,719206685,null),new cljs.core.Symbol(null,\x22bounded-count\x22,\x22bounded-count\x22,1030640883,null),new cljs.core.Symbol(null,\x22take-while\x22,\x22take-while\x22,2007268328,null),new cljs.core.Symbol(null,\x22extends?\x22,\x22extends?\x22,-2012201234,null),new cljs.core.Symbol(null,\x22sort\x22,\x22sort\x22,-1700969851,null),new cljs.core.Symbol(null,\x22false?\x22,\x22false?\x22,-1522377573,null),new cljs.core.Symbol(null,\x22cat\x22,\x22cat\x22,182721320,null),new cljs.core.Symbol(null,\x22extend-type\x22,\x22extend-type\x22,1123355921,null),new cljs.core.Symbol(null,\x22*print-level*\x22,\x22*print-level*\x22,-634488505,null),new cljs.core.Symbol(null,\x22replace\x22,\x22replace\x22,853943757,null),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Symbol(null,\x22drop\x22,\x22drop\x22,2005013138,null),new cljs.core.Symbol(null,\x22push-thread-bindings\x22,\x22push-thread-bindings\x22,1054019843,null),new cljs.core.Symbol(null,\x22not\x22,\x22not\x22,1044554643,null),new cljs.core.Symbol(null,\x22keep\x22,\x22keep\x22,-492807003,null),new cljs.core.Symbol(null,\x22cons\x22,\x22cons\x22,755448454,null),new cljs.core.Symbol(null,\x22*e\x22,\x22*e\x22,329170866,null),new cljs.core.Symbol(null,\x22bit-shift-right\x22,\x22bit-shift-right\x22,884046498,null),new cljs.core.Symbol(null,\x22associative?\x22,\x22associative?\x22,-141666771,null),new cljs.core.Symbol(null,\x22read\x22,\x22read\x22,-1514377108,null),new cljs.core.Symbol(null,\x22unquote\x22,\x22unquote\x22,-1004694737,null),new cljs.core.Symbol(null,\x22macroexpand\x22,\x22macroexpand\x22,1509933344,null),new cljs.core.Symbol(null,\x22create-ns\x22,\x22create-ns\x22,-782886354,null),new cljs.core.Symbol(null,\x22*print-err-fn*\x22,\x22*print-err-fn*\x22,1241679298,null),new cljs.core.Symbol(null,\x22*print-length*\x22,\x22*print-length*\x22,-687693654,null),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Symbol(null,\x22chunk-next\x22,\x22chunk-next\x22,-547810434,null),new cljs.core.Symbol(null,\x22var-set\x22,\x22var-set\x22,-1361408121,null),new cljs.core.Symbol(null,\x22bit-flip\x22,\x22bit-flip\x22,809639606,null),new cljs.core.Symbol(null,\x22aset\x22,\x22aset\x22,900773178,null),new cljs.core.Symbol(null,\x22-deref\x22,\x22-deref\x22,-283116853,null),new cljs.core.Symbol(null,\x22*ns*\x22,\x22*ns*\x22,740153818,null),new cljs.core.Symbol(null,\x22some-fn\x22,\x22some-fn\x22,-490044165,null),new cljs.core.Symbol(null,\x22var?\x22,\x22var?\x22,230455531,null),new cljs.core.Symbol(null,\x22*print-meta*\x22,\x22*print-meta*\x22,-919406644,null),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Symbol(null,\x22unchecked-multiply-int\x22,\x22unchecked-multiply-int\x22,-788546068,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22-reset!\x22,\x22-reset!\x22,1965723739,null),new cljs.core.Symbol(null,\x22to-array\x22,\x22to-array\x22,-585705189,null),new cljs.core.Symbol(null,\x22double-array\x22,\x22double-array\x22,257035726,null),new cljs.core.Symbol(null,\x22sorted-map\x22,\x22sorted-map\x22,-521216771,null),new cljs.core.Symbol(null,\x22-reified-methods\x22,\x22-reified-methods\x22,1702712518,null),new cljs.core.Symbol(null,\x22concat\x22,\x22concat\x22,-467652465,null),new cljs.core.Symbol(null,\x22char\x22,\x22char\x22,998943941,null),new cljs.core.Symbol(null,\x22ident?\x22,\x22ident?\x22,-2061359468,null),new cljs.core.Symbol(null,\x22make-array\x22,\x22make-array\x22,-1135103906,null),new cljs.core.Symbol(null,\x22chunk-buffer\x22,\x22chunk-buffer\x22,789680287,null),new cljs.core.Symbol(null,\x22peek\x22,\x22peek\x22,1349135202,null),new cljs.core.Symbol(null,\x22hash-unordered-coll\x22,\x22hash-unordered-coll\x22,-240471618,null),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Symbol(null,\x22clj-\x3ejs\x22,\x22clj-\x3ejs\x22,-1880244676,null),new cljs.core.Symbol(null,\x22sequence\x22,\x22sequence\x22,-1727628355,null),new cljs.core.Symbol(null,\x22group-by\x22,\x22group-by\x22,1261391725,null),new cljs.core.Symbol(null,\x22re-seq\x22,\x22re-seq\x22,-2105554076,null),new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null),new cljs.core.Symbol(null,\x22when-some\x22,\x22when-some\x22,1700415903,null),new cljs.core.Symbol(null,\x22unchecked-subtract-int\x22,\x22unchecked-subtract-int\x22,-1899147615,null),new cljs.core.Symbol(null,\x22\x3c\x3d\x22,\x22\x3c\x3d\x22,1244895369,null),new cljs.core.Symbol(null,\x22prefers\x22,\x22prefers\x22,-374265406,null),new cljs.core.Symbol(null,\x22vary-meta\x22,\x22vary-meta\x22,-1580067831,null),new cljs.core.Symbol(null,\x22\x3d\x22,\x22\x3d\x22,-1501502141,null),new cljs.core.Symbol(null,\x22intern\x22,\x22intern\x22,1664352151,null),new cljs.core.Symbol(null,\x22keep-indexed\x22,\x22keep-indexed\x22,-2020916352,null),new cljs.core.Symbol(null,\x22js-obj\x22,\x22js-obj\x22,342383250,null),new cljs.core.Symbol(null,\x22every?\x22,\x22every?\x22,2083724064,null),new cljs.core.Symbol(null,\x22comp\x22,\x22comp\x22,-1462482139,null),new cljs.core.Symbol(null,\x22bit-set\x22,\x22bit-set\x22,-910710655,null),new cljs.core.Symbol(null,\x22dissoc\x22,\x22dissoc\x22,1039760994,null),new cljs.core.Symbol(null,\x22min\x22,\x22min\x22,2085523049,null),new cljs.core.Symbol(null,\x22char?\x22,\x22char?\x22,-1072221244,null),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Symbol(null,\x22interleave\x22,\x22interleave\x22,165488106,null),new cljs.core.Symbol(null,\x22declare\x22,\x22declare\x22,654042991,null),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Symbol(null,\x22bound?\x22,\x22bound?\x22,767722602,null),new cljs.core.Symbol(null,\x22all-ns\x22,\x22all-ns\x22,1571857784,null),new cljs.core.Symbol(null,\x22split-at\x22,\x22split-at\x22,-60953742,null),new cljs.core.Symbol(null,\x22neg-int?\x22,\x22neg-int?\x22,-1610409390,null),new cljs.core.Symbol(null,\x22mapv\x22,\x22mapv\x22,-241595241,null),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Symbol(null,\x22-add-loaded-lib\x22,\x22-add-loaded-lib\x22,368206419,null),new cljs.core.Symbol(null,\x22prn\x22,\x22prn\x22,1561684909,null),new cljs.core.Symbol(null,\x22drop-last\x22,\x22drop-last\x22,-1123611530,null),new cljs.core.Symbol(null,\x22with-bindings*\x22,\x22with-bindings*\x22,-93186207,null),new cljs.core.Symbol(null,\x22fnil\x22,\x22fnil\x22,-187395162,null),new cljs.core.Symbol(null,\x22cond-\x3e\x3e\x22,\x22cond-\x3e\x3e\x22,348844960,null),new cljs.core.Symbol(null,\x22pop-thread-bindings\x22,\x22pop-thread-bindings\x22,-1312224790,null),new cljs.core.Symbol(null,\x22satisfies?\x22,\x22satisfies?\x22,-433227199,null),new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null),new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),new cljs.core.Symbol(null,\x22load-string\x22,\x22load-string\x22,-403739145,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22unchecked-double\x22,\x22unchecked-double\x22,-1593778036,null),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Symbol(null,\x22symbol?\x22,\x22symbol?\x22,1820680511,null),new cljs.core.Symbol(null,\x22chunk-cons\x22,\x22chunk-cons\x22,433801405,null),new cljs.core.Symbol(null,\x22disj!\x22,\x22disj!\x22,-1383872088,null),new cljs.core.Symbol(null,\x22-\x3eEduction\x22,\x22-\x3eEduction\x22,-188511967,null),new cljs.core.Symbol(null,\x22ns-imports\x22,\x22ns-imports\x22,1111168888,null),new cljs.core.Symbol(null,\x22methods\x22,\x22methods\x22,2094462393,null),new cljs.core.Symbol(null,\x22reset-meta!\x22,\x22reset-meta!\x22,1699493291,null),new cljs.core.Symbol(null,\x22areduce\x22,\x22areduce\x22,-1873477878,null),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Symbol(null,\x22js-\x3eclj\x22,\x22js-\x3eclj\x22,1544462432,null),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Symbol(null,\x22rand-int\x22,\x22rand-int\x22,-495012157,null),new cljs.core.Symbol(null,\x22complement\x22,\x22complement\x22,-913606051,null),new cljs.core.Symbol(null,\x22list?\x22,\x22list?\x22,-1494629,null),new cljs.core.Symbol(null,\x22aget\x22,\x22aget\x22,1491056546,null),new cljs.core.Symbol(null,\x22zipmap\x22,\x22zipmap\x22,-690049687,null),new cljs.core.Symbol(null,\x22find-var\x22,\x22find-var\x22,-497901917,null),new cljs.core.Symbol(null,\x22for\x22,\x22for\x22,316745208,null),new cljs.core.Symbol(null,\x22run!\x22,\x22run!\x22,-2055483725,null),new cljs.core.Symbol(null,\x22\x3d\x3d\x22,\x22\x3d\x3d\x22,-234118149,null),new cljs.core.Symbol(null,\x22chars\x22,\x22chars\x22,545901210,null),new cljs.core.Symbol(null,\x22iterate\x22,\x22iterate\x22,694501410,null),new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),new cljs.core.Symbol(null,\x22hash-ordered-coll\x22,\x22hash-ordered-coll\x22,114448715,null),new cljs.core.Symbol(null,\x22hash-map\x22,\x22hash-map\x22,-439030950,null),new cljs.core.Symbol(null,\x22unchecked-inc\x22,\x22unchecked-inc\x22,-1170131490,null),new cljs.core.Symbol(null,\x22max-key\x22,\x22max-key\x22,-2132814732,null),new cljs.core.Symbol(null,\x22qualified-ident?\x22,\x22qualified-ident?\x22,-928894763,null),new cljs.core.Symbol(null,\x22dissoc!\x22,\x22dissoc!\x22,333592624,null),new cljs.core.Symbol(null,\x22coll?\x22,\x22coll?\x22,-1874821441,null),new cljs.core.Symbol(null,\x22reversible?\x22,\x22reversible?\x22,314107817,null),new cljs.core.Symbol(null,\x22ns-unmap\x22,\x22ns-unmap\x22,1255260993,null),new cljs.core.Symbol(null,\x22apply\x22,\x22apply\x22,-1334050276,null),new cljs.core.Symbol(null,\x22*in*\x22,\x22*in*\x22,1130010229,null),new cljs.core.Symbol(null,\x22subvec\x22,\x22subvec\x22,364611032,null),new cljs.core.Symbol(null,\x22isa?\x22,\x22isa?\x22,1358492324,null),new cljs.core.Symbol(null,\x22not-every?\x22,\x22not-every?\x22,-729672558,null),new cljs.core.Symbol(null,\x22ex-cause\x22,\x22ex-cause\x22,95392590,null),new cljs.core.Symbol(null,\x22keyword?\x22,\x22keyword?\x22,1917797069,null),new cljs.core.Symbol(null,\x22ex-data\x22,\x22ex-data\x22,1331491268,null),new cljs.core.Symbol(null,\x22*print-namespace-maps*\x22,\x22*print-namespace-maps*\x22,-1759108415,null),new cljs.core.Symbol(null,\x22compare\x22,\x22compare\x22,1109853757,null),new cljs.core.Symbol(null,\x22underive\x22,\x22underive\x22,-242982950,null),new cljs.core.Symbol(null,\x22transduce\x22,\x22transduce\x22,-2083619734,null),new cljs.core.Symbol(null,\x22*flush-on-newline*\x22,\x22*flush-on-newline*\x22,-737526501,null),new cljs.core.Symbol(null,\x22range\x22,\x22range\x22,-1014743483,null),new cljs.core.Symbol(null,\x22IDeref\x22,\x22IDeref\x22,1738423197,null),new cljs.core.Symbol(null,\x22sorted?\x22,\x22sorted?\x22,892797714,null),new cljs.core.Symbol(null,\x22frequencies\x22,\x22frequencies\x22,1757430425,null),new cljs.core.Symbol(null,\x22cycle\x22,\x22cycle\x22,-1944070485,null),new cljs.core.Symbol(null,\x22max\x22,\x22max\x22,1701898075,null),new cljs.core.Symbol(null,\x22simple-symbol?\x22,\x22simple-symbol?\x22,1408454822,null),new cljs.core.Symbol(null,\x22reify\x22,\x22reify\x22,1885539699,null),new cljs.core.Symbol(null,\x22empty?\x22,\x22empty?\x22,76408555,null),new cljs.core.Symbol(null,\x22into\x22,\x22into\x22,1489695498,null),new cljs.core.Symbol(null,\x22integer?\x22,\x22integer?\x22,1303791671,null),new cljs.core.Symbol(null,\x22*\x22,\x22*\x22,345799209,null),new cljs.core.Symbol(null,\x22some-\x3e\x3e\x22,\x22some-\x3e\x3e\x22,-1499987794,null),new cljs.core.Symbol(null,\x22unsigned-bit-shift-right\x22,\x22unsigned-bit-shift-right\x22,-1953076601,null),new cljs.core.Symbol(null,\x22pr-str\x22,\x22pr-str\x22,-2066912145,null),new cljs.core.Symbol(null,\x22some-\x3e\x22,\x22some-\x3e\x22,-1011172200,null),new cljs.core.Symbol(null,\x22bound-fn\x22,\x22bound-fn\x22,125411266,null),new cljs.core.Symbol(null,\x22unchecked-get\x22,\x22unchecked-get\x22,-1670542461,null),new cljs.core.Symbol(null,\x22chunk\x22,\x22chunk\x22,449371907,null),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Symbol(null,\x22distinct\x22,\x22distinct\x22,-148347594,null),new cljs.core.Symbol(null,\x22ensure-reduced\x22,\x22ensure-reduced\x22,-1606421005,null),new cljs.core.Symbol(null,\x22object-array\x22,\x22object-array\x22,206434647,null),new cljs.core.Symbol(null,\x22juxt\x22,\x22juxt\x22,671085604,null),new cljs.core.Symbol(null,\x22some\x22,\x22some\x22,-310548046,null),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Symbol(null,\x22interpose\x22,\x22interpose\x22,-2078295140,null),new cljs.core.Symbol(null,\x22the-ns\x22,\x22the-ns\x22,1016317907,null),new cljs.core.Symbol(null,\x22instance?\x22,\x22instance?\x22,1075939923,null),new cljs.core.Symbol(null,\x22descendants\x22,\x22descendants\x22,-829549738,null),new cljs.core.Symbol(null,\x22get-in\x22,\x22get-in\x22,-1965644065,null),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Symbol(null,\x22meta\x22,\x22meta\x22,-1154898805,null),new cljs.core.Symbol(null,\x22reify*\x22,\x22reify*\x22,1646945123,null),new cljs.core.Symbol(null,\x22defrecord\x22,\x22defrecord\x22,273038109,null),new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null),new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),new cljs.core.Symbol(null,\x22aclone\x22,\x22aclone\x22,722978531,null),new cljs.core.Symbol(null,\x22assoc-in\x22,\x22assoc-in\x22,-113585743,null),new cljs.core.Symbol(null,\x22zero?\x22,\x22zero?\x22,325758897,null),new cljs.core.Symbol(null,\x22transient\x22,\x22transient\x22,899115069,null),new cljs.core.Symbol(null,\x22letfn\x22,\x22letfn\x22,-480490827,null),new cljs.core.Symbol(null,\x22realized?\x22,\x22realized?\x22,207229341,null),new cljs.core.Symbol(null,\x22list*\x22,\x22list*\x22,765415731,null),new cljs.core.Symbol(null,\x22ns-interns\x22,\x22ns-interns\x22,535532824,null),new cljs.core.Symbol(null,\x22memoize\x22,\x22memoize\x22,2019341169,null),new cljs.core.Symbol(null,\x22subseq\x22,\x22subseq\x22,-1558995241,null),new cljs.core.Symbol(null,\x22delay?\x22,\x22delay?\x22,-1528239209,null),new cljs.core.Symbol(null,\x22completing\x22,\x22completing\x22,565832990,null),new cljs.core.Symbol(null,\x22unchecked-divide-int\x22,\x22unchecked-divide-int\x22,1613116468,null),new cljs.core.Symbol(null,\x22shuffle\x22,\x22shuffle\x22,-1393023609,null),new cljs.core.Symbol(null,\x22ns-map\x22,\x22ns-map\x22,-434605548,null),new cljs.core.Symbol(null,\x22prn-str\x22,\x22prn-str\x22,-145225943,null),new cljs.core.Symbol(null,\x22in-ns\x22,\x22in-ns\x22,-2089468466,null),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Symbol(null,\x22compare-and-set!\x22,\x22compare-and-set!\x22,-1997299382,null),new cljs.core.Symbol(null,\x22use\x22,\x22use\x22,-205850897,null),new cljs.core.Symbol(null,\x22longs\x22,\x22longs\x22,-1017696020,null),new cljs.core.Symbol(null,\x22remove-ns\x22,\x22remove-ns\x22,-1915058781,null),new cljs.core.Symbol(null,\x22unchecked-int\x22,\x22unchecked-int\x22,1672898125,null),new cljs.core.Symbol(null,\x22nthrest\x22,\x22nthrest\x22,1219890118,null),new cljs.core.Symbol(null,\x22thread-bound?\x22,\x22thread-bound?\x22,2075334115,null),new cljs.core.Symbol(null,\x22*reader-resolver*\x22,\x22*reader-resolver*\x22,309718590,null),new cljs.core.Symbol(null,\x22doubles\x22,\x22doubles\x22,-1517872169,null),new cljs.core.Symbol(null,\x22force\x22,\x22force\x22,-1872478483,null),new cljs.core.Symbol(null,\x22remove-method\x22,\x22remove-method\x22,72923733,null),new cljs.core.Symbol(null,\x22system-time\x22,\x22system-time\x22,1690633727,null),new cljs.core.Symbol(null,\x22extend\x22,\x22extend\x22,-817951763,null),new cljs.core.Symbol(null,\x22nnext\x22,\x22nnext\x22,-2065435598,null),new cljs.core.Symbol(null,\x22dec\x22,\x22dec\x22,-766002333,null),new cljs.core.Symbol(null,\x22qualified-keyword?\x22,\x22qualified-keyword?\x22,375456001,null),new cljs.core.Symbol(null,\x22comparator\x22,\x22comparator\x22,-509539107,null),new cljs.core.Symbol(null,\x22take-last\x22,\x22take-last\x22,-41013151,null),new cljs.core.Symbol(null,\x22find-ns\x22,\x22find-ns\x22,-884829568,null),new cljs.core.Symbol(null,\x22string?\x22,\x22string?\x22,-1129175764,null),new cljs.core.Symbol(null,\x22print\x22,\x22print\x22,-1354873355,null),new cljs.core.Symbol(null,\x22*assert*\x22,\x22*assert*\x22,1479636474,null),new cljs.core.Symbol(null,\x22bit-xor\x22,\x22bit-xor\x22,-1334295033,null),new cljs.core.Symbol(null,\x22map\x22,\x22map\x22,-1282745308,null),new cljs.core.Symbol(null,\x22float\x22,\x22float\x22,-91857841,null),new cljs.core.Symbol(null,\x22chunk-append\x22,\x22chunk-append\x22,-1447349559,null),new cljs.core.Symbol(null,\x22deref\x22,\x22deref\x22,1494944732,null),new cljs.core.Symbol(null,\x22re-pattern\x22,\x22re-pattern\x22,1047705161,null),new cljs.core.Symbol(null,\x22repeat\x22,\x22repeat\x22,-1821743682,null),new cljs.core.Symbol(null,\x22reduce\x22,\x22reduce\x22,1358839360,null),new cljs.core.Symbol(null,\x22qualified-symbol?\x22,\x22qualified-symbol?\x22,98763807,null),new cljs.core.Symbol(null,\x22eval\x22,\x22eval\x22,536963622,null),new cljs.core.Symbol(null,\x22vector\x22,\x22vector\x22,-751469611,null),new cljs.core.Symbol(null,\x22doall\x22,\x22doall\x22,988520834,null),new cljs.core.Symbol(null,\x22exists?\x22,\x22exists?\x22,-1239962053,null),new cljs.core.Symbol(null,\x22assoc!\x22,\x22assoc!\x22,-847603280,null),new cljs.core.Symbol(null,\x22not\x3d\x22,\x22not\x3d\x22,1466536204,null),new cljs.core.Symbol(null,\x22alter-meta!\x22,\x22alter-meta!\x22,1510444945,null),new cljs.core.Symbol(null,\x22constantly\x22,\x22constantly\x22,-271143939,null),new cljs.core.Symbol(null,\x22seq?\x22,\x22seq?\x22,-1951934719,null),new cljs.core.Symbol(null,\x22js-keys\x22,\x22js-keys\x22,-1388365203,null),new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),new cljs.core.Symbol(null,\x22require\x22,\x22require\x22,1172530194,null),new cljs.core.Symbol(null,\x22key\x22,\x22key\x22,124488940,null),new cljs.core.Symbol(null,\x22bit-and-not\x22,\x22bit-and-not\x22,-254338837,null),new cljs.core.Symbol(null,\x22mapcat\x22,\x22mapcat\x22,-601348859,null),new cljs.core.Symbol(null,\x22cond-\x3e\x22,\x22cond-\x3e\x22,561741875,null),new cljs.core.Symbol(null,\x22nat-int?\x22,\x22nat-int?\x22,-1879663400,null),new cljs.core.Symbol(null,\x22demunge\x22,\x22demunge\x22,-1865491845,null),new cljs.core.Symbol(null,\x22get-method\x22,\x22get-method\x22,185754457,null),new cljs.core.Symbol(null,\x22*out*\x22,\x22*out*\x22,1277591796,null),new cljs.core.Symbol(null,\x22str\x22,\x22str\x22,-1564826950,null),new cljs.core.Symbol(null,\x22empty\x22,\x22empty\x22,-1886564811,null),new cljs.core.Symbol(null,\x22counted?\x22,\x22counted?\x22,1703071664,null),new cljs.core.Symbol(null,\x22set?\x22,\x22set?\x22,1636014792,null),new cljs.core.Symbol(null,\x22alength\x22,\x22alength\x22,-1268305401,null),new cljs.core.Symbol(null,\x22filterv\x22,\x22filterv\x22,1977739179,null),new cljs.core.Symbol(null,\x22reductions\x22,\x22reductions\x22,549963952,null),new cljs.core.Symbol(null,\x22booleans\x22,\x22booleans\x22,756846088,null),new cljs.core.Symbol(null,\x22\x3c\x22,\x22\x3c\x22,993667236,null),new cljs.core.Symbol(null,\x22reduced\x22,\x22reduced\x22,-1189224808,null),new cljs.core.Symbol(null,\x22halt-when\x22,\x22halt-when\x22,-140999689,null),new cljs.core.Symbol(null,\x22namespace\x22,\x22namespace\x22,1263021155,null),new cljs.core.Symbol(null,\x22keyword\x22,\x22keyword\x22,-1843046022,null),new cljs.core.Symbol(null,\x22bound-fn*\x22,\x22bound-fn*\x22,102308621,null),new cljs.core.Symbol(null,\x22record?\x22,\x22record?\x22,-1305224237,null),new cljs.core.Symbol(null,\x22tagged-literal?\x22,\x22tagged-literal?\x22,1117865390,null),new cljs.core.Symbol(null,\x22-\x22,\x22-\x22,-471816912,null),new cljs.core.Symbol(null,\x22bit-and\x22,\x22bit-and\x22,-479352589,null),new cljs.core.Symbol(null,\x22unreduced\x22,\x22unreduced\x22,780976083,null),new cljs.core.Symbol(null,\x22assoc\x22,\x22assoc\x22,2071440380,null),new cljs.core.Symbol(null,\x22defmulti\x22,\x22defmulti\x22,1936112154,null),new cljs.core.Symbol(null,\x22partition-all\x22,\x22partition-all\x22,-1985005385,null),new cljs.core.Symbol(null,\x22bit-not\x22,\x22bit-not\x22,1508529851,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22pos?\x22,\x22pos?\x22,-244377722,null),new cljs.core.Symbol(null,\x22trampoline\x22,\x22trampoline\x22,-71368916,null),new cljs.core.Symbol(null,\x22rand\x22,\x22rand\x22,-1745930995,null),new cljs.core.Symbol(null,\x22re-matches\x22,\x22re-matches\x22,-1865705768,null),new cljs.core.Symbol(null,\x22boolean?\x22,\x22boolean?\x22,1790940868,null),new cljs.core.Symbol(null,\x22every-pred\x22,\x22every-pred\x22,-1346958247,null),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Symbol(null,\x22fn?\x22,\x22fn?\x22,1820990818,null),new cljs.core.Symbol(null,\x22sequential?\x22,\x22sequential?\x22,1102351463,null),new cljs.core.Symbol(null,\x22list\x22,\x22list\x22,-1889078086,null),new cljs.core.Symbol(null,\x22sorted-set-by\x22,\x22sorted-set-by\x22,899099765,null),new cljs.core.Symbol(null,\x22nthnext\x22,\x22nthnext\x22,1677356670,null),new cljs.core.Symbol(null,\x22eduction\x22,\x22eduction\x22,1445227968,null),new cljs.core.Symbol(null,\x22rand-nth\x22,\x22rand-nth\x22,-1227719931,null),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Symbol(null,\x22partial\x22,\x22partial\x22,1881673272,null),new cljs.core.Symbol(null,\x22with-bindings\x22,\x22with-bindings\x22,-1197589787,null),new cljs.core.Symbol(null,\x22rsubseq\x22,\x22rsubseq\x22,-710070471,null),new cljs.core.Symbol(null,\x22contains?\x22,\x22contains?\x22,-1676812576,null),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Symbol(null,\x22shorts\x22,\x22shorts\x22,107738238,null),new cljs.core.Symbol(null,\x22random-uuid\x22,\x22random-uuid\x22,-1574409597,null),new cljs.core.Symbol(null,\x22ISwap\x22,\x22ISwap\x22,484378193,null),new cljs.core.Symbol(null,\x22as-\x3e\x22,\x22as-\x3e\x22,1430690540,null),new cljs.core.Symbol(null,\x22hash-set\x22,\x22hash-set\x22,-1145168432,null),new cljs.core.Symbol(null,\x22take\x22,\x22take\x22,871646627,null),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Symbol(null,\x22macroexpand-1\x22,\x22macroexpand-1\x22,659241329,null),new cljs.core.Symbol(null,\x22split-with\x22,\x22split-with\x22,1853047034,null),new cljs.core.Symbol(null,\x22refer\x22,\x22refer\x22,676235974,null),new cljs.core.Symbol(null,\x22binding-conveyor-fn\x22,\x22binding-conveyor-fn\x22,2076077877,null),new cljs.core.Symbol(null,\x22make-hierarchy\x22,\x22make-hierarchy\x22,-241558556,null),new cljs.core.Symbol(null,\x22tagged-literal\x22,\x22tagged-literal\x22,-896422703,null),new cljs.core.Symbol(null,\x22has-root-impl\x22,\x22has-root-impl\x22,-288948659,null),new cljs.core.Symbol(null,\x22parents\x22,\x22parents\x22,-387007364,null),new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22vec\x22,\x22vec\x22,982683596,null),new cljs.core.Symbol(null,\x22nth\x22,\x22nth\x22,1529209554,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22lazy-cat\x22,\x22lazy-cat\x22,-89906116,null),new cljs.core.Symbol(null,\x22if-some\x22,\x22if-some\x22,1960677609,null),new cljs.core.Symbol(null,\x22subs\x22,\x22subs\x22,1453849536,null),new cljs.core.Symbol(null,\x22*default-data-reader-fn*\x22,\x22*default-data-reader-fn*\x22,758795499,null),new cljs.core.Symbol(null,\x22to-array-2d\x22,\x22to-array-2d\x22,-1563270737,null),new cljs.core.Symbol(null,\x22symbol\x22,\x22symbol\x22,601958831,null),new cljs.core.Symbol(null,\x22mod\x22,\x22mod\x22,1510044207,null),new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),new cljs.core.Symbol(null,\x22number?\x22,\x22number?\x22,-1747282210,null),new cljs.core.Symbol(null,\x22reduced?\x22,\x22reduced?\x22,1361797384,null),new cljs.core.Symbol(null,\x22-new-dynamic-var\x22,\x22-new-dynamic-var\x22,-1029088918,null),new cljs.core.Symbol(null,\x22object?\x22,\x22object?\x22,327472310,null),new cljs.core.Symbol(null,\x22conj\x22,\x22conj\x22,-1127293942,null),new cljs.core.Symbol(null,\x22bytes\x22,\x22bytes\x22,-1478569089,null),new cljs.core.Symbol(null,\x22unchecked-float\x22,\x22unchecked-float\x22,1485658216,null),new cljs.core.Symbol(null,\x22LazySeq\x22,\x22LazySeq\x22,1579450882,null),new cljs.core.Symbol(null,\x22bit-test\x22,\x22bit-test\x22,543456753,null),new cljs.core.Symbol(null,\x22sorted-map-by\x22,\x22sorted-map-by\x22,218894812,null),new cljs.core.Symbol(null,\x22double?\x22,\x22double?\x22,-2146564276,null),new cljs.core.Symbol(null,\x22rseq\x22,\x22rseq\x22,-1719353554,null),new cljs.core.Symbol(null,\x22unchecked-long\x22,\x22unchecked-long\x22,1306610949,null),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Symbol(null,\x22double\x22,\x22double\x22,-1769548886,null),new cljs.core.Symbol(null,\x22unchecked-dec\x22,\x22unchecked-dec\x22,2095823150,null),new cljs.core.Symbol(null,\x22tree-seq\x22,\x22tree-seq\x22,-1800921632,null),new cljs.core.Symbol(null,\x22multi-fn-add-method-impl\x22,\x22multi-fn-add-method-impl\x22,-523930142,null),new cljs.core.Symbol(null,\x22seqable?\x22,\x22seqable?\x22,72462495,null),new cljs.core.Symbol(null,\x22swap!\x22,\x22swap!\x22,-655677516,null),new cljs.core.Symbol(null,\x22vswap!\x22,\x22vswap!\x22,-574070781,null),new cljs.core.Symbol(null,\x22array-map\x22,\x22array-map\x22,1555038968,null),new cljs.core.Symbol(null,\x22reset-thread-binding-frame-impl\x22,\x22reset-thread-binding-frame-impl\x22,-826674194,null),new cljs.core.Symbol(null,\x22dedupe\x22,\x22dedupe\x22,-461856254,null),new cljs.core.Symbol(null,\x22short\x22,\x22short\x22,-725675253,null),new cljs.core.Symbol(null,\x22update\x22,\x22update\x22,-1608859373,null),new cljs.core.Symbol(null,\x22filter\x22,\x22filter\x22,691993593,null),new cljs.core.Symbol(null,\x22unchecked-dec-int\x22,\x22unchecked-dec-int\x22,1339067442,null),new cljs.core.Symbol(null,\x22*3\x22,\x22*3\x22,105062009,null),new cljs.core.Symbol(null,\x22requiring-resolve\x22,\x22requiring-resolve\x22,-1888505231,null),new cljs.core.Symbol(null,\x22rem\x22,\x22rem\x22,664046770,null),new cljs.core.Symbol(null,\x22pop\x22,\x22pop\x22,-94247249,null),new cljs.core.Symbol(null,\x22merge-with\x22,\x22merge-with\x22,1025434534,null),new cljs.core.Symbol(null,\x22long\x22,\x22long\x22,1469079434,null),new cljs.core.Symbol(null,\x22assert\x22,\x22assert\x22,677428501,null),new cljs.core.Symbol(null,\x22array\x22,\x22array\x22,-440182315,null),new cljs.core.Symbol(null,\x22refer-clojure\x22,\x22refer-clojure\x22,-1840651329,null),new cljs.core.Symbol(null,\x22flatten\x22,\x22flatten\x22,-1441633353,null),new cljs.core.Symbol(null,\x22distinct?\x22,\x22distinct?\x22,-1684357959,null),new cljs.core.Symbol(null,\x22map-indexed\x22,\x22map-indexed\x22,-1391025435,null),new cljs.core.Symbol(null,\x22ns-publics\x22,\x22ns-publics\x22,903350436,null),new cljs.core.Symbol(null,\x22protocol-type-impl\x22,\x22protocol-type-impl\x22,561934718,null),new cljs.core.Symbol(null,\x22even?\x22,\x22even?\x22,-1827825394,null),new cljs.core.Symbol(null,\x22var-get\x22,\x22var-get\x22,-767472097,null),new cljs.core.Symbol(null,\x22multi-fn?-impl\x22,\x22multi-fn?-impl\x22,1372639302,null),new cljs.core.Symbol(null,\x22alter-var-root\x22,\x22alter-var-root\x22,-1749458519,null),new cljs.core.Symbol(null,\x22type\x22,\x22type\x22,-1480165421,null),new cljs.core.Symbol(null,\x22neg?\x22,\x22neg?\x22,-1902175577,null),new cljs.core.Symbol(null,\x22gensym\x22,\x22gensym\x22,-1693147401,null),new cljs.core.Symbol(null,\x22resolve\x22,\x22resolve\x22,56086045,null),new cljs.core.Symbol(null,\x22add-watch\x22,\x22add-watch\x22,1389887634,null),new cljs.core.Symbol(null,\x22not-any?\x22,\x22not-any?\x22,-2114707554,null),new cljs.core.Symbol(null,\x22take-nth\x22,\x22take-nth\x22,1378204353,null),new cljs.core.Symbol(null,\x22dorun\x22,\x22dorun\x22,560426022,null),new cljs.core.Symbol(null,\x22remove-all-methods\x22,\x22remove-all-methods\x22,-728267092,null),new cljs.core.Symbol(null,\x22not-empty\x22,\x22not-empty\x22,2029453590,null),new cljs.core.Symbol(null,\x22*suppress-read*\x22,\x22*suppress-read*\x22,1470729096,null),new cljs.core.Symbol(null,\x22ns-aliases\x22,\x22ns-aliases\x22,-1364180948,null),new cljs.core.Symbol(null,\x22*print-dup*\x22,\x22*print-dup*\x22,103854877,null),new cljs.core.Symbol(null,\x22ns-resolve\x22,\x22ns-resolve\x22,1788675756,null),new cljs.core.Symbol(null,\x22get-thread-binding-frame-impl\x22,\x22get-thread-binding-frame-impl\x22,-701667726,null),new cljs.core.Symbol(null,\x22chunk-rest\x22,\x22chunk-rest\x22,-1853526420,null),new cljs.core.Symbol(null,\x22remove-watch\x22,\x22remove-watch\x22,-1105301448,null),new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),new cljs.core.Symbol(null,\x22int-array\x22,\x22int-array\x22,459176616,null),new cljs.core.Symbol(null,\x22pos-int?\x22,\x22pos-int?\x22,-1205815015,null),new cljs.core.Symbol(null,\x22undefined?\x22,\x22undefined?\x22,1356377224,null),new cljs.core.Symbol(null,\x22ints\x22,\x22ints\x22,-1761239845,null),new cljs.core.Symbol(null,\x22identical?\x22,\x22identical?\x22,-745864205,null),new cljs.core.Symbol(null,\x22persistent!\x22,\x22persistent!\x22,1286555698,null),new cljs.core.Symbol(null,\x22IReset\x22,\x22IReset\x22,-1893729426,null),new cljs.core.Symbol(null,\x22indexed?\x22,\x22indexed?\x22,1234610384,null),new cljs.core.Symbol(null,\x22min-key\x22,\x22min-key\x22,246826648,null),new cljs.core.Symbol(null,\x22repeatedly\x22,\x22repeatedly\x22,1199964457,null),new cljs.core.Symbol(null,\x22set\x22,\x22set\x22,1945134081,null),new cljs.core.Symbol(null,\x22remove\x22,\x22remove\x22,1509103113,null),new cljs.core.Symbol(null,\x22keyword-identical?\x22,\x22keyword-identical?\x22,931555714,null),new cljs.core.Symbol(null,\x22while\x22,\x22while\x22,-1691317983,null),new cljs.core.Symbol(null,\x22re-find\x22,\x22re-find\x22,1143444147,null),new cljs.core.Symbol(null,\x22PersistentQueue\x22,\x22PersistentQueue\x22,-160870792,null),new cljs.core.Symbol(null,\x22seq-to-map-for-destructuring\x22,\x22seq-to-map-for-destructuring\x22,647384515,null)],[cljs.core.unchecked_char,sci.impl.io.print_fn,cljs.core.sorted_set,cljs.core.true_QMARK_,cljs.core.pop_BANG_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22deftype\x22,\x22deftype\x22,1980826088,null),sci.impl.deftype.deftype,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22deftype\x22,\x22deftype\x22,1980826088,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22t\x22,\x22t\x22,242699008,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22(deftype name [fields*] options* specs*)\\n\\n Currently there are no options.\\n\\n Each spec consists of a protocol or interface name followed by zero\\n or more method bodies:\\n\\n protocol-or-Object\\n (methodName [args*] body)*\\n\\n The type will have the (by default, immutable) fields named by\\n fields, which can have type hints. Protocols and methods\\n are optional. The only methods that can be supplied are those\\n declared in the protocols/interfaces. Note that method bodies are\\n not closures, the local environment includes only the named fields,\\n and those fields can be accessed directly. Fields can be qualified\\n with the metadata :mutable true at which point (set! afield aval) will be\\n supported in method bodies. Note well that mutable fields are extremely\\n difficult to use correctly, and are present only to facilitate the building\\n of higherlevel constructs, such as ClojureScript\x27s reference types, in\\n ClojureScript itself. They are for experts only - if the semantics and\\n implications of :mutable are not immediately apparent to you, you should not\\n be using them.\\n\\n Method definitions take the form:\\n\\n (methodname [args*] body)\\n\\n The argument and return types can be hinted on the arg and\\n methodname symbols. If not supplied, they will be inferred, so type\\n hints should be reserved for disambiguation.\\n\\n Methods should be supplied for all methods of the desired\\n protocol(s). You can also define overrides for methods of Object. Note that\\n a parameter must be supplied to correspond to the target object\\n (\x27this\x27 in JavaScript parlance). Note also that recur calls to the method\\n head should *not* pass the target object, it will be supplied\\n automatically and can not be substituted.\\n\\n In the method bodies, the (unqualified) name can be used to name the\\n class (for calls to new, instance? etc).\\n\\n One constructor will be defined, taking the designated fields. Note\\n that the field names __meta and __extmap are currently reserved and\\n should not be used when defining your own types.\\n\\n Given (deftype TypeName ...), a factory function called -\x3eTypeName\\n will be defined, taking positional parameters for the fields\x22], null)),cljs.core.unchecked_byte,cljs.core.aset,sci.impl.namespaces._STAR_2,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22doto\x22,\x22doto\x22,1252536074,null),sci.impl.namespaces.doto_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22doto\x22,\x22doto\x22,1252536074,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates x then calls all of the methods and functions with the\\n value of x supplied at the front of the given arguments. The forms\\n are evaluated in order. Returns x.\\n\\n (doto (new js/Map) (.set \\\x22a\\\x22 1) (.set \\\x22b\\\x22 2))\x22], null)),cljs.core.reduce_kv,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defmethod\x22,\x22defmethod\x22,-579171823,null),sci.impl.multimethods.defmethod,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defmethod\x22,\x22defmethod\x22,-579171823,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22multifn\x22,\x22multifn\x22,-1904313150,null),new cljs.core.Symbol(null,\x22dispatch-val\x22,\x22dispatch-val\x22,69061000,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22fn-tail\x22,\x22fn-tail\x22,-178337841,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Creates and installs a new method of multimethod associated with dispatch-value. \x22], null)),cljs.core.update_in,cljs.core.prefer_method,sci.impl.hierarchies.derive_STAR_,cljs.core.nfirst,cljs.core.sort_by,sci.impl.parser.data_readers,cljs.core.keys,sci.impl.hierarchies.ancestors_STAR_,cljs.core.first,cljs.core.butlast,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),sci.impl.namespaces.and_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates exprs one at a time, from left to right. If a form\\n returns logical false (nil or false), and returns that value and\\n doesn\x27t evaluate any of the other expressions, otherwise it returns\\n the value of the last expr. (and) returns true.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22and\x22,\x22and\x22,668631710,null)], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-out-str\x22,\x22with-out-str\x22,-140201577,null),sci.impl.io.with_out_str,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-out-str\x22,\x22with-out-str\x22,-140201577,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates exprs in a context in which *print-fn* is bound to .append\\n on a fresh StringBuffer. Returns the string created by any nested\\n printing calls.\x22], null)),cljs.core.partition_by,cljs.core.uri_QMARK_,cljs.core.map_entry_QMARK_,cljs.core.simple_keyword_QMARK_,cljs.core.into_array,sci.impl.namespaces.sci_ns_refers,cljs.core.rest,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),sci.impl.namespaces.case_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22e\x22,\x22e\x22,-1273166571,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes an expression, and a set of clauses.\\n\\n Each clause can take the form of either:\\n\\n test-constant result-expr\\n\\n (test-constant1 ... test-constantN) result-expr\\n\\n The test-constants are not evaluated. They must be compile-time\\n literals, and need not be quoted. If the expression is equal to a\\n test-constant, the corresponding result-expr is returned. A single\\n default expression can follow the clauses, and its value will be\\n returned if no clause matches. If no default expression is provided\\n and no clause matches, an Error is thrown.\\n\\n Unlike cond and condp, case does a constant-time dispatch, the\\n clauses are not considered sequentially. All manner of constant\\n expressions are acceptable in case, including numbers, strings,\\n symbols, keywords, and (ClojureScript) composites thereof. Note that since\\n lists are used to group multiple constants that map to the same\\n expression, a vector can be used to match a list if needed. The\\n test-constants need not be all of the same type.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22case\x22,\x22case\x22,-1510733573,null)], null)),cljs.core.seq,cljs.core.unchecked_inc_int,cljs.core.hash_combine,sci.impl.namespaces.sci_ns_unalias,cljs.core.odd_QMARK_,cljs.core.partition,cljs.core._GT__EQ_,cljs.core.fnext,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),sci.impl.namespaces.when_first_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-first\x22,\x22when-first\x22,821699168,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e x xs\\n\\n Roughly the same as (when (seq xs) (let [x (first xs)] body)) but xs is evaluated only once\x22], null)),cljs.core.bit_or,cljs.core.disj,sci.impl.namespaces.sci_with_redefs_fn,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-new-var\x22,\x22-new-var\x22,1200468147,null),(function (){\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0(),null);\n})),cljs.core.unchecked_short,cljs.core.ffirst,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),sci.impl.namespaces.condp_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22condp\x22,\x22condp\x22,1054325175,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22pred\x22,\x22pred\x22,-727012372,null),new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a binary predicate, an expression, and a set of clauses.\\n Each clause can take the form of either:\\n\\n test-expr result-expr\\n\\n test-expr :\x3e\x3e result-fn\\n\\n Note :\x3e\x3e is an ordinary keyword.\\n\\n For each clause, (pred test-expr expr) is evaluated. If it returns\\n logical true, the clause is a match. If a binary clause matches, the\\n result-expr is returned, if a ternary clause matches, its result-fn,\\n which must be a unary function, is called with the result of the\\n predicate as its argument, the result of that call being the return\\n value of condp. A single default expression can follow the clauses,\\n and its value will be returned if no clause matches. If no default\\n expression is provided and no clause matches, an Error is thrown.\x22], null)),cljs.core.munge,sci.impl.utils.current_file,cljs.core.unchecked_negate_int,sci.impl.io.print_str,cljs.core.vreset_BANG_,cljs.core.uuid_QMARK_,sci.impl.core_protocols.reset_BANG__STAR_,sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22IRecord\x22,\x22IRecord\x22,-903221169,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22protocol\x22,\x22protocol\x22,652470118),cljs.core.IRecord,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null)),(new sci.lang.Var(sci.impl.namespaces.memfn,new cljs.core.Symbol(null,\x22memfn\x22,\x22memfn\x22,-881453486,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22memfn\x22,\x22memfn\x22,-881453486,null),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Expands into code that creates a fn that expects to be passed an\\n object and any args and calls the named instance method on the\\n object passing the args. Use when you want to treat a JavaScript\\n method as a first-class fn.\x22,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),false,null,null)),cljs.core.atom,cljs.core.select_keys,cljs.core.reverse,sci.impl.namespaces.ex_message,cljs.core.special_symbol_QMARK_,cljs.core.merge,cljs.core.inst_ms,sci.impl.io.newline,cljs.core.unchecked_multiply,sci.impl.io.print_readably,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),sci.impl.namespaces.double_dot,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22..\x22,\x22..\x22,-300507420,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null)], null),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22form\x22,\x22form\x22,16469056,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22more\x22,\x22more\x22,-418290273,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22form \x3d\x3e fieldName-symbol or (instanceMethodName-symbol args*)\\n\\n Expands into a member access (.) of the first member on the first\\n argument, followed by the next member on the result, etc. For\\n instance:\\n\\n (.. System (getProperties) (get \\\x22os.name\\\x22))\\n\\n expands to:\\n\\n (. (. System (getProperties)) (get \\\x22os.name\\\x22))\\n\\n but is easier to write, read, and understand.\x22], null)),cljs.core.chunked_seq_QMARK_,cljs.core.inst_QMARK_,cljs.core.random_sample,cljs.core._GT_,sci.impl.parser.read_eval,cljs.core.count,cljs.core.simple_ident_QMARK_,sci.impl.namespaces.sci_ns_name,sci.impl.namespaces._STAR_1,cljs.core.last,cljs.core.bit_shift_left,cljs.core.int$,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),sci.impl.fns.defmacro_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defmacro\x22,\x22defmacro\x22,2054157304,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)),new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Like defn, but the resulting function name is declared as a\\n macro and will be used as a macro by the compiler when it is\\n called.\x22], null)),cljs.core.unchecked_negate,cljs.core.volatile_QMARK_,sci.impl.multimethods.multi_fn_impl,cljs.core.unchecked_remainder_int,cljs.core.byte$,cljs.core.conj_BANG_,(new sci.lang.Var(sci.impl.namespaces.time,new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates expr and prints the time it took. Returns the value of expr.\x22,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),false,null,null)),sci.impl.io.println,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defprotocol\x22,\x22defprotocol\x22,1388695348,null),sci.impl.protocols.defprotocol,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defprotocol\x22,\x22defprotocol\x22,1388695348,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22psym\x22,\x22psym\x22,752521989,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22doc+methods\x22,\x22doc+methods\x22,2036080922,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22A protocol is a named set of named methods and their signatures:\\n\\n (defprotocol AProtocolName\\n ;optional doc string\\n \\\x22A doc string for AProtocol abstraction\\\x22\\n\\n ;method signatures\\n (bar [this a b] \\\x22bar docs\\\x22)\\n (baz [this a] [this a b] [this a b c] \\\x22baz docs\\\x22))\\n\\n No implementations are provided. Docs can be specified for the\\n protocol overall and for each method. The above yields a set of\\n polymorphic functions and a protocol object. All are\\n namespace-qualified by the ns enclosing the definition The resulting\\n functions dispatch on the type of their first argument, which is\\n required and corresponds to the implicit target object (\x27this\x27 in\\n JavaScript parlance). defprotocol is dynamic, has no special compile-time\\n effect, and defines no new types.\\n\\n (defprotocol P\\n (foo [this])\\n (bar-me [this] [this y]))\\n\\n (deftype Foo [a b c]\\n P\\n (foo [this] a)\\n (bar-me [this] b)\\n (bar-me [this y] (+ c y)))\\n\\n (bar-me (Foo. 1 2 3) 42)\\n \x3d\x3e 45\\n\\n (foo\\n (let [x 42]\\n (reify P\\n (foo [this] 17)\\n (bar-me [this] x)\\n (bar-me [this y] x))))\\n \x3d\x3e 17\x22], null)),cljs.core.int_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),sci.impl.fns.defn_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defn\x22,\x22defn\x22,-126010802,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22prepost-map?\x22,\x22prepost-map?\x22,869562481,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null),new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22doc-string?\x22,\x22doc-string?\x22,393166599,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22params*\x22,\x22params*\x22,336153603,null)], null),new cljs.core.Symbol(null,\x22prepost-map?\x22,\x22prepost-map?\x22,869562481,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)),new cljs.core.Symbol(null,\x22+\x22,\x22+\x22,-740910886,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Same as (def name (core/fn [params* ] exprs*)) or (def\\n name (core/fn ([params* ] exprs*)+)) with any doc-string or attrs added\\n to the var metadata. prepost-map defines a map with optional keys\\n :pre and :post that contain collections of pre or post conditions.\x22], null)),sci.impl.namespaces.loaded_libs_STAR_,cljs.core.long_array,cljs.core.find,cljs.core.vals,cljs.core.nil_QMARK_,sci.impl.io.flush,cljs.core.hash,sci.impl.io.pr,sci.impl.destructure.destructure,cljs.core.unchecked_subtract,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22comment\x22,\x22comment\x22,-2122229700,null),sci.impl.namespaces.comment_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22comment\x22,\x22comment\x22,-2122229700,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Ignores body, yields nil\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-redefs\x22,\x22with-redefs\x22,-1143728263,null),sci.impl.namespaces.sci_with_redefs,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-redefs\x22,\x22with-redefs\x22,-1143728263,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22binding \x3d\x3e var-symbol temp-value-expr\\n\\n Temporarily redefines vars while executing the body. The\\n temp-value-exprs will be evaluated and each resulting value will\\n replace in parallel the root value of its var. After the body is\\n executed, the root values of all the vars will be set back to their\\n old values. Useful for mocking out functions during testing.\\n\\n Note that under advanced compilation vars are statically resolved,\\n preventing with-redef usage. If var redefinition is desired in a production\\n setting then the var to be redefined must be declared ^:dynamic.\x22], null)),cljs.core.js_delete,cljs.core.float_QMARK_,cljs.core.second,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22extend-protocol\x22,\x22extend-protocol\x22,306378578,null),sci.impl.protocols.extend_protocol,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22extend-protocol\x22,\x22extend-protocol\x22,306378578,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22p\x22,\x22p\x22,1791580836,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22specs\x22,\x22specs\x22,-1227865028,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Useful when you want to provide several implementations of the same\\n protocol all at once. Takes a single protocol and the implementation\\n of that protocol for one or more types. Expands into calls to\\n extend-type:\\n\\n (extend-protocol Protocol\\n AType\\n (foo [x] ...)\\n (bar [x y] ...)\\n BType\\n (foo [x] ...)\\n (bar [x y] ...)\\n AClass\\n (foo [x] ...)\\n (bar [x y] ...)\\n nil\\n (foo [x] ...)\\n (bar [x y] ...))\\n\\n expands into:\\n\\n (do\\n (clojure.core/extend-type AType Protocol \\n (foo [x] ...) \\n (bar [x y] ...))\\n (clojure.core/extend-type BType Protocol \\n (foo [x] ...) \\n (bar [x y] ...))\\n (clojure.core/extend-type AClass Protocol \\n (foo [x] ...) \\n (bar [x y] ...))\\n (clojure.core/extend-type nil Protocol \\n (foo [x] ...) \\n (bar [x y] ...)))\x22], null)),sci.impl.io.err,cljs.core.array_QMARK_,cljs.core.chunk_first,sci.impl.namespaces.sci_alias,cljs.core._write,cljs.core.unchecked_add_int,cljs.core.ifn_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),sci.impl.namespaces.loop_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22loop\x22,\x22loop\x22,1244978678,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates the exprs in a lexical context in which the symbols in\\n the binding-forms are bound to their respective init-exprs or parts\\n therein. Acts as a recur target.\x22], null)),cljs.core.ex_info,cljs.core.inc,cljs.core._SLASH_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22amap\x22,\x22amap\x22,635923055,null),sci.impl.namespaces.amap_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22amap\x22,\x22amap\x22,635923055,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22a\x22,\x22a\x22,-482876059,null),new cljs.core.Symbol(null,\x22idx\x22,\x22idx\x22,-1600747296,null),new cljs.core.Symbol(null,\x22ret\x22,\x22ret\x22,1172308713,null),new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Maps an expression across an array a, using an index named idx, and\\n return value named ret, initialized to a clone of a, then setting\\n each element of ret to the evaluation of expr, returning the new\\n array ret.\x22], null)),cljs.core.volatile_BANG_,cljs.core.with_meta,cljs.core.map_QMARK_,cljs.core.vector_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22-\x3e\x3e\x22,\x22-\x3e\x3e\x22,-1874332161,null),sci.impl.namespaces.__GT__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22-\x3e\x3e\x22,\x22-\x3e\x3e\x22,-1874332161,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Threads the expr through the forms. Inserts x as the\\n last item in the first form, making a list of it if it is not a\\n list already. If there are more forms, inserts the first form as the\\n last item in second form, etc.\x22], null)),cljs.core.quot,cljs.core.any_QMARK_,sci.impl.io.print_newline,sci.impl.load.load_reader,cljs.core.unchecked_add,cljs.core.Delay,cljs.core.floats,cljs.core.drop_while,cljs.core.bounded_count,cljs.core.take_while,sci.impl.protocols.extends_QMARK_,cljs.core.sort,cljs.core.false_QMARK_,cljs.core.cat,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22extend-type\x22,\x22extend-type\x22,1123355921,null),sci.impl.protocols.extend_type,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22extend-type\x22,\x22extend-type\x22,1123355921,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22type-sym\x22,\x22type-sym\x22,-1942856509,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Extend a type to a series of protocols. Useful when you are\\n supplying the definitions explicitly inline. Propagates the\\n type as a type hint on the first argument of all fns.\\n\\n type-sym may be\\n\\n * default, meaning the definitions will apply for any value,\\n unless an extend-type exists for one of the more specific\\n cases below.\\n * nil, meaning the definitions will apply for the nil value.\\n * any of object, boolean, number, string, array, or function,\\n indicating the definitions will apply for values of the\\n associated base JavaScript types. Note that, for example,\\n string should be used instead of js/String.\\n * a JavaScript type not covered by the previous list, such\\n as js/RegExp.\\n * a type defined by deftype or defrecord.\\n\\n (extend-type MyType\\n ICounted\\n (-count [c] ...)\\n Foo\\n (bar [x y] ...)\\n (baz ([x] ...) ([x y] ...) ...)\x22], null)),sci.impl.io.print_level,cljs.core.replace,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),sci.impl.doseq_macro.expand_doseq,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22doseq\x22,\x22doseq\x22,221164135,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq-exprs\x22,\x22seq-exprs\x22,-637209651,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Repeatedly executes body (presumably for side-effects) with\\n bindings and filtering as provided by \\\x22for\\\x22. Does not retain\\n the head of the sequence. Returns nil.\x22], null)),cljs.core.drop,sci.impl.vars.push_thread_bindings,cljs.core.not,cljs.core.keep,cljs.core.cons,sci.impl.namespaces._STAR_e,cljs.core.bit_shift_right,cljs.core.associative_QMARK_,sci.impl.read.read,(function (){var G__45989 \x3d sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22unquote\x22,\x22unquote\x22,-1004694737,null),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null));\nG__45989.sci$impl$vars$IVar$unbind$arity$1(null);\n\nreturn G__45989;\n})(),sci.impl.namespaces.macroexpand_STAR_,sci.impl.namespaces.sci_create_ns,sci.impl.io.print_err_fn,sci.impl.io.print_length,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),sci.impl.namespaces.if_not_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22if-not\x22,\x22if-not\x22,-265415609,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null),new cljs.core.Symbol(null,\x22else\x22,\x22else\x22,132154381,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates test. If logical false, evaluates and returns then expr, \\n otherwise else expr, if supplied, else nil.\x22], null)),cljs.core.chunk_next,sci.impl.vars.var_set,cljs.core.bit_flip,cljs.core.aset,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-deref\x22,\x22-deref\x22,-283116853,null),sci.impl.core_protocols._deref),sci.impl.utils.current_ns,cljs.core.some_fn,sci.impl.utils.var_QMARK_,sci.impl.io.print_meta,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),sci.impl.namespaces.when_not_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-not\x22,\x22when-not\x22,-1223136340,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates test. If logical false, evaluates body in an implicit do.\x22], null)),cljs.core.unchecked_multiply_int,cljs.core.identity,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-reset!\x22,\x22-reset!\x22,1965723739,null),sci.impl.core_protocols._reset_BANG_),cljs.core.to_array,cljs.core.double_array,cljs.core.sorted_map,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-reified-methods\x22,\x22-reified-methods\x22,1702712518,null),(function (p1__45936_SHARP_){\nreturn sci.impl.types.getMethods(p1__45936_SHARP_);\n})),cljs.core.concat,cljs.core.char$,cljs.core.ident_QMARK_,cljs.core.make_array,cljs.core.chunk_buffer,cljs.core.peek,cljs.core.hash_unordered_coll,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),sci.impl.namespaces.when_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when\x22,\x22when\x22,1064114221,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates test. If logical true, evaluates body in an implicit do.\x22], null)),cljs.core.clj__GT_js,cljs.core.sequence,cljs.core.group_by,cljs.core.re_seq,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-swap!\x22,\x22-swap!\x22,-535359318,null),sci.impl.core_protocols._swap_BANG_),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-some\x22,\x22when-some\x22,1700415903,null),sci.impl.namespaces.when_some_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-some\x22,\x22when-some\x22,1700415903,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n When test is not nil, evaluates body with binding-form bound to the\\n value of test\x22], null)),cljs.core.unchecked_subtract_int,cljs.core._LT__EQ_,cljs.core.prefers,cljs.core.vary_meta,cljs.core._EQ_,sci.impl.namespaces.sci_intern,cljs.core.keep_indexed,cljs.core.js_obj,cljs.core.every_QMARK_,cljs.core.comp,cljs.core.bit_set,cljs.core.dissoc,cljs.core.min,cljs.core.char_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),sci.impl.namespaces.with_open_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-open\x22,\x22with-open\x22,172119667,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.interleave,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22declare\x22,\x22declare\x22,654042991,null),sci.impl.namespaces.declare_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22declare\x22,\x22declare\x22,654042991,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22names\x22,\x22names\x22,-302543131,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22defs the supplied var names with no bindings, useful for making forward declarations.\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),sci.impl.namespaces.with_local_vars_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-local-vars\x22,\x22with-local-vars\x22,837642072,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),sci.impl.namespaces.sci_bound_QMARK_,sci.impl.namespaces.sci_all_ns,cljs.core.split_at,cljs.core.neg_int_QMARK_,cljs.core.mapv,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),sci.impl.namespaces.defonce_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defonce\x22,\x22defonce\x22,-1681484013,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22init\x22,\x22init\x22,-234949907,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22defs name to have the root value of init iff the named var has no root value,\\n else init is unevaluated\x22], null)),sci.impl.namespaces._add_loaded_lib,sci.impl.io.prn,cljs.core.drop_last,sci.impl.namespaces.with_bindings_STAR_,cljs.core.fnil,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22cond-\x3e\x3e\x22,\x22cond-\x3e\x3e\x22,348844960,null),sci.impl.namespaces.cond__GT__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22cond-\x3e\x3e\x22,\x22cond-\x3e\x3e\x22,348844960,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes an expression and a set of test/form pairs. Threads expr (via -\x3e\x3e)\\n through each form for which the corresponding test expression\\n is true. Note that, unlike cond branching, cond-\x3e\x3e threading does not short circuit\\n after the first true test expression.\x22], null)),sci.impl.vars.pop_thread_bindings,sci.impl.protocols.satisfies_QMARK_,cljs.core.next,cljs.core._PLUS_,sci.impl.load.load_string,cljs.core.name,cljs.core.unchecked_double,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),sci.impl.namespaces.when_let_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22when-let\x22,\x22when-let\x22,-1383043480,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n When test is true, evaluates body with binding-form bound to the value of test\x22], null)),cljs.core.symbol_QMARK_,cljs.core.chunk_cons,cljs.core.disj_BANG_,cljs.core.__GT_Eduction,sci.impl.namespaces.sci_ns_imports,cljs.core.methods$,cljs.core.reset_meta_BANG_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22areduce\x22,\x22areduce\x22,-1873477878,null),sci.impl.namespaces.areduce_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22areduce\x22,\x22areduce\x22,-1873477878,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22a\x22,\x22a\x22,-482876059,null),new cljs.core.Symbol(null,\x22idx\x22,\x22idx\x22,-1600747296,null),new cljs.core.Symbol(null,\x22ret\x22,\x22ret\x22,1172308713,null),new cljs.core.Symbol(null,\x22init\x22,\x22init\x22,-234949907,null),new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Reduces an expression across an array a, using an index named idx,\\n and return value named ret, initialized to init, setting ret to the\\n evaluation of expr at each step, returning ret.\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),sci.impl.namespaces.ns_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22ns\x22,\x22ns\x22,2082130287,null)], null)),cljs.core.js__GT_clj,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),sci.impl.namespaces.dotimes_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22dotimes\x22,\x22dotimes\x22,-818708397,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e name n\\n\\n Repeatedly executes body (presumably for side-effects) with name\\n bound to integers from 0 through n-1.\x22], null)),cljs.core.rand_int,cljs.core.complement,cljs.core.list_QMARK_,cljs.core.aget,cljs.core.zipmap,sci.impl.namespaces.sci_find_var,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22for\x22,\x22for\x22,316745208,null),sci.impl.for_macro.expand_for,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22for\x22,\x22for\x22,316745208,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22seq-exprs\x22,\x22seq-exprs\x22,-637209651,null),new cljs.core.Symbol(null,\x22body-expr\x22,\x22body-expr\x22,-2125506601,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22List comprehension. Takes a vector of one or more\\n binding-form/collection-expr pairs, each followed by zero or more\\n modifiers, and yields a lazy sequence of evaluations of expr.\\n Collections are iterated in a nested fashion, rightmost fastest,\\n and nested coll-exprs can refer to bindings created in prior\\n binding-forms. Supported modifiers are: :let [binding-form expr ...],\\n :while test, :when test.\\n\\n (take 100 (for [x (range 100000000) y (range 1000000) :while (\x3c y x)] [x y]))\x22], null)),cljs.core.run_BANG_,cljs.core._EQ__EQ_,cljs.core.chars,cljs.core.iterate,cljs.core.boolean$,cljs.core.hash_ordered_coll,cljs.core.hash_map,cljs.core.unchecked_inc,cljs.core.max_key,cljs.core.qualified_ident_QMARK_,cljs.core.dissoc_BANG_,cljs.core.coll_QMARK_,cljs.core.reversible_QMARK_,sci.impl.namespaces.sci_ns_unmap,cljs.core.apply,sci.impl.io.in$,cljs.core.subvec,sci.impl.hierarchies.isa_QMARK__STAR_,cljs.core.not_every_QMARK_,sci.impl.namespaces.ex_cause,cljs.core.keyword_QMARK_,cljs.core.ex_data,sci.impl.io.print_namespace_maps,cljs.core.compare,sci.impl.hierarchies.underive_STAR_,cljs.core.transduce,sci.impl.io.flush_on_newline,cljs.core.range,sci.impl.core_protocols.deref_protocol,cljs.core.sorted_QMARK_,cljs.core.frequencies,cljs.core.cycle,cljs.core.max,cljs.core.simple_symbol_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22reify\x22,\x22reify\x22,1885539699,null),sci.impl.reify.reify,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22reify\x22,\x22reify\x22,1885539699,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22reify creates an object implementing a protocol.\\n reify is a macro with the following structure:\\n\\n (reify options* specs*)\\n\\n Currently there are no options.\\n\\n Each spec consists of the protocol name followed by zero\\n or more method bodies:\\n\\n protocol\\n (methodName [args+] body)*\\n\\n Methods should be supplied for all methods of the desired\\n protocol(s). You can also define overrides for Object methods. Note that\\n the first parameter must be supplied to correspond to the target object\\n (\x27this\x27 in JavaScript parlance). Note also that recur calls\\n to the method head should *not* pass the target object, it will be supplied\\n automatically and can not be substituted.\\n\\n recur works to method heads The method bodies of reify are lexical\\n closures, and can refer to the surrounding local scope:\\n\\n (str (let [f \\\x22foo\\\x22]\\n (reify Object\\n (toString [this] f))))\\n \x3d\x3d \\\x22foo\\\x22\\n\\n (seq (let [f \\\x22foo\\\x22]\\n (reify ISeqable\\n (-seq [this] (seq f)))))\\n \x3d\x3d (\\\x22f\\\x22 \\\x22o\\\x22 \\\x22o\\\x22))\\n\\n reify always implements IMeta and IWithMeta and transfers meta\\n data of the form to the created object.\\n\\n (meta ^{:k :v} (reify Object (toString [this] \\\x22foo\\\x22)))\\n \x3d\x3d {:k :v}\x22], null)),cljs.core.empty_QMARK_,cljs.core.into,cljs.core.integer_QMARK_,cljs.core._STAR_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22some-\x3e\x3e\x22,\x22some-\x3e\x3e\x22,-1499987794,null),sci.impl.namespaces.some__GT__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22some-\x3e\x3e\x22,\x22some-\x3e\x3e\x22,-1499987794,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When expr is not nil, threads it into the first form (via -\x3e\x3e),\\n and when that result is not nil, through the next etc\x22], null)),cljs.core.unsigned_bit_shift_right,sci.impl.io.pr_str,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22some-\x3e\x22,\x22some-\x3e\x22,-1011172200,null),sci.impl.namespaces.some__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22some-\x3e\x22,\x22some-\x3e\x22,-1011172200,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22When expr is not nil, threads it into the first form (via -\x3e),\\n and when that result is not nil, through the next etc\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22bound-fn\x22,\x22bound-fn\x22,125411266,null),sci.impl.namespaces.sci_bound_fn,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22bound-fn\x22,\x22bound-fn\x22,125411266,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.aget,cljs.core.chunk,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),sci.impl.namespaces.cond_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22cond\x22,\x22cond\x22,1606708055,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a set of test/expr pairs. It evaluates each test one at a\\n time. If a test returns logical true, cond evaluates and returns\\n the value of the corresponding expr and doesn\x27t evaluate any of the\\n other tests or exprs. (cond) returns nil.\x22], null)),cljs.core.distinct,cljs.core.ensure_reduced,cljs.core.object_array,cljs.core.juxt,cljs.core.some,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),sci.impl.namespaces.let_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22let\x22,\x22let\x22,358118826,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22binding \x3d\x3e binding-form init-expr\\n binding-form \x3d\x3e name, or destructuring-form\\n destructuring-form \x3d\x3e map-destructure-form, or seq-destructure-form\\n\\n Evaluates the exprs in a lexical context in which the symbols in\\n the binding-forms are bound to their respective init-exprs or parts\\n therein.\\n\\n See https://clojure.org/reference/special_forms#binding-forms for\\n more information about destructuring.\x22], null)),cljs.core.interpose,sci.impl.namespaces.sci_the_ns,sci.impl.protocols.instance_impl,sci.impl.hierarchies.descendants_STAR_,cljs.core.get_in,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),sci.impl.fns.fn_STAR__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22fn\x22,\x22fn\x22,465265323,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22sigs\x22,\x22sigs\x22,-12588095,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22params \x3d\x3e positional-params* , or positional-params* \x26 next-param\\n positional-param \x3d\x3e binding-form\\n next-param \x3d\x3e binding-form\\n name \x3d\x3e symbol\\n\\n Defines a function\x22], null)),cljs.core.meta,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22reify*\x22,\x22reify*\x22,1646945123,null),sci.impl.reify.reify_STAR_,sci.impl.namespaces.clojure_core_ns),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defrecord\x22,\x22defrecord\x22,273038109,null),sci.impl.records.defrecord,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defrecord\x22,\x22defrecord\x22,273038109,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22rsym\x22,\x22rsym\x22,204230332,null),new cljs.core.Symbol(null,\x22fields\x22,\x22fields\x22,-291534703,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22impls\x22,\x22impls\x22,326516674,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22(defrecord name [fields*] options* specs*)\\n\\n Currently there are no options.\\n\\n Each spec consists of a protocol or interface name followed by zero\\n or more method bodies:\\n\\n protocol-or-Object\\n (methodName [args*] body)*\\n\\n The record will have the (immutable) fields named by\\n fields, which can have type hints. Protocols and methods\\n are optional. The only methods that can be supplied are those\\n declared in the protocols. Note that method bodies are\\n not closures, the local environment includes only the named fields,\\n and those fields can be accessed directly.\\n\\n Method definitions take the form:\\n\\n (methodname [args*] body)\\n\\n The argument and return types can be hinted on the arg and\\n methodname symbols. If not supplied, they will be inferred, so type\\n hints should be reserved for disambiguation.\\n\\n Methods should be supplied for all methods of the desired\\n protocol(s). You can also define overrides for\\n methods of Object. Note that a parameter must be supplied to\\n correspond to the target object (\x27this\x27 in JavaScript parlance). Note also\\n that recur calls to the method head should *not* pass the target object, it\\n will be supplied automatically and can not be substituted.\\n\\n In the method bodies, the (unqualified) name can be used to name the\\n class (for calls to new, instance? etc).\\n\\n The type will have implementations of several ClojureScript\\n protocol generated automatically: IMeta/IWithMeta (metadata support) and\\n IMap, etc.\\n\\n In addition, defrecord will define type-and-value-based \x3d,\\n and will define ClojureScript IHash and IEquiv.\\n\\n Two constructors will be defined, one taking the designated fields\\n followed by a metadata map (nil for none) and an extension field\\n map (nil for none), and one taking only the fields (using nil for\\n meta and extension fields). Note that the field names __meta\\n and __extmap are currently reserved and should not be used when\\n defining your own records.\\n\\n Given (defrecord TypeName ...), two factory functions will be\\n defined: -\x3eTypeName, taking positional parameters for the fields,\\n and map-\x3eTypeName, taking a map of keywords to field values.\x22], null)),cljs.core.val,sci.impl.read.read_string,cljs.core.aclone,cljs.core.assoc_in,cljs.core.zero_QMARK_,cljs.core.transient$,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22letfn\x22,\x22letfn\x22,-480490827,null),sci.impl.namespaces.letfn_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22letfn\x22,\x22letfn\x22,-480490827,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22fnspecs\x22,\x22fnspecs\x22,-958581686,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22fnspec \x3d\x3d\x3e (fname [params*] exprs) or (fname ([params*] exprs)+)\\n\\n Takes a vector of function specs and a body, and generates a set of\\n bindings of functions to their names. All of the names are available\\n in all of the definitions of the functions, as well as the body.\x22], null)),cljs.core.realized_QMARK_,cljs.core.list_STAR_,sci.impl.namespaces.sci_ns_interns,cljs.core.memoize,cljs.core.subseq,cljs.core.delay_QMARK_,cljs.core.completing,cljs.core.unchecked_divide_int,cljs.core.shuffle,sci.impl.namespaces.sci_ns_map,sci.impl.io.prn_str,sci.impl.namespaces.sci_in_ns,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),sci.impl.namespaces.defn__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defn-\x22,\x22defn-\x22,1097765044,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22decls\x22,\x22decls\x22,-1311111277,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22same as defn, yielding non-public def\x22], null)),cljs.core.compare_and_set_BANG_,sci.impl.namespaces.use,cljs.core.longs,sci.impl.namespaces.sci_remove_ns,cljs.core.unchecked_int,cljs.core.nthrest,sci.impl.namespaces.sci_thread_bound_QMARK_,sci.impl.parser.reader_resolver,cljs.core.doubles,cljs.core.force,cljs.core.remove_method,cljs.core.system_time,sci.impl.protocols.extend,cljs.core.nnext,cljs.core.dec,cljs.core.qualified_keyword_QMARK_,cljs.core.comparator,cljs.core.take_last,sci.impl.namespaces.sci_find_ns,cljs.core.string_QMARK_,sci.impl.io.print,sci.impl.namespaces.assert_var,cljs.core.bit_xor,cljs.core.map,cljs.core.float$,cljs.core.chunk_append,sci.impl.core_protocols.deref_STAR_,cljs.core.re_pattern,cljs.core.repeat,cljs.core.reduce,cljs.core.qualified_symbol_QMARK_,sci.impl.namespaces.eval_STAR_,cljs.core.vector,cljs.core.doall,(new sci.lang.Var(sci.impl.namespaces.exists_QMARK_,new cljs.core.Symbol(null,\x22exists?\x22,\x22exists?\x22,-1239962053,null),new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22exists?\x22,\x22exists?\x22,-1239962053,null),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Return true if argument exists, analogous to usage of typeof operator\\n in JavaScript.\x22,new cljs.core.Keyword(\x22sci\x22,\x22built-in\x22,\x22sci/built-in\x22,1244659599),true,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_core_ns], null),false,null,null)),cljs.core.assoc_BANG_,cljs.core.not_EQ_,sci.impl.namespaces.alter_meta_BANG_,cljs.core.constantly,cljs.core.seq_QMARK_,cljs.core.js_keys,cljs.core.get,sci.impl.namespaces.require,cljs.core.key,cljs.core.bit_and_not,cljs.core.mapcat,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22cond-\x3e\x22,\x22cond-\x3e\x22,561741875,null),sci.impl.namespaces.cond__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22cond-\x3e\x22,\x22cond-\x3e\x22,561741875,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22clauses\x22,\x22clauses\x22,-1199594528,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes an expression and a set of test/form pairs. Threads expr (via -\x3e)\\n through each form for which the corresponding test\\n expression is true. Note that, unlike cond branching, cond-\x3e threading does\\n not short circuit after the first true test expression.\x22], null)),cljs.core.nat_int_QMARK_,cljs.core.demunge,cljs.core.get_method,sci.impl.io.out,cljs.core.str,cljs.core.empty,cljs.core.counted_QMARK_,cljs.core.set_QMARK_,cljs.core.alength,cljs.core.filterv,cljs.core.reductions,cljs.core.booleans,cljs.core._LT_,cljs.core.reduced,cljs.core.halt_when,cljs.core.namespace,cljs.core.keyword,sci.impl.namespaces.bound_fn_STAR_,cljs.core.record_QMARK_,cljs.core.tagged_literal_QMARK_,cljs.core._,cljs.core.bit_and,cljs.core.unreduced,cljs.core.assoc,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22defmulti\x22,\x22defmulti\x22,1936112154,null),sci.impl.multimethods.defmulti,sci.impl.namespaces.clojure_core_ns,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22defmulti\x22,\x22defmulti\x22,1936112154,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22docstring?\x22,\x22docstring?\x22,-180217883,null),new cljs.core.Symbol(null,\x22attr-map?\x22,\x22attr-map?\x22,116307443,null),new cljs.core.Symbol(null,\x22dispatch-fn\x22,\x22dispatch-fn\x22,-1401088155,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22options\x22,\x22options\x22,1740170016,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Creates a new multimethod with the associated dispatch function.\\n The docstring and attribute-map are optional.\\n\\n Options are key-value pairs and may be one of:\\n :default the default dispatch value, defaults to :default\\n :hierarchy the isa? hierarchy to use for dispatching\\n defaults to the global hierarchy\x22], null)),cljs.core.partition_all,cljs.core.bit_not,cljs.core.some_QMARK_,cljs.core.pos_QMARK_,cljs.core.trampoline,cljs.core.rand,cljs.core.re_matches,cljs.core.boolean_QMARK_,cljs.core.every_pred,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),sci.impl.namespaces.locking_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22locking\x22,\x22locking\x22,1542862874,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.fn_QMARK_,cljs.core.sequential_QMARK_,cljs.core.list,cljs.core.sorted_set_by,cljs.core.nthnext,cljs.core.eduction,cljs.core.rand_nth,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),sci.impl.namespaces.delay_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22delay\x22,\x22delay\x22,1066306308,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a body of expressions and yields a Delay object that will\\n invoke the body only the first time it is forced (with force or deref/@), and\\n will cache the result and return it on all subsequent force\\n calls.\x22], null)),cljs.core.partial,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22with-bindings\x22,\x22with-bindings\x22,-1197589787,null),sci.impl.namespaces.sci_with_bindings,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22with-bindings\x22,\x22with-bindings\x22,-1197589787,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.rsubseq,cljs.core.contains_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),sci.impl.namespaces.__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22-\x3e\x22,\x22-\x3e\x22,-2139605430,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Threads the expr through the forms. Inserts x as the\\n second item in the first form, making a list of it if it is not a\\n list already. If there are more forms, inserts the first form as the\\n second item in second form, etc.\x22], null)),cljs.core.shorts,cljs.core.random_uuid,sci.impl.core_protocols.swap_protocol,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22as-\x3e\x22,\x22as-\x3e\x22,1430690540,null),sci.impl.namespaces.as__GT__STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22as-\x3e\x22,\x22as-\x3e\x22,1430690540,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null),new cljs.core.Symbol(null,\x22name\x22,\x22name\x22,-810760592,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22forms\x22,\x22forms\x22,-608443419,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Binds name to expr, evaluates the first form in the lexical context\\n of that binding, then binds name to that result, repeating for each\\n successive form, returning the result of the last form.\x22], null)),cljs.core.hash_set,cljs.core.take,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),sci.impl.namespaces.if_let_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22if-let\x22,\x22if-let\x22,1803593690,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null),new cljs.core.Symbol(null,\x22else\x22,\x22else\x22,132154381,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22oldform\x22,\x22oldform\x22,1995222417,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n If test is true, evaluates then with binding-form bound to the value of \\n test, if not, yields else\x22], null)),sci.impl.namespaces.macroexpand_1_STAR_,cljs.core.split_with,sci.impl.namespaces.sci_refer,sci.impl.vars.binding_conveyor_fn,cljs.core.make_hierarchy,cljs.core.tagged_literal,sci.impl.namespaces.has_root_impl,sci.impl.hierarchies.parents_STAR_,cljs.core.test,cljs.core.vec,cljs.core.nth,sci.impl.namespaces.clojure_core_ns,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22lazy-cat\x22,\x22lazy-cat\x22,-89906116,null),sci.impl.namespaces.lazy_cat_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22lazy-cat\x22,\x22lazy-cat\x22,-89906116,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22colls\x22,\x22colls\x22,-397642425,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Expands to code which yields a lazy sequence of the concatenation\\n of the supplied colls. Each coll expr is not evaluated until it is\\n needed.\\n\\n (lazy-cat xs ys zs) \x3d\x3d\x3d (concat (lazy-seq xs) (lazy-seq ys) (lazy-seq zs))\x22], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22if-some\x22,\x22if-some\x22,1960677609,null),sci.impl.namespaces.if_some_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22if-some\x22,\x22if-some\x22,1960677609,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null)], null),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22then\x22,\x22then\x22,2101129597,null),new cljs.core.Symbol(null,\x22else\x22,\x22else\x22,132154381,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22oldform\x22,\x22oldform\x22,1995222417,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22bindings \x3d\x3e binding-form test\\n\\n If test is not nil, evaluates then with binding-form bound to the\\n value of test, if not, yields else\x22], null)),cljs.core.subs,sci.impl.parser.default_data_reader_fn,cljs.core.to_array_2d,sci.impl.namespaces.symbol_STAR_,cljs.core.mod,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),sci.impl.namespaces.lazy_seq_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Takes a body of expressions that returns an ISeq or nil, and yields\\n a ISeqable object that will invoke the body only the first time seq\\n is called, and will cache the result and return it on all subsequent\\n seq calls.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22lazy-seq\x22,\x22lazy-seq\x22,489632906,null)], null)),cljs.core.number_QMARK_,cljs.core.reduced_QMARK_,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22-new-dynamic-var\x22,\x22-new-dynamic-var\x22,-1029088918,null),(function (){\nreturn sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(cljs.core.gensym.cljs$core$IFn$_invoke$arity$0(),null,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true], null));\n})),cljs.core.object_QMARK_,cljs.core.conj,cljs.core.bytes,cljs.core.unchecked_float,cljs.core.LazySeq,cljs.core.bit_test,cljs.core.sorted_map_by,cljs.core.double_QMARK_,cljs.core.rseq,cljs.core.unchecked_long,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),sci.impl.namespaces.sci_binding,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22binding\x22,\x22binding\x22,-2114503176,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22bindings\x22,\x22bindings\x22,-1383038577,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22binding \x3d\x3e var-symbol init-expr\\n\\n Creates new bindings for the (already-existing) vars, with the\\n supplied initial values, executes the exprs in an implicit do, then\\n re-establishes the bindings that existed before. The new bindings\\n are made in parallel (unlike let); all init-exprs are evaluated\\n before the vars are bound to their new values.\x22], null)),cljs.core.double$,cljs.core.unchecked_dec,cljs.core.tree_seq,sci.impl.multimethods.multi_fn_add_method_impl,cljs.core.seqable_QMARK_,sci.impl.core_protocols.swap_BANG__STAR_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22vswap!\x22,\x22vswap!\x22,-574070781,null),sci.impl.namespaces.vswap_BANG_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22vswap!\x22,\x22vswap!\x22,-574070781,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22vol\x22,\x22vol\x22,1137570949,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Non-atomically swaps the value of the volatile as if:\\n (apply f current-value-of-vol args). Returns the value that\\n was swapped in.\x22], null)),cljs.core.array_map,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22reset-thread-binding-frame-impl\x22,\x22reset-thread-binding-frame-impl\x22,-826674194,null),sci.impl.vars.reset_thread_binding_frame),cljs.core.dedupe,cljs.core.short$,cljs.core.update,cljs.core.filter,cljs.core.unchecked_dec_int,sci.impl.namespaces._STAR_3,sci.impl.namespaces.sci_requiring_resolve,cljs.core.rem,cljs.core.pop,cljs.core.merge_with,cljs.core.long$,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22assert\x22,\x22assert\x22,677428501,null),sci.impl.namespaces.assert_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22assert\x22,\x22assert\x22,677428501,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22message\x22,\x22message\x22,1234475525,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates expr and throws an exception if it does not evaluate to\\n logical true.\x22], null)),cljs.core.array,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22refer-clojure\x22,\x22refer-clojure\x22,-1840651329,null),sci.impl.namespaces.sci_refer_clojure,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22refer-clojure\x22,\x22refer-clojure\x22,-1840651329,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22args\x22,\x22args\x22,-1338879193,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Refers to all the public vars of `cljs.core`, subject to\\n filters.\\n Filters can include at most one each of:\\n\\n :exclude list-of-symbols\\n :rename map-of-fromsymbol-tosymbol\\n\\n Filters can be used to select a subset, via exclusion, or to provide a mapping\\n to a symbol different from the var\x27s name, in order to prevent clashes.\x22], null)),cljs.core.flatten,cljs.core.distinct_QMARK_,cljs.core.map_indexed,sci.impl.namespaces.sci_ns_publics,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22protocol-type-impl\x22,\x22protocol-type-impl\x22,561934718,null),sci.impl.types.type_impl),cljs.core.even_QMARK_,sci.impl.vars.var_get,sci.impl.multimethods.multi_fn_QMARK__impl,sci.impl.vars.alter_var_root,sci.impl.types.type_impl2,cljs.core.neg_QMARK_,cljs.core.gensym,sci.impl.namespaces.sci_resolve,cljs.core.add_watch,cljs.core.not_any_QMARK_,cljs.core.take_nth,cljs.core.dorun,cljs.core.remove_all_methods,cljs.core.not_empty,sci.impl.parser.suppress_read,sci.impl.namespaces.sci_ns_aliases,sci.impl.io.print_dup_var,sci.impl.namespaces.sci_ns_resolve,sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22get-thread-binding-frame-impl\x22,\x22get-thread-binding-frame-impl\x22,-701667726,null),sci.impl.vars.get_thread_binding_frame),cljs.core.chunk_rest,cljs.core.remove_watch,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),sci.impl.namespaces.or_STAR_,null,new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(cljs.core.PersistentVector.EMPTY,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22next\x22,\x22next\x22,1522830042,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Evaluates exprs one at a time, from left to right. If a form\\n returns a logical true value, or returns that value and doesn\x27t\\n evaluate any of the other expressions, otherwise it returns the\\n value of the last expression. (or) returns nil.\x22,new cljs.core.Keyword(\x22sci.impl\x22,\x22fast-path\x22,\x22sci.impl/fast-path\x22,1273254676),new cljs.core.Symbol(null,\x22or\x22,\x22or\x22,1876275696,null)], null)),cljs.core.int_array,cljs.core.pos_int_QMARK_,cljs.core.undefined_QMARK_,cljs.core.ints,cljs.core.identical_QMARK_,cljs.core.persistent_BANG_,sci.impl.core_protocols.reset_protocol,cljs.core.indexed_QMARK_,cljs.core.min_key,cljs.core.repeatedly,cljs.core.set,cljs.core.remove,cljs.core.keyword_identical_QMARK_,sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22while\x22,\x22while\x22,-1691317983,null),sci.impl.namespaces.while_STAR_,null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22while\x22,\x22while\x22,-1691317983,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22test\x22,\x22test\x22,-2076896892,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.Symbol(null,\x22body\x22,\x22body\x22,-408674142,null)], null)),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Repeatedly executes body while test expression is true. Presumes\\n some side-effect will cause test to become false/nil. Returns nil\x22], null)),cljs.core.re_find,cljs.core.PersistentQueue,cljs.core.seq_to_map_for_destructuring]);\n\nsci.impl.namespaces.dir_fn \x3d (function sci$impl$namespaces$dir_fn(ns){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar current_ns \x3d sci.impl.utils.current_ns_name();\nvar the_ns \x3d sci.impl.namespaces.sci_the_ns_STAR_(ctx,cljs.core.get.cljs$core$IFn$_invoke$arity$3(sci.impl.namespaces.sci_ns_aliases_STAR_(ctx,current_ns),ns,ns));\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,sci.impl.namespaces.sci_ns_publics_STAR_(ctx,the_ns)));\n});\n\nsci.impl.namespaces.dir \x3d (function sci$impl$namespaces$dir(_,___$1,nsname){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22doseq\x22,\x22cljs.core/doseq\x22,-169320766,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__45939__auto__\x22,\x22v__45939__auto__\x22,-208812207,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22dir-fn\x22,\x22clojure.repl/dir-fn\x22,901908317,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,nsname,null,(1),null))))),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22println\x22,\x22cljs.core/println\x22,-331834442,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22v__45939__auto__\x22,\x22v__45939__auto__\x22,-208812207,null),null,(1),null))))),null,(1),null))], 0))));\n});\n\nsci.impl.namespaces.print_doc \x3d (function sci$impl$namespaces$print_doc(m){\nvar arglists \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nvar doc \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nvar macro_QMARK_ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22-------------------------\x22], 0));\n\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[(function (){var temp__5823__auto__ \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar ns_STAR_ \x3d temp__5823__auto__;\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci.impl.types.getName(ns_STAR_)),\x22/\x22].join(\x27\x27);\n} else {\nreturn null;\n}\n})(),cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m))].join(\x27\x27)], 0));\n\nif(cljs.core.truth_(arglists)){\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([arglists], 0));\n} else {\n}\n\nif(cljs.core.truth_(macro_QMARK_)){\nsci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Macro\x22], 0));\n} else {\n}\n\nif(cljs.core.truth_(doc)){\nreturn sci.impl.io.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22 \x22,doc], 0));\n} else {\nreturn null;\n}\n});\n\nsci.impl.namespaces.doc \x3d (function sci$impl$namespaces$doc(_,___$1,sym){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22var__45940__auto__\x22,\x22var__45940__auto__\x22,89532204,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22resolve\x22,\x22cljs.core/resolve\x22,1796776582,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null))))),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22when\x22,\x22cljs.core/when\x22,120293186,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22var?\x22,\x22cljs.core/var?\x22,1711182854,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var__45940__auto__\x22,\x22var__45940__auto__\x22,89532204,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22print-doc\x22,\x22clojure.repl/print-doc\x22,-375546711,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22var__45940__auto__\x22,\x22var__45940__auto__\x22,89532204,null),null,(1),null))))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22if-let\x22,\x22cljs.core/if-let\x22,1346583165,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22ns__45941__auto__\x22,\x22ns__45941__auto__\x22,504380654,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22find-ns\x22,\x22cljs.core/find-ns\x22,-486459417,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,sym,null,(1),null))))),null,(1),null))))),null,(1),null)))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22print-doc\x22,\x22clojure.repl/print-doc\x22,-375546711,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22assoc\x22,\x22cljs.core/assoc\x22,322326297,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22meta\x22,\x22cljs.core/meta\x22,-748218346,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ns__45941__auto__\x22,\x22ns__45941__auto__\x22,504380654,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22ns-name\x22,\x22cljs.core/ns-name\x22,171430027,null),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ns__45941__auto__\x22,\x22ns__45941__auto__\x22,504380654,null),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))))),null,(1),null))], 0)))),null,(1),null))], 0))));\n});\n\n/**\n * Prints documentation for any var whose documentation or name\n * contains a match for re-string-or-pattern\n */\nsci.impl.namespaces.find_doc \x3d (function sci$impl$namespaces$find_doc(re_string_or_pattern){\nvar re \x3d cljs.core.re_pattern(re_string_or_pattern);\nvar ans \x3d sci.impl.namespaces.sci_all_ns();\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar ms \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (p1__45942_SHARP_){\nreturn cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.meta,cljs.core.vals(sci.impl.namespaces.sci_ns_interns_STAR_(ctx,p1__45942_SHARP_))));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ans], 0)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45943_SHARP_){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.meta(p1__45943_SHARP_),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),sci.impl.types.getName(p1__45943_SHARP_));\n}),ans));\nvar seq__46093 \x3d cljs.core.seq(ms);\nvar chunk__46095 \x3d null;\nvar count__46096 \x3d (0);\nvar i__46097 \x3d (0);\nwhile(true){\nif((i__46097 \x3c count__46096)){\nvar m \x3d chunk__46095.cljs$core$IIndexed$_nth$arity$2(null,i__46097);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d cljs.core.re_find(re,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.re_find(re,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m)));\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.namespaces.print_doc(m);\n\n\nvar G__46590 \x3d seq__46093;\nvar G__46591 \x3d chunk__46095;\nvar G__46592 \x3d count__46096;\nvar G__46593 \x3d (i__46097 + (1));\nseq__46093 \x3d G__46590;\nchunk__46095 \x3d G__46591;\ncount__46096 \x3d G__46592;\ni__46097 \x3d G__46593;\ncontinue;\n} else {\nvar G__46595 \x3d seq__46093;\nvar G__46596 \x3d chunk__46095;\nvar G__46597 \x3d count__46096;\nvar G__46598 \x3d (i__46097 + (1));\nseq__46093 \x3d G__46595;\nchunk__46095 \x3d G__46596;\ncount__46096 \x3d G__46597;\ni__46097 \x3d G__46598;\ncontinue;\n}\n} else {\nvar temp__5823__auto__ \x3d cljs.core.seq(seq__46093);\nif(temp__5823__auto__){\nvar seq__46093__$1 \x3d temp__5823__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__46093__$1)){\nvar c__5548__auto__ \x3d cljs.core.chunk_first(seq__46093__$1);\nvar G__46599 \x3d cljs.core.chunk_rest(seq__46093__$1);\nvar G__46600 \x3d c__5548__auto__;\nvar G__46601 \x3d cljs.core.count(c__5548__auto__);\nvar G__46602 \x3d (0);\nseq__46093 \x3d G__46599;\nchunk__46095 \x3d G__46600;\ncount__46096 \x3d G__46601;\ni__46097 \x3d G__46602;\ncontinue;\n} else {\nvar m \x3d cljs.core.first(seq__46093__$1);\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(and__5023__auto__)){\nvar or__5025__auto__ \x3d cljs.core.re_find(re,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.re_find(re,cljs.core.str.cljs$core$IFn$_invoke$arity$1(new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m)));\n}\n} else {\nreturn and__5023__auto__;\n}\n})())){\nsci.impl.namespaces.print_doc(m);\n\n\nvar G__46604 \x3d cljs.core.next(seq__46093__$1);\nvar G__46605 \x3d null;\nvar G__46606 \x3d (0);\nvar G__46607 \x3d (0);\nseq__46093 \x3d G__46604;\nchunk__46095 \x3d G__46605;\ncount__46096 \x3d G__46606;\ni__46097 \x3d G__46607;\ncontinue;\n} else {\nvar G__46608 \x3d cljs.core.next(seq__46093__$1);\nvar G__46609 \x3d null;\nvar G__46610 \x3d (0);\nvar G__46611 \x3d (0);\nseq__46093 \x3d G__46608;\nchunk__46095 \x3d G__46609;\ncount__46096 \x3d G__46610;\ni__46097 \x3d G__46611;\ncontinue;\n}\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n});\n\n/**\n * Given a regular expression or stringable thing, return a seq of all\n * public definitions in all currently-loaded namespaces that match the\n * str-or-pattern.\n */\nsci.impl.namespaces.apropos \x3d (function sci$impl$namespaces$apropos(str_or_pattern){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar matches_QMARK_ \x3d (((str_or_pattern instanceof RegExp))?(function (p1__45944_SHARP_){\nreturn cljs.core.re_find(str_or_pattern,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__45944_SHARP_));\n}):(function (p1__45945_SHARP_){\nreturn clojure.string.includes_QMARK_(cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__45945_SHARP_),cljs.core.str.cljs$core$IFn$_invoke$arity$1(str_or_pattern));\n}));\nreturn cljs.core.sort.cljs$core$IFn$_invoke$arity$1(cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((function (ns){\nvar ns_name \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns);\nreturn cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__45946_SHARP_){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(ns_name,cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__45946_SHARP_));\n}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(matches_QMARK_,cljs.core.keys(sci.impl.namespaces.sci_ns_publics_STAR_(ctx,ns))));\n}),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.namespaces.sci_all_ns()], 0)));\n});\n\n/**\n * Returns a string of the source code for the given symbol, if it can\n * find it. This requires that the symbol resolve to a Var defined in\n * a namespace for which the .clj is in the classpath. Returns nil if\n * it can\x27t find the source. For most REPL usage, \x27source\x27 is more\n * convenient.\n * \n * Example: (source-fn \x27filter)\n */\nsci.impl.namespaces.source_fn \x3d (function sci$impl$namespaces$source_fn(x){\nvar ctx \x3d sci.ctx_store.get_ctx();\nvar temp__5823__auto__ \x3d sci.impl.namespaces.sci_resolve_STAR_.cljs$core$IFn$_invoke$arity$2(ctx,x);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar v \x3d temp__5823__auto__;\nvar map__46110 \x3d cljs.core.meta(v);\nvar map__46110__$1 \x3d cljs.core.__destructure_map(map__46110);\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46110__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar ns \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46110__$1,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d line;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn ns;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar temp__5823__auto____$1 \x3d (function (){var temp__5823__auto____$1 \x3d new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx)));\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar load_fn \x3d temp__5823__auto____$1;\nreturn new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1((function (){var G__46113 \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372),sci.impl.types.getName(ns)], null);\nreturn (load_fn.cljs$core$IFn$_invoke$arity$1 ? load_fn.cljs$core$IFn$_invoke$arity$1(G__46113) : load_fn.call(null,G__46113));\n})());\n} else {\nreturn null;\n}\n})();\nif(cljs.core.truth_(temp__5823__auto____$1)){\nvar source \x3d temp__5823__auto____$1;\nvar lines \x3d clojure.string.split.cljs$core$IFn$_invoke$arity$2(source,/\\n/);\nvar line__$1 \x3d (line - (1));\nvar start \x3d clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(line__$1,lines));\nvar reader \x3d sci.impl.read.source_logging_reader(start);\nvar res \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539),true], null));\nreturn new cljs.core.Keyword(null,\x22source\x22,\x22source\x22,-433931539).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(res));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n\n/**\n * Prints the source code for the given symbol, if it can find it.\n * This requires that the symbol resolve to a Var defined in a\n * namespace for which the .clj is in the classpath.\n * \n * Example: (source filter)\n */\nsci.impl.namespaces.source \x3d (function sci$impl$namespaces$source(_,___$1,n){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22println\x22,\x22cljs.core/println\x22,-331834442,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22or\x22,\x22cljs.core/or\x22,1201033885,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22clojure.repl\x22,\x22source-fn\x22,\x22clojure.repl/source-fn\x22,1877923323,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22quote\x22,\x22quote\x22,1377916282,null),null,(1),null)),(new cljs.core.List(null,n,null,(1),null))))),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Source not found\x22,null,(1),null))))),null,(1),null))], 0)))),null,(1),null)))));\n});\n\nsci.impl.namespaces.clojure_repl_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.repl\x22,\x22clojure.repl\x22,570897595,null),null);\n\nsci.impl.namespaces.clojure_repl \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22find-doc\x22,\x22find-doc\x22,-1096800949,null),new cljs.core.Symbol(null,\x22dir\x22,\x22dir\x22,-919681108,null),new cljs.core.Symbol(null,\x22dir-fn\x22,\x22dir-fn\x22,187684626,null),new cljs.core.Symbol(null,\x22source-fn\x22,\x22source-fn\x22,-1114937984,null),new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),new cljs.core.Symbol(null,\x22doc\x22,\x22doc\x22,-741138878,null),new cljs.core.Symbol(null,\x22print-doc\x22,\x22print-doc\x22,528043232,null),new cljs.core.Symbol(null,\x22apropos\x22,\x22apropos\x22,-1511857537,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962)],[sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22find-doc\x22,\x22find-doc\x22,-1096800949,null),sci.impl.namespaces.find_doc,sci.impl.namespaces.clojure_repl_namespace),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22dir\x22,\x22dir\x22,-919681108,null),sci.impl.namespaces.dir,sci.impl.namespaces.clojure_repl_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22dir\x22,\x22dir\x22,-919681108,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22dir-fn\x22,\x22dir-fn\x22,187684626,null),sci.impl.namespaces.dir_fn,sci.impl.namespaces.clojure_repl_namespace),sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22source-fn\x22,\x22source-fn\x22,-1114937984,null),sci.impl.namespaces.source_fn,sci.impl.namespaces.clojure_repl_namespace),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),sci.impl.namespaces.source,sci.impl.namespaces.clojure_repl_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22source\x22,\x22source\x22,1206599988,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22doc\x22,\x22doc\x22,-741138878,null),sci.impl.namespaces.doc,sci.impl.namespaces.clojure_repl_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22doc\x22,\x22doc\x22,-741138878,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null)),cljs.core.with_meta(sci.impl.namespaces.print_doc,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22private\x22,\x22private\x22,-558947994),true], null)),sci.impl.copy_vars.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22apropos\x22,\x22apropos\x22,-1511857537,null),sci.impl.namespaces.apropos,sci.impl.namespaces.clojure_repl_namespace),sci.impl.namespaces.clojure_repl_namespace]);\n\nsci.impl.namespaces.apply_template \x3d (function sci$impl$namespaces$apply_template(argv,expr,values){\nif(cljs.core.vector_QMARK_(argv)){\n} else {\nthrow (new Error(\x22Assert failed: (vector? argv)\x22));\n}\n\nif(cljs.core.every_QMARK_(cljs.core.symbol_QMARK_,argv)){\n} else {\nthrow (new Error(\x22Assert failed: (every? symbol? argv)\x22));\n}\n\nreturn clojure.walk.postwalk_replace(cljs.core.zipmap(argv,values),expr);\n});\n\nsci.impl.namespaces.do_template \x3d (function sci$impl$namespaces$do_template(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46620 \x3d arguments.length;\nvar i__5750__auto___46621 \x3d (0);\nwhile(true){\nif((i__5750__auto___46621 \x3c len__5749__auto___46620)){\nargs__5755__auto__.push((arguments[i__5750__auto___46621]));\n\nvar G__46622 \x3d (i__5750__auto___46621 + (1));\ni__5750__auto___46621 \x3d G__46622;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((4) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((4)),(0),null)):null);\nreturn sci.impl.namespaces.do_template.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__5756__auto__);\n});\n\n(sci.impl.namespaces.do_template.cljs$core$IFn$_invoke$arity$variadic \x3d (function (_,___$1,argv,expr,values){\nvar c \x3d cljs.core.count(argv);\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),null,(1),null)),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (a){\nreturn sci.impl.namespaces.apply_template(argv,expr,a);\n}),cljs.core.partition.cljs$core$IFn$_invoke$arity$2(c,values)))));\n}));\n\n(sci.impl.namespaces.do_template.cljs$lang$maxFixedArity \x3d (4));\n\n/** @this {Function} */\n(sci.impl.namespaces.do_template.cljs$lang$applyTo \x3d (function (seq46124){\nvar G__46125 \x3d cljs.core.first(seq46124);\nvar seq46124__$1 \x3d cljs.core.next(seq46124);\nvar G__46126 \x3d cljs.core.first(seq46124__$1);\nvar seq46124__$2 \x3d cljs.core.next(seq46124__$1);\nvar G__46127 \x3d cljs.core.first(seq46124__$2);\nvar seq46124__$3 \x3d cljs.core.next(seq46124__$2);\nvar G__46128 \x3d cljs.core.first(seq46124__$3);\nvar seq46124__$4 \x3d cljs.core.next(seq46124__$3);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__46125,G__46126,G__46127,G__46128,seq46124__$4);\n}));\n\n\nsci.impl.namespaces.clojure_template_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.template\x22,\x22clojure.template\x22,-1162325089,null),null);\n\nsci.impl.namespaces.clojure_template \x3d new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.namespaces.clojure_template_namespace,new cljs.core.Symbol(null,\x22apply-template\x22,\x22apply-template\x22,1809601838,null),sci.impl.namespaces.apply_template,new cljs.core.Symbol(null,\x22do-template\x22,\x22do-template\x22,-1578627476,null),sci.impl.copy_vars.macrofy_STAR_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Symbol(null,\x22do-template\x22,\x22do-template\x22,-1578627476,null),sci.impl.namespaces.do_template,sci.impl.namespaces.clojure_template_namespace,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22do-template\x22,\x22do-template\x22,-1578627476,null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),null,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),null], null))], null);\n\nsci.impl.namespaces.clojure_string_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.string\x22,\x22clojure.string\x22,-1415552165,null),null);\n\nsci.impl.namespaces.clojure_set_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.set\x22,\x22clojure.set\x22,-630955632,null),null);\n\nsci.impl.namespaces.clojure_walk_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.walk\x22,\x22clojure.walk\x22,1625897340,null),null);\n\nsci.impl.namespaces.clojure_edn_namespace \x3d sci.lang.__GT_Namespace(new cljs.core.Symbol(null,\x22clojure.edn\x22,\x22clojure.edn\x22,-302325352,null),null);\n\nsci.impl.namespaces.macroexpand_all \x3d (new sci.lang.Var((function (form){\nvar ctx \x3d sci.ctx_store.get_ctx();\nreturn clojure.walk.prewalk((function (x){\nif(cljs.core.seq_QMARK_(x)){\nreturn sci.impl.macroexpand.macroexpand(ctx,x);\n} else {\nreturn x;\n}\n}),form);\n}),new cljs.core.Symbol(null,\x22macroexpand-all\x22,\x22macroexpand-all\x22,966103926,null),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.namespaces.clojure_walk_namespace,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Symbol(null,\x22macroexpand-all\x22,\x22macroexpand-all\x22,966103926,null),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),\x22Recursively performs all possible macroexpansions in form.\x22], null),false,null,null));\n\nsci.impl.namespaces.clojure_walk_ns \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22keywordize-keys\x22,\x22keywordize-keys\x22,-1343651517,null),new cljs.core.Symbol(null,\x22postwalk\x22,\x22postwalk\x22,967039904,null),new cljs.core.Symbol(null,\x22postwalk-replace\x22,\x22postwalk-replace\x22,77744733,null),new cljs.core.Symbol(null,\x22walk\x22,\x22walk\x22,1673453164,null),new cljs.core.Symbol(null,\x22prewalk\x22,\x22prewalk\x22,1337993264,null),new cljs.core.Symbol(null,\x22prewalk-replace\x22,\x22prewalk-replace\x22,2117002030,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22stringify-keys\x22,\x22stringify-keys\x22,1735215919,null),new cljs.core.Symbol(null,\x22macroexpand-all\x22,\x22macroexpand-all\x22,966103926,null)],[clojure.walk.keywordize_keys,clojure.walk.postwalk,clojure.walk.postwalk_replace,clojure.walk.walk,clojure.walk.prewalk,clojure.walk.prewalk_replace,sci.impl.namespaces.clojure_walk_namespace,clojure.walk.stringify_keys,sci.impl.namespaces.macroexpand_all]);\nsci.impl.namespaces.namespaces \x3d cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22clojure.string\x22,\x22clojure.string\x22,-1415552165,null),new cljs.core.Symbol(null,\x22clojure.template\x22,\x22clojure.template\x22,-1162325089,null),new cljs.core.Symbol(null,\x22sci.impl.protocols\x22,\x22sci.impl.protocols\x22,-697012432,null),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Symbol(null,\x22clojure.set\x22,\x22clojure.set\x22,-630955632,null),new cljs.core.Symbol(null,\x22sci.impl.deftype\x22,\x22sci.impl.deftype\x22,959784924,null),new cljs.core.Symbol(null,\x22clojure.walk\x22,\x22clojure.walk\x22,1625897340,null),new cljs.core.Symbol(null,\x22sci.impl.records\x22,\x22sci.impl.records\x22,-393424368,null),new cljs.core.Symbol(null,\x22clojure.edn\x22,\x22clojure.edn\x22,-302325352,null),new cljs.core.Symbol(null,\x22clojure.repl\x22,\x22clojure.repl\x22,570897595,null)],[cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22split\x22,\x22split\x22,1041096409,null),new cljs.core.Symbol(null,\x22index-of\x22,\x22index-of\x22,1275975485,null),new cljs.core.Symbol(null,\x22trimr\x22,\x22trimr\x22,-1739157155,null),new cljs.core.Symbol(null,\x22upper-case\x22,\x22upper-case\x22,1427515769,null),new cljs.core.Symbol(null,\x22lower-case\x22,\x22lower-case\x22,1428172944,null),new cljs.core.Symbol(null,\x22reverse\x22,\x22reverse\x22,752076261,null),new cljs.core.Symbol(null,\x22ends-with?\x22,\x22ends-with?\x22,-346570208,null),new cljs.core.Symbol(null,\x22split-lines\x22,\x22split-lines\x22,777513935,null),new cljs.core.Symbol(null,\x22last-index-of\x22,\x22last-index-of\x22,215608200,null),new cljs.core.Symbol(null,\x22trim-newline\x22,\x22trim-newline\x22,656815794,null),new cljs.core.Symbol(null,\x22blank?\x22,\x22blank?\x22,1891979743,null),new cljs.core.Symbol(null,\x22replace\x22,\x22replace\x22,853943757,null),new cljs.core.Symbol(null,\x22join\x22,\x22join\x22,881669637,null),new cljs.core.Symbol(null,\x22trim\x22,\x22trim\x22,-1880116002,null),new cljs.core.Symbol(null,\x22starts-with?\x22,\x22starts-with?\x22,1014173927,null),new cljs.core.Symbol(null,\x22triml\x22,\x22triml\x22,-286546306,null),new cljs.core.Symbol(null,\x22escape\x22,\x22escape\x22,648929575,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22includes?\x22,\x22includes?\x22,-2049283381,null),new cljs.core.Symbol(null,\x22capitalize\x22,\x22capitalize\x22,-2143275164,null),new cljs.core.Symbol(null,\x22replace-first\x22,\x22replace-first\x22,-943534331,null)],[clojure.string.split,clojure.string.index_of,clojure.string.trimr,clojure.string.upper_case,clojure.string.lower_case,clojure.string.reverse,clojure.string.ends_with_QMARK_,clojure.string.split_lines,clojure.string.last_index_of,clojure.string.trim_newline,clojure.string.blank_QMARK_,clojure.string.replace,clojure.string.join,clojure.string.trim,clojure.string.starts_with_QMARK_,clojure.string.triml,clojure.string.escape,sci.impl.namespaces.clojure_string_namespace,clojure.string.includes_QMARK_,clojure.string.capitalize,clojure.string.replace_first]),sci.impl.namespaces.clojure_template,sci.impl.namespaces.sci_impl_protocols,sci.impl.namespaces.clojure_core,cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22project\x22,\x22project\x22,-1530041190,null),new cljs.core.Symbol(null,\x22map-invert\x22,\x22map-invert\x22,1258886340,null),new cljs.core.Symbol(null,\x22select\x22,\x22select\x22,-1506602266,null),new cljs.core.Symbol(null,\x22superset?\x22,\x22superset?\x22,2074872204,null),new cljs.core.Symbol(null,\x22join\x22,\x22join\x22,881669637,null),new cljs.core.Symbol(null,\x22union\x22,\x22union\x22,-511498270,null),new cljs.core.Symbol(null,\x22rename\x22,\x22rename\x22,-1146278156,null),new cljs.core.Symbol(null,\x22subset?\x22,\x22subset?\x22,1551079215,null),new cljs.core.Symbol(null,\x22difference\x22,\x22difference\x22,-738334373,null),new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),new cljs.core.Symbol(null,\x22intersection\x22,\x22intersection\x22,-650544759,null),new cljs.core.Symbol(null,\x22index\x22,\x22index\x22,108845612,null),new cljs.core.Symbol(null,\x22rename-keys\x22,\x22rename-keys\x22,355340888,null)],[clojure.set.project,clojure.set.map_invert,clojure.set.select,clojure.set.superset_QMARK_,clojure.set.join,clojure.set.union,clojure.set.rename,clojure.set.subset_QMARK_,clojure.set.difference,sci.impl.namespaces.clojure_set_namespace,clojure.set.intersection,clojure.set.index,clojure.set.rename_keys]),sci.impl.namespaces.sci_impl_deftype,sci.impl.namespaces.clojure_walk_ns,sci.impl.namespaces.sci_impl_records,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.namespaces.clojure_edn_namespace,new cljs.core.Symbol(null,\x22read\x22,\x22read\x22,-1514377108,null),cljs.reader.read,new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),cljs.reader.read_string], null),sci.impl.namespaces.clojure_repl]);\n");
SHADOW_ENV.evalLoad("sci.impl.opts.js", true, "goog.provide(\x27sci.impl.opts\x27);\nsci.impl.opts.namespace_syms \x3d cljs.core.keys(sci.impl.namespaces.namespaces);\nsci.impl.opts.init_env_BANG_ \x3d (function sci$impl$opts$init_env_BANG_(env,aliases,namespaces,classes,raw_classes,imports,load_fn,async_load_fn,js_libs,ns_aliases){\nreturn cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env,(function (env__$1){\nvar env_nss \x3d new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469).cljs$core$IFn$_invoke$arity$1(env__$1);\nvar namespaces__$1 \x3d cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var or__5025__auto__ \x3d env_nss;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.namespaces.namespaces;\n}\n})(),namespaces], 0));\nvar aliases__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([aliases,cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(env__$1,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714)], null))], 0));\nvar namespaces__$2 \x3d cljs.core.update.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update.cljs$core$IFn$_invoke$arity$5(namespaces__$1,new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),cljs.core.assoc,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714),aliases__$1),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),cljs.core.assoc,new cljs.core.Symbol(null,\x22global-hierarchy\x22,\x22global-hierarchy\x22,-2014004345,null),sci.impl.utils.new_var.cljs$core$IFn$_invoke$arity$3(new cljs.core.Symbol(null,\x22global-hierarchy\x22,\x22global-hierarchy\x22,-2014004345,null),cljs.core.make_hierarchy(),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci.impl.utils.clojure_core_ns], null)),new cljs.core.Symbol(null,\x22*loaded-libs*\x22,\x22*loaded-libs*\x22,1951428860,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.namespaces.loaded_libs_STAR__STAR_(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.keys(env_nss),sci.impl.opts.namespace_syms))], 0));\nvar imports__$1 \x3d (function (){var temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394).cljs$core$IFn$_invoke$arity$1(env__$1);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar env_imports \x3d temp__5821__auto__;\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([env_imports,imports], 0));\n} else {\nreturn imports;\n}\n})();\nvar ns_aliases__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821).cljs$core$IFn$_invoke$arity$1(env__$1),ns_aliases], 0));\nvar js_libs__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721).cljs$core$IFn$_invoke$arity$1(env__$1),js_libs], 0));\nif(cljs.core.not(env__$1)){\nreturn new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespaces__$2,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),imports__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),load_fn,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029),async_load_fn], null);\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(env__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),namespaces__$2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),imports__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),load_fn,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029),async_load_fn,new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721),js_libs__$1,new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019),new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019).cljs$core$IFn$_invoke$arity$1(classes),new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477).cljs$core$IFn$_invoke$arity$1(classes),new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),raw_classes,new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821),ns_aliases__$1], 0));\n}\n}));\n});\nsci.impl.opts.process_permissions \x3d (function sci$impl$opts$process_permissions(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___46869 \x3d arguments.length;\nvar i__5750__auto___46870 \x3d (0);\nwhile(true){\nif((i__5750__auto___46870 \x3c len__5749__auto___46869)){\nargs__5755__auto__.push((arguments[i__5750__auto___46870]));\n\nvar G__46871 \x3d (i__5750__auto___46870 + (1));\ni__5750__auto___46870 \x3d G__46871;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((1) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((1)),(0),null)):null);\nreturn sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__5756__auto__);\n});\n\n(sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic \x3d (function (prev_perms,permissions){\nreturn cljs.core.not_empty(cljs.core.into.cljs$core$IFn$_invoke$arity$3(prev_perms,cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.cat,cljs.core.map.cljs$core$IFn$_invoke$arity$1(sci.impl.utils.strip_core_ns)),permissions));\n}));\n\n(sci.impl.opts.process_permissions.cljs$lang$maxFixedArity \x3d (1));\n\n/** @this {Function} */\n(sci.impl.opts.process_permissions.cljs$lang$applyTo \x3d (function (seq46784){\nvar G__46785 \x3d cljs.core.first(seq46784);\nvar seq46784__$1 \x3d cljs.core.next(seq46784);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__46785,seq46784__$1);\n}));\n\nsci.impl.opts.default_classes \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22Error\x22,\x22Error\x22,-1692662047,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),Error,new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811),(function() {\nvar G__46878 \x3d null;\nvar G__46878__1 \x3d (function (msg){\nreturn (new Error(msg));\n});\nvar G__46878__2 \x3d (function (msg,filename){\nreturn (new Error(msg,filename));\n});\nvar G__46878__3 \x3d (function (msg,filename,line){\nreturn (new Error(msg,filename,line));\n});\nG__46878 \x3d function(msg,filename,line){\nswitch(arguments.length){\ncase 1:\nreturn G__46878__1.call(this,msg);\ncase 2:\nreturn G__46878__2.call(this,msg,filename);\ncase 3:\nreturn G__46878__3.call(this,msg,filename,line);\n}\nthrow(new Error(\x27Invalid arity: \x27 + arguments.length));\n};\nG__46878.cljs$core$IFn$_invoke$arity$1 \x3d G__46878__1;\nG__46878.cljs$core$IFn$_invoke$arity$2 \x3d G__46878__2;\nG__46878.cljs$core$IFn$_invoke$arity$3 \x3d G__46878__3;\nreturn G__46878;\n})()\n], null),new cljs.core.Symbol(null,\x22cljs.core.PersistentQueue.EMPTY\x22,\x22cljs.core.PersistentQueue.EMPTY\x22,399917828,null),cljs.core.PersistentQueue.EMPTY,new cljs.core.Symbol(null,\x22goog.string.StringBuffer\x22,\x22goog.string.StringBuffer\x22,-1220229842,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),goog.string.StringBuffer,new cljs.core.Keyword(null,\x22constructor\x22,\x22constructor\x22,-1953928811),(function (p1__46788_SHARP_){\nreturn (new goog.string.StringBuffer(p1__46788_SHARP_));\n})], null),new cljs.core.Symbol(null,\x22sci.lang.Type\x22,\x22sci.lang.Type\x22,-534180168,null),sci.lang.Type], null);\nsci.impl.opts.default_imports \x3d cljs.core.PersistentArrayMap.EMPTY;\nsci.impl.opts.stringify_keys \x3d (function sci$impl$opts$stringify_keys(m){\nreturn cljs.core.persistent_BANG_(cljs.core.reduce_kv((function (m__$1,k,v){\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.name(k),v);\n}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),m));\n});\nsci.impl.opts.normalize_classes \x3d (function sci$impl$opts$normalize_classes(classes){\nvar class__GT_opts \x3d cljs.core.transient$(cljs.core.select_keys(classes,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745)], null)));\nvar kvs \x3d classes;\nwhile(true){\nvar temp__5821__auto__ \x3d cljs.core.first(kvs);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar vec__46801 \x3d temp__5821__auto__;\nvar sym \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46801,(0),null);\nvar class_opts \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__46801,(1),null);\nvar G__46887 \x3d ((cljs.core.map_QMARK_(class_opts))?(function (){var temp__5821__auto____$1 \x3d new cljs.core.Keyword(null,\x22static-methods\x22,\x22static-methods\x22,-599124455).cljs$core$IFn$_invoke$arity$1(class_opts);\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar sm \x3d temp__5821__auto____$1;\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(class__GT_opts,sym,class_opts),new cljs.core.Keyword(null,\x22static-methods\x22,\x22static-methods\x22,-599124455),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.Keyword(null,\x22static-methods\x22,\x22static-methods\x22,-599124455).cljs$core$IFn$_invoke$arity$1(class__GT_opts),sym,sm));\n} else {\nreturn cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(class__GT_opts,sym,class_opts);\n}\n})():cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(class__GT_opts,sym,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996),class_opts], null)));\nvar G__46888 \x3d cljs.core.rest(kvs);\nclass__GT_opts \x3d G__46887;\nkvs \x3d G__46888;\ncontinue;\n} else {\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019),new cljs.core.Keyword(null,\x22public-class\x22,\x22public-class\x22,1127293019).cljs$core$IFn$_invoke$arity$1(classes),new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),cljs.core.persistent_BANG_(class__GT_opts)], null);\n}\nbreak;\n}\n});\nsci.impl.opts.default_reify_fn \x3d (function sci$impl$opts$default_reify_fn(_,___$1,___$2){\nreturn null;\n});\nsci.impl.opts.__GT_ctx \x3d (function sci$impl$opts$__GT_ctx(bindings,env,features,readers,check_permissions_QMARK_){\nreturn new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192),bindings,new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235),env,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),features,new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030),readers,new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317),check_permissions_QMARK_], null);\n});\nsci.impl.opts.default_ns_aliases \x3d new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null)], null);\n/**\n * Initializes options\n */\nsci.impl.opts.init \x3d (function sci$impl$opts$init(p__46821){\nvar map__46822 \x3d p__46821;\nvar map__46822__$1 \x3d cljs.core.__destructure_map(map__46822);\nvar aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714));\nvar deny \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523));\nvar classes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22classes\x22,\x22classes\x22,2037804510));\nvar proxy_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22proxy-fn\x22,\x22proxy-fn\x22,1116677438));\nvar features \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336));\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar ns_aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821));\nvar js_libs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721));\nvar bindings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192));\nvar readers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030));\nvar reify_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316));\nvar env \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235));\nvar imports \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394));\nvar allow \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745));\nvar load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334));\nvar async_load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46822__$1,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029));\nvar env__$1 \x3d (function (){var or__5025__auto__ \x3d env;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);\n}\n})();\nvar imports__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.opts.default_imports,imports], 0));\nvar ns_aliases__$1 \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.opts.default_ns_aliases,ns_aliases], 0));\nvar raw_classes \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci.impl.opts.default_classes,classes], 0));\nvar classes__$1 \x3d sci.impl.opts.normalize_classes(raw_classes);\nvar namespaces__$1 \x3d (function (){var G__46832 \x3d namespaces;\nif(cljs.core.truth_(bindings)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__46832,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(bindings,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.utils.user_ns)], null)], 0));\n} else {\nreturn G__46832;\n}\n})();\nvar _ \x3d sci.impl.opts.init_env_BANG_(env__$1,aliases,namespaces__$1,classes__$1,raw_classes,imports__$1,load_fn,async_load_fn,js_libs,ns_aliases__$1);\nvar ctx \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sci.impl.opts.__GT_ctx(cljs.core.PersistentArrayMap.EMPTY,env__$1,features,readers,(function (){var or__5025__auto__ \x3d allow;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn deny;\n}\n})()),new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),(cljs.core.truth_(allow)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(cljs.core.PersistentHashSet.EMPTY,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([allow], 0)):null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523),(cljs.core.truth_(deny)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(cljs.core.PersistentHashSet.EMPTY,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([deny], 0)):null),new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316),(function (){var or__5025__auto__ \x3d reify_fn;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn sci.impl.opts.default_reify_fn;\n}\n})(),new cljs.core.Keyword(null,\x22proxy-fn\x22,\x22proxy-fn\x22,1116677438),proxy_fn], 0));\nreturn ctx;\n});\nsci.impl.opts.merge_opts \x3d (function sci$impl$opts$merge_opts(ctx,opts){\nvar _BANG_env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\nvar env \x3d cljs.core.deref(_BANG_env);\nvar map__46852 \x3d opts;\nvar map__46852__$1 \x3d cljs.core.__destructure_map(map__46852);\nvar aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22aliases\x22,\x22aliases\x22,1346874714));\nvar deny \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523));\nvar classes \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22classes\x22,\x22classes\x22,2037804510));\nvar features \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__46852__$1,new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336).cljs$core$IFn$_invoke$arity$1(ctx));\nvar namespaces \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469));\nvar ns_aliases \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821));\nvar js_libs \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721));\nvar bindings \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22bindings\x22,\x22bindings\x22,1271397192));\nvar readers \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22readers\x22,\x22readers\x22,-2118263030));\nvar reify_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316));\nvar imports \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394));\nvar allow \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__46852__$1,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745));\nvar load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__46852__$1,new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334).cljs$core$IFn$_invoke$arity$1(env));\nvar async_load_fn \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$3(map__46852__$1,new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029),new cljs.core.Keyword(null,\x22async-load-fn\x22,\x22async-load-fn\x22,-472170029).cljs$core$IFn$_invoke$arity$1(env));\nvar raw_classes \x3d cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(_BANG_env)),classes], 0));\nvar classes__$1 \x3d sci.impl.opts.normalize_classes(raw_classes);\nvar namespaces__$1 \x3d (function (){var G__46853 \x3d namespaces;\nif(cljs.core.truth_(bindings)){\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__46853,new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22user\x22,\x22user\x22,-1122004413,null),cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(bindings,new cljs.core.Keyword(null,\x22obj\x22,\x22obj\x22,981763962),sci.impl.utils.user_ns)], null)], 0));\n} else {\nreturn G__46853;\n}\n})();\nvar _ \x3d sci.impl.opts.init_env_BANG_(_BANG_env,aliases,namespaces__$1,classes__$1,raw_classes,imports,load_fn,async_load_fn,js_libs,ns_aliases);\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(sci.impl.opts.__GT_ctx(cljs.core.PersistentArrayMap.EMPTY,_BANG_env,features,readers,(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22check-permissions\x22,\x22check-permissions\x22,669054317).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nvar or__5025__auto____$1 \x3d allow;\nif(cljs.core.truth_(or__5025__auto____$1)){\nreturn or__5025__auto____$1;\n} else {\nreturn deny;\n}\n}\n})()),new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),(cljs.core.truth_(allow)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([allow], 0)):null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523),(cljs.core.truth_(deny)?sci.impl.opts.process_permissions.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22deny\x22,\x22deny\x22,1589338523).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([deny], 0)):null),new cljs.core.Keyword(null,\x22reify-fn\x22,\x22reify-fn\x22,-1360983316),reify_fn,new cljs.core.Keyword(null,\x22main-thread-id\x22,\x22main-thread-id\x22,1264618959),new cljs.core.Keyword(null,\x22main-thread-id\x22,\x22main-thread-id\x22,1264618959).cljs$core$IFn$_invoke$arity$1(ctx)], 0));\nreturn ctx__$1;\n});\n");
SHADOW_ENV.evalLoad("sci.impl.interpreter.js", true, "goog.provide(\x27sci.impl.interpreter\x27);\nsci.impl.interpreter.eval_form_STAR_ \x3d (function sci$impl$interpreter$eval_form_STAR_(ctx,form){\nvar eval_file \x3d new cljs.core.Keyword(\x22clojure.core\x22,\x22eval-file\x22,\x22clojure.core/eval-file\x22,801420726).cljs$core$IFn$_invoke$arity$1(cljs.core.meta(form));\nif(cljs.core.truth_(eval_file)){\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_file,eval_file]));\n} else {\n}\n\ntry{if(cljs.core.seq_QMARK_(form)){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22do\x22,\x22do\x22,1686842252,null),cljs.core.first(form))){\nvar m__46679__auto__ \x3d cljs.core.meta(form);\nvar loc__46680__auto__ \x3d (cljs.core.truth_((function (){var and__5023__auto__ \x3d true;\nif(and__5023__auto__){\nvar and__5023__auto____$1 \x3d m__46679__auto__;\nif(cljs.core.truth_(and__5023__auto____$1)){\nreturn new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46679__auto__);\n} else {\nreturn and__5023__auto____$1;\n}\n} else {\nreturn and__5023__auto__;\n}\n})())?new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095).cljs$core$IFn$_invoke$arity$1(m__46679__auto__),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235).cljs$core$IFn$_invoke$arity$1(m__46679__auto__)], null):null);\nif(cljs.core.truth_(loc__46680__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d loc__46680__auto__);\n} else {\n}\n\ntry{var exprs \x3d cljs.core.rest(form);\nvar ret \x3d null;\nwhile(true){\nif(cljs.core.seq(exprs)){\nvar G__48343 \x3d cljs.core.rest(exprs);\nvar G__48344 \x3d (function (){var G__48307 \x3d ctx;\nvar G__48308 \x3d cljs.core.first(exprs);\nreturn (sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2 ? sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2(G__48307,G__48308) : sci.impl.interpreter.eval_form_STAR_.call(null,G__48307,G__48308));\n})();\nexprs \x3d G__48343;\nret \x3d G__48344;\ncontinue;\n} else {\nreturn ret;\n}\nbreak;\n}\n}finally {if(cljs.core.truth_(loc__46680__auto__)){\n(sci.impl.utils._STAR_top_level_location_STAR_ \x3d null);\n} else {\n}\n}} else {\nvar upper_sym \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar cb \x3d cljs.core.volatile_BANG_(cljs.core.PersistentArrayMap.createAsIfByAssoc([upper_sym,new cljs.core.PersistentArrayMap(null, 1, [(0),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.PersistentArrayMap.EMPTY], null)], null)]));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037),cb], 0));\nvar _ \x3d (sci.ctx_store._STAR_ctx_STAR_ \x3d ctx__$1);\nvar analyzed \x3d sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$3(ctx__$1,form,true);\nvar binding_array_size \x3d cljs.core.count(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cb),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)], null)));\nvar bindings \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(binding_array_size);\nif((analyzed instanceof sci.impl.types.EvalForm)){\nvar G__48311 \x3d ctx__$1;\nvar G__48312 \x3d analyzed.sci$impl$types$IBox$getVal$arity$1(null);\nreturn (sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2 ? sci.impl.interpreter.eval_form_STAR_.cljs$core$IFn$_invoke$arity$2(G__48311,G__48312) : sci.impl.interpreter.eval_form_STAR_.call(null,G__48311,G__48312));\n} else {\ntry{return sci.impl.types.eval(analyzed,ctx__$1,bindings);\n}catch (e48313){if((e48313 instanceof Error)){\nvar e \x3d e48313;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx__$1,bindings,e,analyzed);\n} else {\nthrow e48313;\n\n}\n}}\n}\n} else {\nvar upper_sym \x3d cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\nvar cb \x3d cljs.core.volatile_BANG_(cljs.core.PersistentArrayMap.createAsIfByAssoc([upper_sym,new cljs.core.PersistentArrayMap(null, 1, [(0),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762),cljs.core.PersistentArrayMap.EMPTY], null)], null)]));\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(ctx,new cljs.core.Keyword(null,\x22parents\x22,\x22parents\x22,-2027538891),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22closure-bindings\x22,\x22closure-bindings\x22,112932037),cb], 0));\nvar analyzed \x3d sci.impl.analyzer.analyze.cljs$core$IFn$_invoke$arity$2(ctx__$1,form);\nvar binding_array_size \x3d cljs.core.count(cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cb),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [upper_sym,(0),new cljs.core.Keyword(null,\x22syms\x22,\x22syms\x22,-1575891762)], null)));\nvar bindings \x3d cljs.core.object_array.cljs$core$IFn$_invoke$arity$1(binding_array_size);\ntry{return sci.impl.types.eval(analyzed,ctx__$1,bindings);\n}catch (e48315){if((e48315 instanceof Error)){\nvar e \x3d e48315;\nreturn sci.impl.utils.rethrow_with_location_of_node.cljs$core$IFn$_invoke$arity$4(ctx__$1,bindings,e,analyzed);\n} else {\nthrow e48315;\n\n}\n}}\n}finally {if(cljs.core.truth_(eval_file)){\nsci.impl.vars.pop_thread_bindings();\n} else {\n}\n}});\nsci.impl.interpreter.eval_form \x3d (function sci$impl$interpreter$eval_form(ctx,form){\nvar _STAR_ctx_STAR__orig_val__48320 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__48321 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__48321);\n\ntry{return sci.impl.interpreter.eval_form_STAR_(ctx,form);\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__48320);\n}});\ncljs.core.vreset_BANG_(sci.impl.utils.eval_form_state,sci.impl.interpreter.eval_form);\nsci.impl.interpreter.eval_string_STAR_ \x3d (function sci$impl$interpreter$eval_string_STAR_(var_args){\nvar G__48326 \x3d arguments.length;\nswitch (G__48326) {\ncase 2:\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,s){\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3(ctx,s,null);\n}));\n\n(sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,s,opts){\nsci.impl.vars.push_thread_bindings(cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.impl.utils.current_ns,(function (){var or__5025__auto__ \x3d (cljs.core.truth_(opts)?new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(opts):null);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.deref(sci.impl.utils.current_ns);\n}\n})(),sci.impl.parser.data_readers,cljs.core.deref(sci.impl.parser.data_readers)]));\n\ntry{var reader \x3d cljs.tools.reader.reader_types.indexing_push_back_reader.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.reader_types.string_push_back_reader.cljs$core$IFn$_invoke$arity$1(s));\nvar eval_string_PLUS__QMARK_ \x3d (cljs.core.truth_(opts)?new cljs.core.Keyword(\x22sci.impl\x22,\x22eval-string+\x22,\x22sci.impl/eval-string+\x22,-178784582).cljs$core$IFn$_invoke$arity$1(opts):null);\nvar ret \x3d null;\nwhile(true){\nvar expr \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$2(ctx,reader);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),expr)){\nif(cljs.core.truth_(eval_string_PLUS__QMARK_)){\nreturn new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612),ret,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),cljs.core.deref(sci.impl.utils.current_ns)], null);\n} else {\nreturn ret;\n}\n} else {\nvar ret__$1 \x3d sci.impl.interpreter.eval_form(ctx,expr);\nvar G__48351 \x3d ret__$1;\nret \x3d G__48351;\ncontinue;\n}\nbreak;\n}\n}finally {sci.impl.vars.pop_thread_bindings();\n}}));\n\n(sci.impl.interpreter.eval_string_STAR_.cljs$lang$maxFixedArity \x3d 3);\n\nsci.impl.interpreter.eval_string \x3d (function sci$impl$interpreter$eval_string(var_args){\nvar G__48338 \x3d arguments.length;\nswitch (G__48338) {\ncase 1:\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2(s,null);\n}));\n\n(sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nvar init_ctx \x3d sci.impl.opts.init(opts);\nvar ret \x3d sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2(init_ctx,s);\nreturn ret;\n}));\n\n(sci.impl.interpreter.eval_string.cljs$lang$maxFixedArity \x3d 2);\n\n");
SHADOW_ENV.evalLoad("sci.core.js", true, "goog.provide(\x27sci.core\x27);\n/**\n * Returns a new sci var.\n */\nsci.core.new_var \x3d (function sci$core$new_var(var_args){\nvar G__49554 \x3d arguments.length;\nswitch (G__49554) {\ncase 1:\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.new_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nvar G__49557 \x3d sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name,null,null);\nsci.impl.vars.unbind(G__49557);\n\nreturn G__49557;\n}));\n\n(sci.core.new_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.core.new_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(init_val,name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(meta,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))),false,false,null));\n}));\n\n(sci.core.new_var.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Same as new-var but adds :dynamic true to meta.\n */\nsci.core.new_dynamic_var \x3d (function sci$core$new_dynamic_var(var_args){\nvar G__49564 \x3d arguments.length;\nswitch (G__49564) {\ncase 1:\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$1 \x3d (function (name){\nvar G__49566 \x3d sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name,null,null);\nsci.impl.vars.unbind(G__49566);\n\nreturn G__49566;\n}));\n\n(sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(init_val,name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(meta,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))], 0)),false,false,null));\n}));\n\n(sci.core.new_dynamic_var.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Establish thread local binding of dynamic var\n */\nsci.core.set_BANG_ \x3d (function sci$core$set_BANG_(dynamic_var,v){\nreturn sci.impl.types.setVal(dynamic_var,v);\n});\n/**\n * Same as new-var but adds :macro true to meta as well\n * as :sci/macro true to meta of the fn itself.\n */\nsci.core.new_macro_var \x3d (function sci$core$new_macro_var(var_args){\nvar G__49572 \x3d arguments.length;\nswitch (G__49572) {\ncase 2:\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$2 \x3d (function (name,init_val){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name,init_val,cljs.core.meta(name));\n}));\n\n(sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3 \x3d (function (name,init_val,meta){\nreturn (new sci.lang.Var(cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4(init_val,cljs.core.assoc,new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),true),name,cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(meta,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),(sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1 ? sci.impl.utils.unqualify_symbol.cljs$core$IFn$_invoke$arity$1(name) : sci.impl.utils.unqualify_symbol.call(null,name))], 0)),false,false,null));\n}));\n\n(sci.core.new_macro_var.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Copies Clojure var to SCI var. Runtime analog of compile time `copy-var`.\n */\nsci.core.copy_var_STAR_ \x3d (function sci$core$copy_var_STAR_(clojure_var,sci_ns){\nvar m \x3d cljs.core.meta(clojure_var);\nvar nm \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nvar doc \x3d new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m);\nvar arglists \x3d new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m);\nvar dynamic \x3d new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m);\nvar macro \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m);\nvar new_m \x3d (function (){var G__49585 \x3d new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci_ns,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),nm], null);\nvar G__49585__$1 \x3d (cljs.core.truth_(macro)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49585,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),true):G__49585);\nvar G__49585__$2 \x3d (cljs.core.truth_(doc)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49585__$1,new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),doc):G__49585__$1);\nvar G__49585__$3 \x3d (cljs.core.truth_(arglists)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49585__$2,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),arglists):G__49585__$2);\nif(cljs.core.truth_(dynamic)){\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49585__$3,new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571),dynamic);\n} else {\nreturn G__49585__$3;\n}\n})();\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(nm,cljs.core.deref(clojure_var),new_m);\n});\n/**\n * SCI var that represents SCI\x27s `clojure.core/*in*`\n */\nsci.core.in$ \x3d sci.impl.io.in$;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*out*`\n */\nsci.core.out \x3d sci.impl.io.out;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*err*`\n */\nsci.core.err \x3d sci.impl.io.err;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*ns*`\n */\nsci.core.ns \x3d sci.impl.utils.current_ns;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*file*`\n */\nsci.core.file \x3d sci.impl.utils.current_file;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*read-eval*`\n */\nsci.core.read_eval \x3d sci.impl.parser.read_eval;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-length*`\n */\nsci.core.print_length \x3d sci.impl.io.print_length;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-level*`\n */\nsci.core.print_level \x3d sci.impl.io.print_level;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-meta*`\n */\nsci.core.print_meta \x3d sci.impl.io.print_meta;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-readably*`\n */\nsci.core.print_readably \x3d sci.impl.io.print_readably;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-dup*`\n */\nsci.core.print_dup \x3d sci.impl.io.print_dup_var;\n/**\n * SCI var that represents SCI\x27s `clojure.core/*print-namespace-maps*`\n */\nsci.core.print_namespace_maps \x3d sci.impl.io.print_namespace_maps;\n/**\n * SCI var that represents SCI\x27s `cljs.core/*print-fn*`\n */\nsci.core.print_fn \x3d sci.impl.io.print_fn;\n/**\n * SCI var that represents SCI\x27s `cljs.core/*print-err-fn*`\n */\nsci.core.print_err_fn \x3d sci.impl.io.print_err_fn;\n/**\n * SCI var that represents SCI\x27s `cljs.core/*print-newline*`\n */\nsci.core.print_newline \x3d sci.impl.io.print_newline;\n/**\n * SCI var that represents SCI\x27s clojure.core/*assert*\n */\nsci.core.assert \x3d sci.impl.namespaces.assert_var;\nsci.core._STAR_1 \x3d sci.impl.namespaces._STAR_1;\nsci.core._STAR_2 \x3d sci.impl.namespaces._STAR_2;\nsci.core._STAR_3 \x3d sci.impl.namespaces._STAR_3;\nsci.core._STAR_e \x3d sci.impl.namespaces._STAR_e;\n/**\n * Atomically alters the root binding of sci var v by applying f to its\n * current value plus any args.\n */\nsci.core.alter_var_root \x3d (function sci$core$alter_var_root(var_args){\nvar G__49615 \x3d arguments.length;\nswitch (G__49615) {\ncase 2:\nreturn sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nvar args_arr__5774__auto__ \x3d [];\nvar len__5749__auto___49733 \x3d arguments.length;\nvar i__5750__auto___49734 \x3d (0);\nwhile(true){\nif((i__5750__auto___49734 \x3c len__5749__auto___49733)){\nargs_arr__5774__auto__.push((arguments[i__5750__auto___49734]));\n\nvar G__49735 \x3d (i__5750__auto___49734 + (1));\ni__5750__auto___49734 \x3d G__49735;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5775__auto__ \x3d ((((2) \x3c args_arr__5774__auto__.length))?(new cljs.core.IndexedSeq(args_arr__5774__auto__.slice((2)),(0),null)):null);\nreturn sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__5775__auto__);\n\n}\n});\n\n(sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$2 \x3d (function (v,f){\nvar _STAR_unrestricted_STAR__orig_val__49616 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__49617 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__49617);\n\ntry{return sci.impl.vars.alter_var_root.cljs$core$IFn$_invoke$arity$2(v,f);\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__49616);\n}}));\n\n(sci.core.alter_var_root.cljs$core$IFn$_invoke$arity$variadic \x3d (function (v,f,args){\nvar _STAR_unrestricted_STAR__orig_val__49623 \x3d sci.impl.unrestrict._STAR_unrestricted_STAR_;\nvar _STAR_unrestricted_STAR__temp_val__49624 \x3d true;\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__temp_val__49624);\n\ntry{return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(sci.impl.vars.alter_var_root,v,f,args);\n}finally {(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d _STAR_unrestricted_STAR__orig_val__49623);\n}}));\n\n/** @this {Function} */\n(sci.core.alter_var_root.cljs$lang$applyTo \x3d (function (seq49612){\nvar G__49613 \x3d cljs.core.first(seq49612);\nvar seq49612__$1 \x3d cljs.core.next(seq49612);\nvar G__49614 \x3d cljs.core.first(seq49612__$1);\nvar seq49612__$2 \x3d cljs.core.next(seq49612__$1);\nvar self__5734__auto__ \x3d this;\nreturn self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__49613,G__49614,seq49612__$2);\n}));\n\n(sci.core.alter_var_root.cljs$lang$maxFixedArity \x3d (2));\n\n/**\n * Finds or creates a sci var named by the symbol name in the namespace\n * ns (which can be a symbol or a sci namespace), setting its root\n * binding to val if supplied. The namespace must exist in the ctx. The\n * sci var will adopt any metadata from the name symbol. Returns the\n * sci var.\n */\nsci.core.intern \x3d (function sci$core$intern(var_args){\nvar G__49628 \x3d arguments.length;\nswitch (G__49628) {\ncase 3:\nreturn sci.core.intern.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ncase 4:\nreturn sci.core.intern.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.intern.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,sci_ns,name){\nvar _STAR_ctx_STAR__orig_val__49629 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__49630 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__49630);\n\ntry{return sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$2(sci_ns,name);\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__49629);\n}}));\n\n(sci.core.intern.cljs$core$IFn$_invoke$arity$4 \x3d (function (ctx,sci_ns,name,val){\nvar _STAR_ctx_STAR__orig_val__49633 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__49634 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__49634);\n\ntry{return sci.impl.namespaces.sci_intern.cljs$core$IFn$_invoke$arity$3(sci_ns,name,val);\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__49633);\n}}));\n\n(sci.core.intern.cljs$lang$maxFixedArity \x3d 4);\n\n/**\n * Evaluates string `s` as one or multiple Clojure expressions using the Small Clojure Interpreter.\n * \n * The map `opts` may contain the following:\n * \n * - `:namespaces`: a map of symbols to namespaces, where a namespace\n * is a map with symbols to values, e.g.: `{\x27foo.bar {\x27x 1}}`. These\n * namespaces can be used with `require`.\n * \n * - `:allow`: a seqable of allowed symbols. All symbols, even those\n * brought in via `:namespaces` have to be explicitly\n * enumerated.\n * \n * - `:deny`: a seqable of disallowed symbols, e.g.: `[loop quote\n * recur]`.\n * \n * - `:features`: when provided a non-empty set of keywords, sci will process reader conditionals using these features (e.g. #{:bb}).\n * \n * - `:ns-aliases`: a map of aliases to namespaces that are globally valid, e.g. `{\x27clojure.test \x27cljs.test}`\n * \n * - `:bindings`: DEPRECATED - `:bindings x` is the same as `:namespaces {\x27user x}`.\n */\nsci.core.eval_string \x3d (function sci$core$eval_string(var_args){\nvar G__49637 \x3d arguments.length;\nswitch (G__49637) {\ncase 1:\nreturn sci.core.eval_string.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.eval_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.eval_string.cljs$core$IFn$_invoke$arity$1 \x3d (function (s){\nreturn sci.core.eval_string.cljs$core$IFn$_invoke$arity$2(s,null);\n}));\n\n(sci.core.eval_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (s,opts){\nreturn sci.impl.interpreter.eval_string.cljs$core$IFn$_invoke$arity$2(s,opts);\n}));\n\n(sci.core.eval_string.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Creates an initial sci context from given options `opts`. The context\n * can be used with `eval-string*`. See `eval-string` for available\n * options. The internal organization of the context is implementation\n * detail and may change in the future.\n */\nsci.core.init \x3d (function sci$core$init(opts){\nreturn sci.impl.opts.init(opts);\n});\n/**\n * Updates a context with opts merged in and returns it.\n */\nsci.core.merge_opts \x3d (function sci$core$merge_opts(ctx,opts){\nreturn sci.impl.opts.merge_opts(ctx,opts);\n});\n/**\n * Forks a context (as produced with `init`) into a new context. Any new\n * vars created in the new context won\x27t be visible in the original\n * context.\n */\nsci.core.fork \x3d (function sci$core$fork(ctx){\nreturn cljs.core.update.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235),(function (env){\nreturn cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.deref(env));\n}));\n});\n/**\n * Evaluates string `s` in the context of `ctx` (as produced with\n * `init`).\n */\nsci.core.eval_string_STAR_ \x3d (function sci$core$eval_string_STAR_(ctx,s){\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$2(ctx,s);\n});\n/**\n * Evaluates string `s` in the context of `ctx` (as produced with\n * `init`).\n * \n * Options:\n * *`:ns` - the namespace to start evaluation in (defaults to the value of `sci/ns`)\n * \n * Returns map with:\n * * `:val` - the evaluated value\n * * `:ns` - the namespace object\n */\nsci.core.eval_string_PLUS_ \x3d (function sci$core$eval_string_PLUS_(var_args){\nvar G__49642 \x3d arguments.length;\nswitch (G__49642) {\ncase 2:\nreturn sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,s){\nreturn sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$3(ctx,s,null);\n}));\n\n(sci.core.eval_string_PLUS_.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,s,opts){\nreturn sci.impl.interpreter.eval_string_STAR_.cljs$core$IFn$_invoke$arity$3(ctx,s,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,new cljs.core.Keyword(\x22sci.impl\x22,\x22eval-string+\x22,\x22sci.impl/eval-string+\x22,-178784582),true));\n}));\n\n(sci.core.eval_string_PLUS_.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Creates namespace object. Can be used in var metadata.\n */\nsci.core.create_ns \x3d (function sci$core$create_ns(var_args){\nvar G__49649 \x3d arguments.length;\nswitch (G__49649) {\ncase 1:\nreturn sci.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ncase 2:\nreturn sci.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.create_ns.cljs$core$IFn$_invoke$arity$1 \x3d (function (sym){\nreturn sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,null);\n}));\n\n(sci.core.create_ns.cljs$core$IFn$_invoke$arity$2 \x3d (function (sym,meta){\nreturn sci.lang.__GT_Namespace(sym,meta);\n}));\n\n(sci.core.create_ns.cljs$lang$maxFixedArity \x3d 2);\n\n/**\n * Parses string `s` in the context of `ctx` (as produced with\n * `init`).\n */\nsci.core.parse_string \x3d (function sci$core$parse_string(ctx,s){\nreturn sci.impl.parser.parse_string(ctx,s);\n});\n/**\n * Coerces x into indexing pushback-reader to be used with\n * parse-next. Accepts: string or java.io.Reader.\n */\nsci.core.reader \x3d (function sci$core$reader(x){\nreturn sci.impl.parser.reader(x);\n});\nsci.core.source_reader \x3d (function sci$core$source_reader(x){\nreturn edamame.core.source_reader(x);\n});\nsci.core.get_line_number \x3d (function sci$core$get_line_number(reader){\nreturn sci.impl.parser.get_line_number(reader);\n});\nsci.core.get_column_number \x3d (function sci$core$get_column_number(reader){\nreturn sci.impl.parser.get_column_number(reader);\n});\n/**\n * Parses next form from reader\n */\nsci.core.parse_next \x3d (function sci$core$parse_next(var_args){\nvar G__49656 \x3d arguments.length;\nswitch (G__49656) {\ncase 2:\nreturn sci.core.parse_next.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.parse_next.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.parse_next.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn sci.core.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(sci.core.parse_next.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,opts){\nvar v \x3d sci.impl.parser.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,opts);\nif(cljs.core.keyword_identical_QMARK_(new cljs.core.Keyword(\x22sci.impl.parser.edamame\x22,\x22eof\x22,\x22sci.impl.parser.edamame/eof\x22,-917261517),v)){\nvar or__5025__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\x22eof\x22,\x22eof\x22,-489063237));\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci.core\x22,\x22eof\x22,\x22sci.core/eof\x22,-808584945);\n}\n} else {\nreturn v;\n}\n}));\n\n(sci.core.parse_next.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Parses next form from reader\n */\nsci.core.parse_next_PLUS_string \x3d (function sci$core$parse_next_PLUS_string(var_args){\nvar G__49662 \x3d arguments.length;\nswitch (G__49662) {\ncase 2:\nreturn sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));\n\nbreak;\ncase 3:\nreturn sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));\n\nbreak;\ndefault:\nthrow (new Error([\x22Invalid arity: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join(\x27\x27)));\n\n}\n});\n\n(sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$2 \x3d (function (ctx,reader){\nreturn sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$3(ctx,reader,cljs.core.PersistentArrayMap.EMPTY);\n}));\n\n(sci.core.parse_next_PLUS_string.cljs$core$IFn$_invoke$arity$3 \x3d (function (ctx,reader,opts){\nif(cljs.tools.reader.reader_types.source_logging_reader_QMARK_(reader)){\nvar v \x3d sci.core.parse_next.cljs$core$IFn$_invoke$arity$3(ctx,reader,opts);\nvar s \x3d clojure.string.trim(cljs.core.str.cljs$core$IFn$_invoke$arity$1(edamame.impl.parser.buf(reader)));\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [v,s], null);\n} else {\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\x22parse-next+string must be called with source-reader\x22,cljs.core.PersistentArrayMap.EMPTY);\n}\n}));\n\n(sci.core.parse_next_PLUS_string.cljs$lang$maxFixedArity \x3d 3);\n\n/**\n * Evaluates form (as produced by `parse-string` or `parse-next`) in the\n * context of `ctx` (as produced with `init`). To allow namespace\n * switches, establish root binding of `sci/ns` with `sci/binding` or\n * `sci/with-bindings.`\n */\nsci.core.eval_form \x3d (function sci$core$eval_form(ctx,form){\nvar ctx__$1 \x3d cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ctx,new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092),(function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22id\x22,\x22id\x22,-1388402092).cljs$core$IFn$_invoke$arity$1(ctx);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();\n}\n})());\nreturn sci.impl.interpreter.eval_form(ctx__$1,form);\n});\n/**\n * Returns list of stacktrace element maps from exception, if available.\n */\nsci.core.stacktrace \x3d (function sci$core$stacktrace(ex){\nvar G__49668 \x3d ex;\nvar G__49668__$1 \x3d (((G__49668 \x3d\x3d null))?null:cljs.core.ex_data(G__49668));\nvar G__49668__$2 \x3d (((G__49668__$1 \x3d\x3d null))?null:new cljs.core.Keyword(\x22sci.impl\x22,\x22callstack\x22,\x22sci.impl/callstack\x22,-1621010557).cljs$core$IFn$_invoke$arity$1(G__49668__$1));\nif((G__49668__$2 \x3d\x3d null)){\nreturn null;\n} else {\nreturn sci.impl.callstack.stacktrace(G__49668__$2);\n}\n});\n/**\n * Returns a list of formatted stack trace elements as strings from stacktrace.\n */\nsci.core.format_stacktrace \x3d (function sci$core$format_stacktrace(stacktrace){\nreturn sci.impl.callstack.format_stacktrace(stacktrace);\n});\n/**\n * Returns name of SCI ns as symbol.\n */\nsci.core.ns_name \x3d (function sci$core$ns_name(sci_ns){\nreturn sci.impl.types.getName(sci_ns);\n});\nsci.core._copy_ns \x3d (function sci$core$_copy_ns(ns_publics_map,sci_ns){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns_map,p__49669){\nvar vec__49670 \x3d p__49669;\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49670,(0),null);\nvar var$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49670,(1),null);\nvar m \x3d new cljs.core.Keyword(null,\x22meta\x22,\x22meta\x22,1499536964).cljs$core$IFn$_invoke$arity$1(var$);\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns_map,var_name,sci.core.new_var.cljs$core$IFn$_invoke$arity$3(var_name,(function (){var temp__5821__auto__ \x3d new cljs.core.Keyword(null,\x22var\x22,\x22var\x22,-769682797).cljs$core$IFn$_invoke$arity$1(var$);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar var$__$1 \x3d temp__5821__auto__;\nreturn cljs.core.deref(var$__$1);\n} else {\nreturn new cljs.core.Keyword(null,\x22val\x22,\x22val\x22,128701612).cljs$core$IFn$_invoke$arity$1(var$);\n}\n})(),cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),sci_ns,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),var_name], 0))));\n}),cljs.core.PersistentArrayMap.EMPTY,ns_publics_map);\n});\nsci.core.process_publics \x3d (function sci$core$process_publics(publics,p__49674){\nvar map__49675 \x3d p__49674;\nvar map__49675__$1 \x3d cljs.core.__destructure_map(map__49675);\nvar exclude \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49675__$1,new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334));\nvar publics__$1 \x3d (cljs.core.truth_(exclude)?cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.dissoc,publics,exclude):publics);\nreturn publics__$1;\n});\nsci.core.exclude_when_meta \x3d (function sci$core$exclude_when_meta(publics_map,meta_fn,key_fn,val_fn,skip_keys){\nreturn cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ns_map,p__49680){\nvar vec__49681 \x3d p__49680;\nvar var_name \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49681,(0),null);\nvar var$ \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49681,(1),null);\nvar temp__5821__auto__ \x3d (meta_fn.cljs$core$IFn$_invoke$arity$1 ? meta_fn.cljs$core$IFn$_invoke$arity$1(var$) : meta_fn.call(null,var$));\nif(cljs.core.truth_(temp__5821__auto__)){\nvar m \x3d temp__5821__auto__;\nif(cljs.core.truth_(cljs.core.some(m,skip_keys))){\nreturn ns_map;\n} else {\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ns_map,(key_fn.cljs$core$IFn$_invoke$arity$1 ? key_fn.cljs$core$IFn$_invoke$arity$1(var_name) : key_fn.call(null,var_name)),(val_fn.cljs$core$IFn$_invoke$arity$2 ? val_fn.cljs$core$IFn$_invoke$arity$2(var$,m) : val_fn.call(null,var$,m)));\n}\n} else {\nreturn ns_map;\n}\n}),cljs.core.PersistentArrayMap.EMPTY,publics_map);\n});\nsci.core.normalize_meta \x3d (function sci$core$normalize_meta(m){\nvar temp__5821__auto__ \x3d new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar sci_macro \x3d temp__5821__auto__;\nreturn cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),sci_macro);\n} else {\nreturn m;\n}\n});\nsci.core.meta_fn \x3d (function sci$core$meta_fn(opts){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),opts)){\nreturn sci.core.normalize_meta;\n} else {\nif(cljs.core.truth_(opts)){\nreturn (function (p1__49689_SHARP_){\nreturn sci.core.normalize_meta(cljs.core.select_keys(p1__49689_SHARP_,opts));\n});\n} else {\nreturn (function (p1__49690_SHARP_){\nreturn sci.core.normalize_meta(cljs.core.select_keys(p1__49690_SHARP_,new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22no-doc\x22,\x22no-doc\x22,1559921891),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571)], null)));\n});\n\n}\n}\n});\n/**\n * Adds import of class named by `class-name` (a symbol) to namespace named by `ns-name` (a symbol) under alias `alias` (a symbol). Returns mutated context.\n */\nsci.core.add_import_BANG_ \x3d (function sci$core$add_import_BANG_(ctx,ns_name,class_name,alias){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),(function (env){\nreturn cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.assoc_in(env,new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,new cljs.core.Keyword(null,\x22imports\x22,\x22imports\x22,-1249933394),alias], null),class_name),new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name,new cljs.core.Keyword(null,\x22refer\x22,\x22refer\x22,-964295553),new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),new cljs.core.Keyword(null,\x22exclude\x22,\x22exclude\x22,-1230250334)], null),cljs.core.fnil.cljs$core$IFn$_invoke$arity$2(cljs.core.conj,cljs.core.PersistentHashSet.EMPTY),alias);\n}));\n\nreturn ctx;\n});\n/**\n * Adds class (JVM class or JS object) to `ctx` as `class-name` (a\n * symbol). Returns mutated context.\n */\nsci.core.add_class_BANG_ \x3d (function sci$core$add_class_BANG_(ctx,class_name,class$){\nvar env \x3d new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx);\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(env,(function (env__$1){\nreturn cljs.core.assoc_in(cljs.core.assoc_in(env__$1,new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22class-\x3eopts\x22,\x22class-\x3eopts\x22,2061906477),class_name,new cljs.core.Keyword(null,\x22class\x22,\x22class\x22,-2030961996)], null),class$),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22raw-classes\x22,\x22raw-classes\x22,1669916511),class_name], null),class$);\n}));\n\nreturn ctx;\n});\n/**\n * Adds namespace map `ns-map` named by the symbol `ns-name` to\n * `ctx`. Returns mutated context.\n */\nsci.core.add_namespace_BANG_ \x3d (function sci$core$add_namespace_BANG_(ctx,ns_name,ns_map){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.update_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),ns_name], null),cljs.core.merge,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ns_map], 0));\n\nreturn ctx;\n});\n/**\n * Returns SCI ns object as created with `sci/create-ns` from `ctx` found by `ns-sym`.\n */\nsci.core.find_ns \x3d (function sci$core$find_ns(ctx,ns_sym){\nreturn sci.impl.namespaces.sci_find_ns_STAR_(ctx,ns_sym);\n});\n/**\n * Returns all SCI ns objects in the `ctx`\n */\nsci.core.all_ns \x3d (function sci$core$all_ns(ctx){\nvar _STAR_ctx_STAR__orig_val__49703 \x3d sci.ctx_store._STAR_ctx_STAR_;\nvar _STAR_ctx_STAR__temp_val__49704 \x3d ctx;\n(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__temp_val__49704);\n\ntry{return sci.impl.namespaces.sci_all_ns();\n}finally {(sci.ctx_store._STAR_ctx_STAR_ \x3d _STAR_ctx_STAR__orig_val__49703);\n}});\n/**\n * Calling this will enable\n * - Altering core vars using `alter-var-root`\n * - In CLJS: `set!` is able to set the value of any var.\n * - In CLJS: instance method calls are not restricted to only `:classes`\n * \n * In the future, more unrestricted access may be added, so only use this when you\x27re not using SCI as a sandbox.\n */\nsci.core.enable_unrestricted_access_BANG_ \x3d (function sci$core$enable_unrestricted_access_BANG_(){\nreturn (sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d true);\n});\n/**\n * Returns a fully qualified symbol from a `sci.lang.Var`\n */\nsci.core.var__GT_symbol \x3d (function sci$core$var__GT_symbol(sci_var){\nvar m \x3d cljs.core.meta(sci_var);\nvar sci_ns \x3d new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760).cljs$core$IFn$_invoke$arity$1(m);\nvar n \x3d new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m);\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sci_ns),cljs.core.str.cljs$core$IFn$_invoke$arity$1(n));\n});\nsci.core.resolve \x3d (function sci$core$resolve(ctx,sym){\nvar G__49711 \x3d ctx;\nvar G__49712 \x3d cljs.core.PersistentArrayMap.EMPTY;\nvar G__49713 \x3d sym;\nvar fexpr__49710 \x3d cljs.core.deref(sci.impl.utils.eval_resolve_state);\nreturn (fexpr__49710.cljs$core$IFn$_invoke$arity$3 ? fexpr__49710.cljs$core$IFn$_invoke$arity$3(G__49711,G__49712,G__49713) : fexpr__49710.call(null,G__49711,G__49712,G__49713));\n});\n/**\n * Add js library to context, so it can be used with `require`.\n */\nsci.core.add_js_lib_BANG_ \x3d (function sci$core$add_js_lib_BANG_(ctx,name_str,js_lib){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(new cljs.core.Keyword(null,\x22env\x22,\x22env\x22,-1815813235).cljs$core$IFn$_invoke$arity$1(ctx),cljs.core.assoc_in,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22js-libs\x22,\x22js-libs\x22,-502933721),name_str], null),js_lib);\n\nreturn ctx;\n});\n");
SHADOW_ENV.evalLoad("scittle.impl.common.js", true, "goog.provide(\x27scittle.impl.common\x27);\nscittle.impl.common.cljns \x3d sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),null);\n");
SHADOW_ENV.evalLoad("scittle.impl.error.js", true, "goog.provide(\x27scittle.impl.error\x27);\nscittle.impl.error.println \x3d (function scittle$impl$error$println(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___49870 \x3d arguments.length;\nvar i__5750__auto___49871 \x3d (0);\nwhile(true){\nif((i__5750__auto___49871 \x3c len__5749__auto___49870)){\nargs__5755__auto__.push((arguments[i__5750__auto___49871]));\n\nvar G__49872 \x3d (i__5750__auto___49871 + (1));\ni__5750__auto___49871 \x3d G__49872;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\n\n(scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic \x3d (function (strs){\nreturn console.error(clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22 \x22,strs));\n}));\n\n(scittle.impl.error.println.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(scittle.impl.error.println.cljs$lang$applyTo \x3d (function (seq49803){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq49803));\n}));\n\nscittle.impl.error.ruler \x3d (function scittle$impl$error$ruler(title){\nreturn scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.apply.cljs$core$IFn$_invoke$arity$5(cljs.core.str,\x22----- \x22,title,\x22 \x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((((50) - (7)) - cljs.core.count(title)),\x22-\x22))], 0));\n});\nscittle.impl.error.split_stacktrace \x3d (function scittle$impl$error$split_stacktrace(stacktrace,verbose_QMARK_){\nif(cljs.core.truth_(verbose_QMARK_)){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [stacktrace], null);\n} else {\nvar stack_count \x3d cljs.core.count(stacktrace);\nif((stack_count \x3c\x3d (10))){\nreturn new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [stacktrace], null);\n} else {\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2((5),stacktrace),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((stack_count - (5)),stacktrace)], null);\n}\n}\n});\nscittle.impl.error.print_stacktrace \x3d (function scittle$impl$error$print_stacktrace(stacktrace,p__49830){\nvar map__49832 \x3d p__49830;\nvar map__49832__$1 \x3d cljs.core.__destructure_map(map__49832);\nvar verbose_QMARK_ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49832__$1,new cljs.core.Keyword(null,\x22verbose?\x22,\x22verbose?\x22,1244836832));\nvar stacktrace__$1 \x3d sci.core.format_stacktrace(stacktrace);\nvar segments \x3d scittle.impl.error.split_stacktrace(stacktrace__$1,verbose_QMARK_);\nvar vec__49836 \x3d segments;\nvar fst \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49836,(0),null);\nvar snd \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49836,(1),null);\ncljs.core.run_BANG_((function (p1__49822_SHARP_){\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__49822_SHARP_,\x22\\n\x22], 0));\n}),fst);\n\nif(cljs.core.truth_(snd)){\ncljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22...\\n\x22], 0));\n\nreturn cljs.core.run_BANG_((function (p1__49823_SHARP_){\nreturn cljs.core.print.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([p1__49823_SHARP_,\x22\\n\x22], 0));\n}),snd);\n} else {\nreturn null;\n}\n});\nscittle.impl.error.error_context \x3d (function scittle$impl$error$error_context(ex,src_map){\nvar map__49844 \x3d cljs.core.ex_data(ex);\nvar map__49844__$1 \x3d cljs.core.__destructure_map(map__49844);\nvar file \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49844__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49844__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49844__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.truth_((function (){var and__5023__auto__ \x3d file;\nif(cljs.core.truth_(and__5023__auto__)){\nreturn line;\n} else {\nreturn and__5023__auto__;\n}\n})())){\nvar temp__5823__auto__ \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(src_map,file);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar content \x3d temp__5823__auto__;\nvar matching_line \x3d (line - (1));\nvar start_line \x3d (function (){var x__5110__auto__ \x3d (matching_line - (4));\nvar y__5111__auto__ \x3d (0);\nreturn ((x__5110__auto__ \x3e y__5111__auto__) ? x__5110__auto__ : y__5111__auto__);\n})();\nvar end_line \x3d (matching_line + (6));\nvar vec__49849 \x3d cljs.core.split_at(((matching_line - start_line) + (1)),cljs.core.take.cljs$core$IFn$_invoke$arity$2((end_line - start_line),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(start_line,cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2(cljs.core.list,clojure.string.split_lines(content)))));\nvar before \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49849,(0),null);\nvar after \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49849,(1),null);\nvar snippet_lines \x3d cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(before,new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,[clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\x22,cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((column - (1)),\x22 \x22)),[\x22^--- \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.ex_message(ex))].join(\x27\x27)].join(\x27\x27)], null)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([after], 0));\nvar indices \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,snippet_lines);\nvar max_size \x3d cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(0),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.count,cljs.core.str),indices));\nvar snippet_lines__$1 \x3d cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__49856){\nvar vec__49857 \x3d p__49856;\nvar idx \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49857,(0),null);\nvar line__$1 \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49857,(1),null);\nif(cljs.core.truth_(idx)){\nvar line_number \x3d (idx + (1));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_number).padStart(max_size,\x220\x22)),\x22 \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(line__$1)].join(\x27\x27);\n} else {\nreturn [clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(((2) + max_size),\x22 \x22)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(line__$1)].join(\x27\x27);\n}\n}),snippet_lines);\nreturn [\x22\\n\x22,clojure.string.join.cljs$core$IFn$_invoke$arity$2(\x22\\n\x22,snippet_lines__$1)].join(\x27\x27);\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\nscittle.impl.error.right_pad \x3d (function scittle$impl$error$right_pad(s,n){\nvar n__$1 \x3d (n - cljs.core.count(s));\nreturn [cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),clojure.string.join.cljs$core$IFn$_invoke$arity$1(cljs.core.repeat.cljs$core$IFn$_invoke$arity$2(n__$1,\x22 \x22))].join(\x27\x27);\n});\nscittle.impl.error.error_handler \x3d (function scittle$impl$error$error_handler(e,src_map){\nvar d \x3d cljs.core.ex_data(e);\nvar sci_error_QMARK_ \x3d cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\x22type\x22,\x22type\x22,1174270348).cljs$core$IFn$_invoke$arity$1(d),new cljs.core.Keyword(\x22sci\x22,\x22error\x22,\x22sci/error\x22,-979082803));\nvar stacktrace \x3d sci.core.stacktrace(e);\nscittle.impl.error.ruler(\x22Scittle error\x22);\n\nvar temp__5823__auto___49885 \x3d e.name;\nif(cljs.core.truth_(temp__5823__auto___49885)){\nvar name_49886 \x3d temp__5823__auto___49885;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(\x22Error\x22,name_49886)){\n} else {\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Type: \x22,name_49886], 0));\n}\n} else {\n}\n\nvar temp__5823__auto___49887 \x3d e.message;\nif(cljs.core.truth_(temp__5823__auto___49887)){\nvar m_49888 \x3d temp__5823__auto___49887;\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Message: \x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(m_49888)].join(\x27\x27)], 0));\n} else {\n}\n\nvar temp__5823__auto___49889 \x3d cljs.core.ex_data(cljs.core.ex_cause(e));\nif(cljs.core.truth_(temp__5823__auto___49889)){\nvar d_49890__$1 \x3d temp__5823__auto___49889;\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Data: \x22,cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d_49890__$1], 0))], 0));\n} else {\n}\n\nvar map__49864_49891 \x3d d;\nvar map__49864_49892__$1 \x3d cljs.core.__destructure_map(map__49864_49891);\nvar file_49893 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49864_49892__$1,new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878));\nvar line_49894 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49864_49892__$1,new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235));\nvar column_49895 \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49864_49892__$1,new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095));\nif(cljs.core.truth_(line_49894)){\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\x22Location: \x22,(cljs.core.truth_(file_49893)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(file_49893),\x22:\x22].join(\x27\x27):null),cljs.core.str.cljs$core$IFn$_invoke$arity$1(line_49894),\x22:\x22,cljs.core.str.cljs$core$IFn$_invoke$arity$1(column_49895),\x22\x22].join(\x27\x27)], 0));\n} else {\n}\n\nvar temp__5823__auto___49897 \x3d new cljs.core.Keyword(null,\x22phase\x22,\x22phase\x22,575722892).cljs$core$IFn$_invoke$arity$1(d);\nif(cljs.core.truth_(temp__5823__auto___49897)){\nvar phase_49898 \x3d temp__5823__auto___49897;\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\x22Phase: \x22,phase_49898], 0));\n} else {\n}\n\nvar temp__5823__auto___49899 \x3d ((sci_error_QMARK_)?scittle.impl.error.error_context(e,src_map):null);\nif(cljs.core.truth_(temp__5823__auto___49899)){\nvar ec_49900 \x3d temp__5823__auto___49899;\nscittle.impl.error.ruler(\x22Context\x22);\n\nscittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([ec_49900], 0));\n} else {\n}\n\nif(sci_error_QMARK_){\nvar temp__5823__auto__ \x3d (function (){var st \x3d (function (){var sb__5670__auto__ \x3d (new goog.string.StringBuffer());\nvar _STAR_print_newline_STAR__orig_val__49865_49901 \x3d cljs.core._STAR_print_newline_STAR_;\nvar _STAR_print_fn_STAR__orig_val__49866_49902 \x3d cljs.core._STAR_print_fn_STAR_;\nvar _STAR_print_newline_STAR__temp_val__49867_49903 \x3d true;\nvar _STAR_print_fn_STAR__temp_val__49868_49904 \x3d (function (x__5671__auto__){\nreturn sb__5670__auto__.append(x__5671__auto__);\n});\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__temp_val__49867_49903);\n\n(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__temp_val__49868_49904);\n\ntry{if(cljs.core.truth_(stacktrace)){\nscittle.impl.error.print_stacktrace(stacktrace,src_map);\n} else {\n}\n}finally {(cljs.core._STAR_print_fn_STAR_ \x3d _STAR_print_fn_STAR__orig_val__49866_49902);\n\n(cljs.core._STAR_print_newline_STAR_ \x3d _STAR_print_newline_STAR__orig_val__49865_49901);\n}\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb__5670__auto__);\n})();\nif(clojure.string.blank_QMARK_(st)){\nreturn null;\n} else {\nreturn st;\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar st \x3d temp__5823__auto__;\nscittle.impl.error.ruler(\x22Stack trace\x22);\n\nreturn scittle.impl.error.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([st], 0));\n} else {\nreturn null;\n}\n} else {\nreturn null;\n}\n});\n");
SHADOW_ENV.evalLoad("scittle.core.js", true, "goog.provide(\x27scittle.core\x27);\ngoog.scope(function(){\n scittle.core.goog$module$goog$object \x3d goog.module.get(\x27goog.object\x27);\n});\n(sci.impl.unrestrict._STAR_unrestricted_STAR_ \x3d true);\nscittle.core.doc \x3d globalThis.document;\nvar ret__5804__auto___50016 \x3d /**\n * Evaluates expr and prints the time it took. Returns the value of expr.\n */\nscittle.core.time \x3d (function scittle$core$time(_AMPERSAND_form,_AMPERSAND_env,expr){\nreturn cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22let\x22,\x22cljs.core/let\x22,-308701135,null),null,(1),null)),(new cljs.core.List(null,cljs.core.vec(cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__49906__auto__\x22,\x22start__49906__auto__\x22,-1203886167,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__49907__auto__\x22,\x22ret__49907__auto__\x22,1669904901,null),null,(1),null)),(new cljs.core.List(null,expr,null,(1),null))], 0))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$2((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22prn\x22,\x22cljs.core/prn\x22,1725204552,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22str\x22,\x22cljs.core/str\x22,-1971828991,null),null,(1),null)),(new cljs.core.List(null,\x22Elapsed time: \x22,null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(null,\x22.toFixed\x22,\x22.toFixed\x22,-895046938,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22-\x22,\x22cljs.core/-\x22,187040141,null),null,(1),null)),(new cljs.core.List(null,cljs.core.sequence.cljs$core$IFn$_invoke$arity$1(cljs.core.seq(cljs.core.concat.cljs$core$IFn$_invoke$arity$1((new cljs.core.List(null,new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),null,(1),null))))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,new cljs.core.Symbol(null,\x22start__49906__auto__\x22,\x22start__49906__auto__\x22,-1203886167,null),null,(1),null))], 0)))),null,(1),null)),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(new cljs.core.List(null,(6),null,(1),null))], 0)))),null,(1),null)),(new cljs.core.List(null,\x22 msecs\x22,null,(1),null))], 0)))),null,(1),null))))),null,(1),null)),(new cljs.core.List(null,new cljs.core.Symbol(null,\x22ret__49907__auto__\x22,\x22ret__49907__auto__\x22,1669904901,null),null,(1),null))], 0))));\n});\n(scittle.core.time.cljs$lang$macro \x3d true);\n\nscittle.core.stns \x3d sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22sci.script-tag\x22,\x22sci.script-tag\x22,922462701,null),null);\nscittle.core.rns \x3d sci.core.create_ns.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\x22cljs.reader\x22,\x22cljs.reader\x22,1327473948,null),null);\nscittle.core.namespaces \x3d new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Symbol(null,\x22clojure.core\x22,\x22clojure.core\x22,-189332625,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Symbol(null,\x22NaN?\x22,\x22NaN?\x22,-277236124,null),new cljs.core.Symbol(null,\x22parse-boolean\x22,\x22parse-boolean\x22,1597835260,null),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),new cljs.core.Symbol(null,\x22update-keys\x22,\x22update-keys\x22,1989413883,null),new cljs.core.Symbol(null,\x22abs\x22,\x22abs\x22,1394505050,null),new cljs.core.Symbol(null,\x22parse-double\x22,\x22parse-double\x22,539629745,null),new cljs.core.Symbol(null,\x22parse-long\x22,\x22parse-long\x22,-331085761,null),new cljs.core.Symbol(null,\x22parse-uuid\x22,\x22parse-uuid\x22,-1353654565,null),new cljs.core.Symbol(null,\x22infinite?\x22,\x22infinite?\x22,-377355081,null),new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),new cljs.core.Symbol(null,\x22system-time\x22,\x22system-time\x22,1690633727,null),new cljs.core.Symbol(null,\x22iteration\x22,\x22iteration\x22,551579478,null),new cljs.core.Symbol(null,\x22random-uuid\x22,\x22random-uuid\x22,-1574409597,null),new cljs.core.Symbol(null,\x22update-vals\x22,\x22update-vals\x22,767480843,null)],[(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.NaN_QMARK_;},new cljs.core.Symbol(\x22cljs.core\x22,\x22NaN?\x22,\x22cljs.core/NaN?\x22,-683978047,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22NaN?\x22,\x22NaN?\x22,-277236124,null),\x22cljs/core.cljs\x22,20,1,12230,12230,new cljs.core.Symbol(null,\x22boolean\x22,\x22boolean\x22,-278886877,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22val\x22,\x22val\x22,1769233139,null)], null)),\x22Returns true if num is NaN, else false\x22,((cljs.core.NaN_QMARK_)?cljs.core.NaN_QMARK_.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_boolean;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-boolean\x22,\x22cljs.core/parse-boolean\x22,1744747289,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-boolean\x22,\x22parse-boolean\x22,1597835260,null),\x22cljs/core.cljs\x22,20,1,12279,12279,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse strings \\\x22true\\\x22 or \\\x22false\\\x22 and return a boolean, or nil if invalid. Note that this explicitly\\n excludes strings with different cases, or space characters.\x22,(cljs.core.truth_(cljs.core.parse_boolean)?cljs.core.parse_boolean.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return scittle.core.time;},new cljs.core.Symbol(\x22scittle.core\x22,\x22time\x22,\x22scittle.core/time\x22,835259980,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22scittle.core\x22,\x22scittle.core\x22,-2069969035,null),new cljs.core.Symbol(null,\x22time\x22,\x22time\x22,-1268547887,null),\x22scittle/core.cljs\x22,28,1,19,true,19,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22expr\x22,\x22expr\x22,-1908713478,null)], null)),\x22Evaluates expr and prints the time it took. Returns the value of expr.\x22,(cljs.core.truth_(scittle.core.time)?scittle.core.time.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.update_keys;},new cljs.core.Symbol(\x22cljs.core\x22,\x22update-keys\x22,\x22cljs.core/update-keys\x22,1297524294,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22update-keys\x22,\x22update-keys\x22,1989413883,null),\x22cljs/core.cljs\x22,18,1,12086,12086,cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null)], null)),\x22m f \x3d\x3e {(f k) v ...}\\n Given a map m and a function f of 1-argument, returns a new map whose\\n keys are the result of applying f to the keys of m, mapped to the\\n corresponding values of m.\\n f must return a unique key for each key of m, else the behavior is undefined.\x22,(cljs.core.truth_(cljs.core.update_keys)?cljs.core.update_keys.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.abs;},new cljs.core.Symbol(\x22cljs.core\x22,\x22abs\x22,\x22cljs.core/abs\x22,-1949230943,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11.10\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22abs\x22,\x22abs\x22,1394505050,null),\x22cljs/core.cljs\x22,18,1,2766,2766,new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22a\x22,\x22a\x22,-482876059,null)], null)),\x22Returns the absolute value of a.\x22,(cljs.core.truth_(cljs.core.abs)?cljs.core.abs.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_double;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-double\x22,\x22cljs.core/parse-double\x22,141344022,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-double\x22,\x22parse-double\x22,539629745,null),\x22cljs/core.cljs\x22,27,1,12252,12252,new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse string with floating point components and return a floating point value,\\n or nil if parse fails.\\n Grammar: https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html#valueOf-java.lang.String-\x22,(cljs.core.truth_(cljs.core.parse_double)?cljs.core.parse_double.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_long;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-long\x22,\x22cljs.core/parse-long\x22,-738007718,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22tag\x22,\x22tag\x22,-1290361223),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-long\x22,\x22parse-long\x22,-331085761,null),\x22cljs/core.cljs\x22,25,1,12240,12240,new cljs.core.Symbol(null,\x22number\x22,\x22number\x22,-1084057331,null),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse string of decimal digits with optional leading -/+ and return an\\n integer value, or nil if parse fails\x22,(cljs.core.truth_(cljs.core.parse_long)?cljs.core.parse_long.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.parse_uuid;},new cljs.core.Symbol(\x22cljs.core\x22,\x22parse-uuid\x22,\x22cljs.core/parse-uuid\x22,-140527072,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22parse-uuid\x22,\x22parse-uuid\x22,-1353654565,null),\x22cljs/core.cljs\x22,17,1,12269,12269,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Parse a string representing a UUID and return a UUID instance,\\n or nil if parse fails.\\n Grammar: https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#toString--\x22,(cljs.core.truth_(cljs.core.parse_uuid)?cljs.core.parse_uuid.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.infinite_QMARK_;},new cljs.core.Symbol(\x22cljs.core\x22,\x22infinite?\x22,\x22cljs.core/infinite?\x22,-1069503726,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22infinite?\x22,\x22infinite?\x22,-377355081,null),\x22cljs/core.cljs\x22,16,1,2404,2404,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22x\x22,\x22x\x22,-555367584,null)], null)),\x22Returns true for Infinity and -Infinity values.\x22,(cljs.core.truth_(cljs.core.infinite_QMARK_)?cljs.core.infinite_QMARK_.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.reader.read_string;},new cljs.core.Symbol(\x22cljs.reader\x22,\x22read-string\x22,\x22cljs.reader/read-string\x22,589673466,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22top-fn\x22,\x22top-fn\x22,-2056129173),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.reader\x22,\x22cljs.reader\x22,1327473948,null),new cljs.core.Symbol(null,\x22read-string\x22,\x22read-string\x22,-558384455,null),\x22cljs/reader.cljs\x22,18,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22variadic?\x22,\x22variadic?\x22,584179762),false,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),2,new cljs.core.Keyword(null,\x22max-fixed-arity\x22,\x22max-fixed-arity\x22,-690205543),2,new cljs.core.Keyword(null,\x22method-params\x22,\x22method-params\x22,-980792179),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)], null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),new cljs.core.Keyword(null,\x22arglists-meta\x22,\x22arglists-meta\x22,1944829838),cljs.core.list(null,null)], null),1,174,174,cljs.core.list(new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22opts\x22,\x22opts\x22,1795607228,null),new cljs.core.Symbol(null,\x22s\x22,\x22s\x22,-948495851,null)], null)),\x22Reads one object from the string s.\\n Returns nil when s is nil or empty.\\n\\n Reads data in the edn format (subset of Clojure data):\\n http://edn-format.org\\n\\n opts is a map as per cljs.tools.reader.edn/read\x22,(cljs.core.truth_(cljs.reader.read_string)?cljs.reader.read_string.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.system_time;},new cljs.core.Symbol(\x22cljs.core\x22,\x22system-time\x22,\x22cljs.core/system-time\x22,1562011930,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22system-time\x22,\x22system-time\x22,1690633727,null),\x22cljs/core.cljs\x22,18,1,403,403,cljs.core.list(cljs.core.PersistentVector.EMPTY),\x22Returns highest resolution time offered by host in milliseconds.\x22,(cljs.core.truth_(cljs.core.system_time)?cljs.core.system_time.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.iteration;},new cljs.core.Symbol(\x22cljs.core\x22,\x22iteration\x22,\x22cljs.core/iteration\x22,405209769,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22top-fn\x22,\x22top-fn\x22,-2056129173),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22iteration\x22,\x22iteration\x22,551579478,null),\x22cljs/core.cljs\x22,16,new cljs.core.PersistentArrayMap(null, 6, [new cljs.core.Keyword(null,\x22variadic?\x22,\x22variadic?\x22,584179762),true,new cljs.core.Keyword(null,\x22fixed-arity\x22,\x22fixed-arity\x22,1586445869),(1),new cljs.core.Keyword(null,\x22max-fixed-arity\x22,\x22max-fixed-arity\x22,-690205543),(1),new cljs.core.Keyword(null,\x22method-params\x22,\x22method-params\x22,-980792179),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.list(new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22keys\x22,\x22keys\x22,1068423698),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null)], null),new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),null], null)], null))], null),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22keys\x22,\x22keys\x22,1068423698),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null)], null),new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),null], null)], null)], null)),new cljs.core.Keyword(null,\x22arglists-meta\x22,\x22arglists-meta\x22,1944829838),cljs.core.list(null)], null),1,11113,11113,cljs.core.list(new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22step\x22,\x22step\x22,-1365547645,null),new cljs.core.Symbol(null,\x22\x26\x22,\x22\x26\x22,-2144855648,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22keys\x22,\x22keys\x22,1068423698),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null)], null),new cljs.core.Keyword(null,\x22or\x22,\x22or\x22,235744169),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Symbol(null,\x22vf\x22,\x22vf\x22,1319108258,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22kf\x22,\x22kf\x22,-1046348180,null),new cljs.core.Symbol(null,\x22identity\x22,\x22identity\x22,-1007039734,null),new cljs.core.Symbol(null,\x22somef\x22,\x22somef\x22,1017941162,null),new cljs.core.Symbol(null,\x22some?\x22,\x22some?\x22,234752293,null),new cljs.core.Symbol(null,\x22initk\x22,\x22initk\x22,-52811460,null),null], null)], null)], null)),\x22Creates a seqable/reducible via repeated calls to step,\\n a function of some (continuation token) \x27k\x27. The first call to step\\n will be passed initk, returning \x27ret\x27. Iff (somef ret) is true,\\n (vf ret) will be included in the iteration, else iteration will\\n terminate and vf/kf will not be called. If (kf ret) is non-nil it\\n will be passed to the next step call, else iteration will terminate.\\n This can be used e.g. to consume APIs that return paginated or batched data.\\n step - (possibly impure) fn of \x27k\x27 -\x3e \x27ret\x27\\n :somef - fn of \x27ret\x27 -\x3e logical true/false, default \x27some?\x27\\n :vf - fn of \x27ret\x27 -\x3e \x27v\x27, a value produced by the iteration, default \x27identity\x27\\n :kf - fn of \x27ret\x27 -\x3e \x27next-k\x27 or nil (signaling \x27do not continue\x27), default \x27identity\x27\\n :initk - the first value passed to step, default \x27nil\x27\\n It is presumed that step with non-initk is unreproducible/non-idempotent.\\n If step with initk is unreproducible it is on the consumer to not consume twice.\x22,(cljs.core.truth_(cljs.core.iteration)?cljs.core.iteration.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.random_uuid;},new cljs.core.Symbol(\x22cljs.core\x22,\x22random-uuid\x22,\x22cljs.core/random-uuid\x22,1256838686,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22random-uuid\x22,\x22random-uuid\x22,-1574409597,null),\x22cljs/core.cljs\x22,18,1,11745,11745,cljs.core.list(cljs.core.PersistentVector.EMPTY),\x22Returns a pseudo-randomly generated UUID instance (i.e. type 4).\x22,(cljs.core.truth_(cljs.core.random_uuid)?cljs.core.random_uuid.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})(),(function (){var ns__49406__auto__ \x3d scittle.impl.common.cljns;\nvar var__49407__auto__ \x3d new cljs.core.Var(function(){return cljs.core.update_vals;},new cljs.core.Symbol(\x22cljs.core\x22,\x22update-vals\x22,\x22cljs.core/update-vals\x22,-713262704,null),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,\x22added\x22,\x22added\x22,2057651688),new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),new cljs.core.Keyword(null,\x22file\x22,\x22file\x22,-1269645878),new cljs.core.Keyword(null,\x22end-column\x22,\x22end-column\x22,1425389514),new cljs.core.Keyword(null,\x22column\x22,\x22column\x22,2078222095),new cljs.core.Keyword(null,\x22line\x22,\x22line\x22,212345235),new cljs.core.Keyword(null,\x22end-line\x22,\x22end-line\x22,1837326455),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22test\x22,\x22test\x22,577538877)],[\x221.11\x22,new cljs.core.Symbol(null,\x22cljs.core\x22,\x22cljs.core\x22,770546058,null),new cljs.core.Symbol(null,\x22update-vals\x22,\x22update-vals\x22,767480843,null),\x22cljs/core.cljs\x22,18,1,12071,12071,cljs.core.list(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\x22m\x22,\x22m\x22,-1021758608,null),new cljs.core.Symbol(null,\x22f\x22,\x22f\x22,43394975,null)], null)),\x22m f \x3d\x3e {k (f v) ...}\\n Given a map m and a function f of 1-argument, returns a new map where the keys of m\\n are mapped to result of applying f to the corresponding values of m.\x22,(cljs.core.truth_(cljs.core.update_vals)?cljs.core.update_vals.cljs$lang$test:null)]));\nvar val__49408__auto__ \x3d cljs.core.deref(var__49407__auto__);\nvar m__49409__auto__ \x3d cljs.core.meta(var__49407__auto__);\nvar name__49410__auto__ \x3d (function (){var or__5025__auto__ \x3d null;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})();\nvar new_m__49411__auto__ \x3d new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\x22ns\x22,\x22ns\x22,441598760),ns__49406__auto__,new cljs.core.Keyword(null,\x22name\x22,\x22name\x22,1843675177),name__49410__auto__,new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754),new cljs.core.Keyword(null,\x22arglists\x22,\x22arglists\x22,1661989754).cljs$core$IFn$_invoke$arity$1(m__49409__auto__),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891),new cljs.core.Keyword(null,\x22doc\x22,\x22doc\x22,1913296891).cljs$core$IFn$_invoke$arity$1(m__49409__auto__)], null);\nif(cljs.core.truth_(new cljs.core.Keyword(null,\x22dynamic\x22,\x22dynamic\x22,704819571).cljs$core$IFn$_invoke$arity$1(m__49409__auto__))){\nreturn sci.core.new_dynamic_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nif(cljs.core.truth_((function (){var or__5025__auto__ \x3d new cljs.core.Keyword(null,\x22macro\x22,\x22macro\x22,-867863404).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn new cljs.core.Keyword(\x22sci\x22,\x22macro\x22,\x22sci/macro\x22,-868536151).cljs$core$IFn$_invoke$arity$1(m__49409__auto__);\n}\n})())){\nreturn sci.core.new_macro_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n} else {\nreturn sci.core.new_var.cljs$core$IFn$_invoke$arity$3(name__49410__auto__,val__49408__auto__,new_m__49411__auto__);\n\n}\n}\n})()]),new cljs.core.Symbol(null,\x22goog.object\x22,\x22goog.object\x22,678593132,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol(null,\x22set\x22,\x22set\x22,1945134081,null),scittle.core.goog$module$goog$object.set,new cljs.core.Symbol(null,\x22get\x22,\x22get\x22,-971253014,null),scittle.core.goog$module$goog$object.get], null),new cljs.core.Symbol(null,\x22goog.string\x22,\x22goog.string\x22,-2055533048,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol(null,\x22format\x22,\x22format\x22,333606761,null),goog.string.format,new cljs.core.Symbol(null,\x22htmlEscape\x22,\x22htmlEscape\x22,-713788536,null),goog.string.htmlEscape], null),new cljs.core.Symbol(null,\x22goog.string.format\x22,\x22goog.string.format\x22,1243526036,null),cljs.core.PersistentArrayMap.EMPTY,new cljs.core.Symbol(null,\x22sci.core\x22,\x22sci.core\x22,-5619460,null),new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Symbol(null,\x22stacktrace\x22,\x22stacktrace\x22,1544943133,null),sci.core.stacktrace,new cljs.core.Symbol(null,\x22format-stacktrace\x22,\x22format-stacktrace\x22,-1807675175,null),sci.core.format_stacktrace], null)], null);\nscittle.core.load_fn \x3d (function scittle$core$load_fn(p__49944){\nvar map__49946 \x3d p__49944;\nvar map__49946__$1 \x3d cljs.core.__destructure_map(map__49946);\nvar opts \x3d map__49946__$1;\nvar ctx \x3d cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__49946__$1,new cljs.core.Keyword(null,\x22ctx\x22,\x22ctx\x22,-493610118));\nvar temp__5823__auto__ \x3d (function (){var and__5023__auto__ \x3d typeof new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372).cljs$core$IFn$_invoke$arity$1(opts) \x3d\x3d\x3d \x27string\x27;\nif(and__5023__auto__){\nreturn scittle.core.goog$module$goog$object.get(globalThis,new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372).cljs$core$IFn$_invoke$arity$1(opts));\n} else {\nreturn and__5023__auto__;\n}\n})();\nif(cljs.core.truth_(temp__5823__auto__)){\nvar lib \x3d temp__5823__auto__;\nreturn sci.core.add_js_lib_BANG_(ctx,new cljs.core.Keyword(null,\x22namespace\x22,\x22namespace\x22,-377510372).cljs$core$IFn$_invoke$arity$1(opts),lib);\n} else {\nreturn null;\n}\n});\nsci.ctx_store.reset_ctx_BANG_(sci.core.init(new cljs.core.PersistentArrayMap(null, 5, [new cljs.core.Keyword(null,\x22namespaces\x22,\x22namespaces\x22,-1444157469),scittle.core.namespaces,new cljs.core.Keyword(null,\x22classes\x22,\x22classes\x22,2037804510),new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Symbol(null,\x22js\x22,\x22js\x22,-886355190,null),globalThis,new cljs.core.Keyword(null,\x22allow\x22,\x22allow\x22,-1857325745),new cljs.core.Keyword(null,\x22all\x22,\x22all\x22,892129742),new cljs.core.Symbol(null,\x22Math\x22,\x22Math\x22,2033287572,null),Math], null),new cljs.core.Keyword(null,\x22ns-aliases\x22,\x22ns-aliases\x22,1290254821),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Symbol(null,\x22clojure.pprint\x22,\x22clojure.pprint\x22,-547379114,null),new cljs.core.Symbol(null,\x22cljs.pprint\x22,\x22cljs.pprint\x22,-966900911,null)], null),new cljs.core.Keyword(null,\x22features\x22,\x22features\x22,-1146962336),new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\x22scittle\x22,\x22scittle\x22,-323967863),null,new cljs.core.Keyword(null,\x22cljs\x22,\x22cljs\x22,1492417629),null], null), null),new cljs.core.Keyword(null,\x22load-fn\x22,\x22load-fn\x22,-2121144334),scittle.core.load_fn], null)));\n(globalThis[\x22import\x22] \x3d eval(\x22(x) \x3d\x3e import(x)\x22));\nscittle.core._BANG_last_ns \x3d cljs.core.volatile_BANG_(cljs.core.deref(sci.core.ns));\nscittle.core._eval_string \x3d (function scittle$core$_eval_string(s){\nvar bm__49419__auto__ \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.ns,cljs.core.deref(scittle.core._BANG_last_ns)]);\nif(cljs.core.map_QMARK_(bm__49419__auto__)){\n} else {\nthrow (new Error(\x22Assert failed: (clojure.core/map? bm__49419__auto__)\x22));\n}\n\nsci.impl.vars.push_thread_bindings(bm__49419__auto__);\n\ntry{var rdr \x3d sci.core.reader(s);\nvar res \x3d null;\nwhile(true){\nvar form \x3d sci.core.parse_next.cljs$core$IFn$_invoke$arity$2(sci.ctx_store.get_ctx(),rdr);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(\x22sci.core\x22,\x22eof\x22,\x22sci.core/eof\x22,-808584945),form)){\ncljs.core.vreset_BANG_(scittle.core._BANG_last_ns,cljs.core.deref(sci.core.ns));\n\nreturn res;\n} else {\nvar G__50035 \x3d sci.core.eval_form(sci.ctx_store.get_ctx(),form);\nres \x3d G__50035;\ncontinue;\n}\nbreak;\n}\n}finally {sci.impl.vars.pop_thread_bindings();\n}});\nscittle.core.eval_string \x3d (function scittle$core$eval_string(s){\ntry{return scittle.core._eval_string(s);\n}catch (e49966){var e \x3d e49966;\nscittle.impl.error.error_handler(e,new cljs.core.Keyword(null,\x22src\x22,\x22src\x22,-1651076051).cljs$core$IFn$_invoke$arity$1(sci.ctx_store.get_ctx()));\n\nthrow e;\n}});\ngoog.exportSymbol(\x27scittle.core.eval_string\x27, scittle.core.eval_string);\nscittle.core.register_plugin_BANG_ \x3d (function scittle$core$register_plugin_BANG_(_plug_in_name,sci_opts){\nreturn sci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic(sci.core.merge_opts,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sci_opts], 0));\n});\nscittle.core.eval_script_tags_STAR_ \x3d (function scittle$core$eval_script_tags_STAR_(script_tags){\nvar temp__5823__auto__ \x3d cljs.core.first(script_tags);\nif(cljs.core.truth_(temp__5823__auto__)){\nvar tag \x3d temp__5823__auto__;\nvar temp__5821__auto__ \x3d tag.getAttribute(\x22src\x22);\nif(cljs.core.truth_(temp__5821__auto__)){\nvar src \x3d temp__5821__auto__;\nvar req \x3d (new XMLHttpRequest());\nvar _ \x3d req.open(\x22GET\x22,src,true);\nvar ___$1 \x3d scittle.core.goog$module$goog$object.set(req,\x22onload\x22,(function (){\nvar this$ \x3d this;\nvar response_50036 \x3d scittle.core.goog$module$goog$object.get(this$,\x22response\x22);\nscittle.core.goog$module$goog$object.set(tag,\x22scittle_id\x22,src);\n\nsci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22src\x22,\x22src\x22,-1651076051),src], null),response_50036], 0));\n\nvar bm__49419__auto___50037 \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.file,src]);\nif(cljs.core.map_QMARK_(bm__49419__auto___50037)){\n} else {\nthrow (new Error(\x22Assert failed: (clojure.core/map? bm__49419__auto__)\x22));\n}\n\nsci.impl.vars.push_thread_bindings(bm__49419__auto___50037);\n\ntry{scittle.core.eval_string(response_50036);\n}finally {sci.impl.vars.pop_thread_bindings();\n}\nvar G__49973 \x3d cljs.core.rest(script_tags);\nreturn (scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1 ? scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1(G__49973) : scittle.core.eval_script_tags_STAR_.call(null,G__49973));\n}));\nreturn req.send();\n} else {\nvar temp__5821__auto____$1 \x3d cljs.core.not_empty(clojure.string.trim(scittle.core.goog$module$goog$object.get(tag,\x22textContent\x22)));\nif(cljs.core.truth_(temp__5821__auto____$1)){\nvar text \x3d temp__5821__auto____$1;\nvar scittle_id \x3d cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.gensym.cljs$core$IFn$_invoke$arity$1(\x22scittle-tag-\x22));\nscittle.core.goog$module$goog$object.set(tag,\x22scittle_id\x22,scittle_id);\n\nsci.ctx_store.swap_ctx_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.assoc_in,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,\x22src\x22,\x22src\x22,-1651076051),scittle_id], null),text], 0));\n\nvar bm__49419__auto___50038 \x3d cljs.core.PersistentArrayMap.createAsIfByAssoc([sci.core.file,scittle_id]);\nif(cljs.core.map_QMARK_(bm__49419__auto___50038)){\n} else {\nthrow (new Error(\x22Assert failed: (clojure.core/map? bm__49419__auto__)\x22));\n}\n\nsci.impl.vars.push_thread_bindings(bm__49419__auto___50038);\n\ntry{scittle.core.eval_string(text);\n}finally {sci.impl.vars.pop_thread_bindings();\n}\nvar G__49980 \x3d cljs.core.rest(script_tags);\nreturn (scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1 ? scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1(G__49980) : scittle.core.eval_script_tags_STAR_.call(null,G__49980));\n} else {\nvar G__49981 \x3d cljs.core.rest(script_tags);\nreturn (scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1 ? scittle.core.eval_script_tags_STAR_.cljs$core$IFn$_invoke$arity$1(G__49981) : scittle.core.eval_script_tags_STAR_.call(null,G__49981));\n}\n}\n} else {\nreturn null;\n}\n});\nscittle.core.eval_script_tags \x3d (function scittle$core$eval_script_tags(var_args){\nvar args__5755__auto__ \x3d [];\nvar len__5749__auto___50039 \x3d arguments.length;\nvar i__5750__auto___50040 \x3d (0);\nwhile(true){\nif((i__5750__auto___50040 \x3c len__5749__auto___50039)){\nargs__5755__auto__.push((arguments[i__5750__auto___50040]));\n\nvar G__50041 \x3d (i__5750__auto___50040 + (1));\ni__5750__auto___50040 \x3d G__50041;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__5756__auto__ \x3d ((((0) \x3c args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((0)),(0),null)):null);\nreturn scittle.core.eval_script_tags.cljs$core$IFn$_invoke$arity$variadic(argseq__5756__auto__);\n});\ngoog.exportSymbol(\x27scittle.core.eval_script_tags\x27, scittle.core.eval_script_tags);\n\n(scittle.core.eval_script_tags.cljs$core$IFn$_invoke$arity$variadic \x3d (function (p__49985){\nvar vec__49986 \x3d p__49985;\nvar script_tags \x3d cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49986,(0),null);\nvar script_tags__$1 \x3d (function (){var or__5025__auto__ \x3d script_tags;\nif(cljs.core.truth_(or__5025__auto__)){\nreturn or__5025__auto__;\n} else {\nreturn scittle.core.doc.querySelectorAll(\x22script[type\x3d\x27application/x-scittle\x27]\x22);\n}\n})();\nvar script_tags__$2 \x3d (cljs.core.truth_((function (){var or__5025__auto__ \x3d cljs.core.coll_QMARK_(script_tags__$1);\nif(or__5025__auto__){\nreturn or__5025__auto__;\n} else {\nreturn (script_tags__$1[\x22length\x22]);\n}\n})())?script_tags__$1:new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [script_tags__$1], null));\nreturn scittle.core.eval_script_tags_STAR_(script_tags__$2);\n}));\n\n(scittle.core.eval_script_tags.cljs$lang$maxFixedArity \x3d (0));\n\n/** @this {Function} */\n(scittle.core.eval_script_tags.cljs$lang$applyTo \x3d (function (seq49982){\nvar self__5735__auto__ \x3d this;\nreturn self__5735__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq49982));\n}));\n\nscittle.core.auto_load_disabled_QMARK_ \x3d cljs.core.volatile_BANG_(false);\n/**\n * By default, scittle evaluates script nodes on the DOMContentLoaded\n * event using the eval-script-tags function. This function disables\n * that behavior.\n */\nscittle.core.disable_auto_eval \x3d (function scittle$core$disable_auto_eval(){\nreturn cljs.core.vreset_BANG_(scittle.core.auto_load_disabled_QMARK_,true);\n});\ngoog.exportSymbol(\x27scittle.core.disable_auto_eval\x27, scittle.core.disable_auto_eval);\nif(cljs.core.truth_(scittle.core.doc)){\nscittle.core.doc.addEventListener(\x22DOMContentLoaded\x22,(function (){\nif(cljs.core.truth_(cljs.core.deref(scittle.core.auto_load_disabled_QMARK_))){\nreturn null;\n} else {\nreturn scittle.core.eval_script_tags();\n}\n}),false);\n} else {\n}\ncljs.core.enable_console_print_BANG_();\nsci.core.alter_var_root.cljs$core$IFn$_invoke$arity$2(sci.core.print_fn,cljs.core.constantly(cljs.core._STAR_print_fn_STAR_));\n");
SHADOW_ENV.evalLoad("goog.disposable.idisposable.js", true, "goog.provide(\x22goog.disposable.IDisposable\x22);\ngoog.disposable.IDisposable \x3d function() {\n};\ngoog.disposable.IDisposable.prototype.dispose \x3d goog.abstractMethod;\ngoog.disposable.IDisposable.prototype.isDisposed \x3d goog.abstractMethod;\n");
SHADOW_ENV.evalLoad("goog.disposable.dispose.js", true, "goog.loadModule(function(exports) {\n function dispose(obj) {\n if (obj \x26\x26 typeof obj.dispose \x3d\x3d \x22function\x22) {\n obj.dispose();\n }\n }\n \x22use strict\x22;\n goog.module(\x22goog.dispose\x22);\n goog.module.declareLegacyNamespace();\n exports \x3d dispose;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.disposable.disposeall.js", true, "goog.loadModule(function(exports) {\n function disposeAll(var_args) {\n for (let i \x3d 0, len \x3d arguments.length; i \x3c len; ++i) {\n const disposable \x3d arguments[i];\n if (goog.isArrayLike(disposable)) {\n disposeAll.apply(null, disposable);\n } else {\n dispose(disposable);\n }\n }\n }\n \x22use strict\x22;\n goog.module(\x22goog.disposeAll\x22);\n goog.module.declareLegacyNamespace();\n const dispose \x3d goog.require(\x22goog.dispose\x22);\n exports \x3d disposeAll;\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.disposable.disposable.js", true, "goog.provide(\x22goog.Disposable\x22);\ngoog.require(\x22goog.disposable.IDisposable\x22);\ngoog.require(\x22goog.dispose\x22);\ngoog.require(\x22goog.disposeAll\x22);\ngoog.Disposable \x3d function() {\n this.creationStack;\n if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF) {\n if (goog.Disposable.INCLUDE_STACK_ON_CREATION) {\n this.creationStack \x3d (new Error()).stack;\n }\n goog.Disposable.instances_[goog.getUid(this)] \x3d this;\n }\n this.disposed_ \x3d this.disposed_;\n this.onDisposeCallbacks_ \x3d this.onDisposeCallbacks_;\n};\ngoog.Disposable.MonitoringMode \x3d {OFF:0, PERMANENT:1, INTERACTIVE:2};\ngoog.Disposable.MONITORING_MODE \x3d goog.define(\x22goog.Disposable.MONITORING_MODE\x22, 0);\ngoog.Disposable.INCLUDE_STACK_ON_CREATION \x3d goog.define(\x22goog.Disposable.INCLUDE_STACK_ON_CREATION\x22, true);\ngoog.Disposable.instances_ \x3d {};\ngoog.Disposable.getUndisposedObjects \x3d function() {\n var ret \x3d [];\n var id;\n for (id in goog.Disposable.instances_) {\n if (goog.Disposable.instances_.hasOwnProperty(id)) {\n ret.push(goog.Disposable.instances_[Number(id)]);\n }\n }\n return ret;\n};\ngoog.Disposable.clearUndisposedObjects \x3d function() {\n goog.Disposable.instances_ \x3d {};\n};\ngoog.Disposable.prototype.disposed_ \x3d false;\ngoog.Disposable.prototype.onDisposeCallbacks_;\ngoog.Disposable.prototype.isDisposed \x3d function() {\n return this.disposed_;\n};\ngoog.Disposable.prototype.getDisposed \x3d goog.Disposable.prototype.isDisposed;\ngoog.Disposable.prototype.dispose \x3d function() {\n if (!this.disposed_) {\n this.disposed_ \x3d true;\n this.disposeInternal();\n if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF) {\n var uid \x3d goog.getUid(this);\n if (goog.Disposable.MONITORING_MODE \x3d\x3d goog.Disposable.MonitoringMode.PERMANENT \x26\x26 !goog.Disposable.instances_.hasOwnProperty(uid)) {\n throw new Error(this + \x22 did not call the goog.Disposable base \x22 + \x22constructor or was disposed of after a clearUndisposedObjects \x22 + \x22call\x22);\n }\n if (goog.Disposable.MONITORING_MODE !\x3d goog.Disposable.MonitoringMode.OFF \x26\x26 this.onDisposeCallbacks_ \x26\x26 this.onDisposeCallbacks_.length \x3e 0) {\n throw new Error(this + \x22 did not empty its onDisposeCallbacks queue. This \x22 + \x22probably means it overrode dispose() or disposeInternal() \x22 + \x22without calling the superclass\x27 method.\x22);\n }\n delete goog.Disposable.instances_[uid];\n }\n }\n};\ngoog.Disposable.prototype.registerDisposable \x3d function(disposable) {\n this.addOnDisposeCallback(goog.partial(goog.dispose, disposable));\n};\ngoog.Disposable.prototype.addOnDisposeCallback \x3d function(callback, opt_scope) {\n if (this.disposed_) {\n opt_scope !\x3d\x3d undefined ? callback.call(opt_scope) : callback();\n return;\n }\n if (!this.onDisposeCallbacks_) {\n this.onDisposeCallbacks_ \x3d [];\n }\n this.onDisposeCallbacks_.push(opt_scope !\x3d\x3d undefined ? goog.bind(callback, opt_scope) : callback);\n};\ngoog.Disposable.prototype.disposeInternal \x3d function() {\n if (this.onDisposeCallbacks_) {\n for (; this.onDisposeCallbacks_.length;) {\n this.onDisposeCallbacks_.shift()();\n }\n }\n};\ngoog.Disposable.isDisposed \x3d function(obj) {\n if (obj \x26\x26 typeof obj.isDisposed \x3d\x3d \x22function\x22) {\n return obj.isDisposed();\n }\n return false;\n};\n");
SHADOW_ENV.evalLoad("goog.events.eventid.js", true, "goog.provide(\x22goog.events.EventId\x22);\ngoog.events.EventId \x3d function(eventId) {\n this.id \x3d eventId;\n};\ngoog.events.EventId.prototype.toString \x3d function() {\n return this.id;\n};\n");
SHADOW_ENV.evalLoad("goog.events.event.js", true, "goog.provide(\x22goog.events.Event\x22);\ngoog.require(\x22goog.Disposable\x22);\ngoog.require(\x22goog.events.EventId\x22);\ngoog.events.Event \x3d function(type, opt_target) {\n this.type \x3d type instanceof goog.events.EventId ? String(type) : type;\n this.target \x3d opt_target;\n this.currentTarget \x3d this.target;\n this.propagationStopped_ \x3d false;\n this.defaultPrevented \x3d false;\n};\ngoog.events.Event.prototype.hasPropagationStopped \x3d function() {\n return this.propagationStopped_;\n};\ngoog.events.Event.prototype.stopPropagation \x3d function() {\n this.propagationStopped_ \x3d true;\n};\ngoog.events.Event.prototype.preventDefault \x3d function() {\n this.defaultPrevented \x3d true;\n};\ngoog.events.Event.stopPropagation \x3d function(e) {\n e.stopPropagation();\n};\ngoog.events.Event.preventDefault \x3d function(e) {\n e.preventDefault();\n};\n");
SHADOW_ENV.evalLoad("goog.events.browserfeature.js", true, "goog.loadModule(function(exports) {\n \x22use strict\x22;\n goog.module(\x22goog.events.BrowserFeature\x22);\n goog.module.declareLegacyNamespace();\n const purify \x3d fn \x3d\x3e {\n return {valueOf:fn}.valueOf();\n };\n exports \x3d {TOUCH_ENABLED:\x22ontouchstart\x22 in goog.global || !!(goog.global[\x22document\x22] \x26\x26 document.documentElement \x26\x26 \x22ontouchstart\x22 in document.documentElement) || !!(goog.global[\x22navigator\x22] \x26\x26 (goog.global[\x22navigator\x22][\x22maxTouchPoints\x22] || goog.global[\x22navigator\x22][\x22msMaxTouchPoints\x22])), POINTER_EVENTS:\x22PointerEvent\x22 in goog.global, MSPOINTER_EVENTS:false, PASSIVE_EVENTS:purify(function() {\n if (!goog.global.addEventListener || !Object.defineProperty) {\n return false;\n }\n var passive \x3d false;\n var options \x3d Object.defineProperty({}, \x22passive\x22, {get:function() {\n passive \x3d true;\n }});\n try {\n const nullFunction \x3d () \x3d\x3e {\n };\n goog.global.addEventListener(\x22test\x22, nullFunction, options);\n goog.global.removeEventListener(\x22test\x22, nullFunction, options);\n } catch (e) {\n }\n return passive;\n })};\n return exports;\n});\n");
SHADOW_ENV.evalLoad("goog.events.eventtypehelpers.js", true, "goog.provide(\x22goog.events.eventTypeHelpers\x22);\ngoog.require(\x22goog.events.BrowserFeature\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.eventTypeHelpers.getVendorPrefixedName \x3d function(eventName) {\n return goog.userAgent.WEBKIT ? \x22webkit\x22 + eventName : eventName.toLowerCase();\n};\ngoog.events.eventTypeHelpers.getPointerFallbackEventName \x3d function(pointerEventName, msPointerEventName, fallbackEventName) {\n if (goog.events.BrowserFeature.POINTER_EVENTS) {\n return pointerEventName;\n }\n if (goog.events.BrowserFeature.MSPOINTER_EVENTS) {\n return msPointerEventName;\n }\n return fallbackEventName;\n};\n");
SHADOW_ENV.evalLoad("goog.events.eventtype.js", true, "goog.provide(\x22goog.events.EventType\x22);\ngoog.require(\x22goog.events.eventTypeHelpers\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.EventType \x3d {CLICK:\x22click\x22, RIGHTCLICK:\x22rightclick\x22, DBLCLICK:\x22dblclick\x22, AUXCLICK:\x22auxclick\x22, MOUSEDOWN:\x22mousedown\x22, MOUSEUP:\x22mouseup\x22, MOUSEOVER:\x22mouseover\x22, MOUSEOUT:\x22mouseout\x22, MOUSEMOVE:\x22mousemove\x22, MOUSEENTER:\x22mouseenter\x22, MOUSELEAVE:\x22mouseleave\x22, MOUSECANCEL:\x22mousecancel\x22, SELECTIONCHANGE:\x22selectionchange\x22, SELECTSTART:\x22selectstart\x22, WHEEL:\x22wheel\x22, KEYPRESS:\x22keypress\x22, KEYDOWN:\x22keydown\x22, KEYUP:\x22keyup\x22, BLUR:\x22blur\x22, FOCUS:\x22focus\x22, DEACTIVATE:\x22deactivate\x22, FOCUSIN:\x22focusin\x22, FOCUSOUT:\x22focusout\x22, \nCHANGE:\x22change\x22, RESET:\x22reset\x22, SELECT:\x22select\x22, SUBMIT:\x22submit\x22, INPUT:\x22input\x22, PROPERTYCHANGE:\x22propertychange\x22, DRAGSTART:\x22dragstart\x22, DRAG:\x22drag\x22, DRAGENTER:\x22dragenter\x22, DRAGOVER:\x22dragover\x22, DRAGLEAVE:\x22dragleave\x22, DROP:\x22drop\x22, DRAGEND:\x22dragend\x22, TOUCHSTART:\x22touchstart\x22, TOUCHMOVE:\x22touchmove\x22, TOUCHEND:\x22touchend\x22, TOUCHCANCEL:\x22touchcancel\x22, BEFOREUNLOAD:\x22beforeunload\x22, CONSOLEMESSAGE:\x22consolemessage\x22, CONTEXTMENU:\x22contextmenu\x22, DEVICECHANGE:\x22devicechange\x22, DEVICEMOTION:\x22devicemotion\x22, DEVICEORIENTATION:\x22deviceorientation\x22, \nDOMCONTENTLOADED:\x22DOMContentLoaded\x22, ERROR:\x22error\x22, HELP:\x22help\x22, LOAD:\x22load\x22, LOSECAPTURE:\x22losecapture\x22, ORIENTATIONCHANGE:\x22orientationchange\x22, READYSTATECHANGE:\x22readystatechange\x22, RESIZE:\x22resize\x22, SCROLL:\x22scroll\x22, UNLOAD:\x22unload\x22, CANPLAY:\x22canplay\x22, CANPLAYTHROUGH:\x22canplaythrough\x22, DURATIONCHANGE:\x22durationchange\x22, EMPTIED:\x22emptied\x22, ENDED:\x22ended\x22, LOADEDDATA:\x22loadeddata\x22, LOADEDMETADATA:\x22loadedmetadata\x22, PAUSE:\x22pause\x22, PLAY:\x22play\x22, PLAYING:\x22playing\x22, PROGRESS:\x22progress\x22, RATECHANGE:\x22ratechange\x22, \nSEEKED:\x22seeked\x22, SEEKING:\x22seeking\x22, STALLED:\x22stalled\x22, SUSPEND:\x22suspend\x22, TIMEUPDATE:\x22timeupdate\x22, VOLUMECHANGE:\x22volumechange\x22, WAITING:\x22waiting\x22, SOURCEOPEN:\x22sourceopen\x22, SOURCEENDED:\x22sourceended\x22, SOURCECLOSED:\x22sourceclosed\x22, ABORT:\x22abort\x22, UPDATE:\x22update\x22, UPDATESTART:\x22updatestart\x22, UPDATEEND:\x22updateend\x22, HASHCHANGE:\x22hashchange\x22, PAGEHIDE:\x22pagehide\x22, PAGESHOW:\x22pageshow\x22, POPSTATE:\x22popstate\x22, COPY:\x22copy\x22, PASTE:\x22paste\x22, CUT:\x22cut\x22, BEFORECOPY:\x22beforecopy\x22, BEFORECUT:\x22beforecut\x22, BEFOREPASTE:\x22beforepaste\x22, \nONLINE:\x22online\x22, OFFLINE:\x22offline\x22, MESSAGE:\x22message\x22, CONNECT:\x22connect\x22, INSTALL:\x22install\x22, ACTIVATE:\x22activate\x22, FETCH:\x22fetch\x22, FOREIGNFETCH:\x22foreignfetch\x22, MESSAGEERROR:\x22messageerror\x22, STATECHANGE:\x22statechange\x22, UPDATEFOUND:\x22updatefound\x22, CONTROLLERCHANGE:\x22controllerchange\x22, ANIMATIONSTART:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22AnimationStart\x22), ANIMATIONEND:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22AnimationEnd\x22), ANIMATIONITERATION:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22AnimationIteration\x22), \nTRANSITIONEND:goog.events.eventTypeHelpers.getVendorPrefixedName(\x22TransitionEnd\x22), POINTERDOWN:\x22pointerdown\x22, POINTERUP:\x22pointerup\x22, POINTERCANCEL:\x22pointercancel\x22, POINTERMOVE:\x22pointermove\x22, POINTEROVER:\x22pointerover\x22, POINTEROUT:\x22pointerout\x22, POINTERENTER:\x22pointerenter\x22, POINTERLEAVE:\x22pointerleave\x22, GOTPOINTERCAPTURE:\x22gotpointercapture\x22, LOSTPOINTERCAPTURE:\x22lostpointercapture\x22, MSGESTURECHANGE:\x22MSGestureChange\x22, MSGESTUREEND:\x22MSGestureEnd\x22, MSGESTUREHOLD:\x22MSGestureHold\x22, MSGESTURESTART:\x22MSGestureStart\x22, \nMSGESTURETAP:\x22MSGestureTap\x22, MSGOTPOINTERCAPTURE:\x22MSGotPointerCapture\x22, MSINERTIASTART:\x22MSInertiaStart\x22, MSLOSTPOINTERCAPTURE:\x22MSLostPointerCapture\x22, MSPOINTERCANCEL:\x22MSPointerCancel\x22, MSPOINTERDOWN:\x22MSPointerDown\x22, MSPOINTERENTER:\x22MSPointerEnter\x22, MSPOINTERHOVER:\x22MSPointerHover\x22, MSPOINTERLEAVE:\x22MSPointerLeave\x22, MSPOINTERMOVE:\x22MSPointerMove\x22, MSPOINTEROUT:\x22MSPointerOut\x22, MSPOINTEROVER:\x22MSPointerOver\x22, MSPOINTERUP:\x22MSPointerUp\x22, TEXT:\x22text\x22, TEXTINPUT:goog.userAgent.IE ? \x22textinput\x22 : \x22textInput\x22, \nCOMPOSITIONSTART:\x22compositionstart\x22, COMPOSITIONUPDATE:\x22compositionupdate\x22, COMPOSITIONEND:\x22compositionend\x22, BEFOREINPUT:\x22beforeinput\x22, FULLSCREENCHANGE:\x22fullscreenchange\x22, WEBKITBEGINFULLSCREEN:\x22webkitbeginfullscreen\x22, WEBKITENDFULLSCREEN:\x22webkitendfullscreen\x22, EXIT:\x22exit\x22, LOADABORT:\x22loadabort\x22, LOADCOMMIT:\x22loadcommit\x22, LOADREDIRECT:\x22loadredirect\x22, LOADSTART:\x22loadstart\x22, LOADSTOP:\x22loadstop\x22, RESPONSIVE:\x22responsive\x22, SIZECHANGED:\x22sizechanged\x22, UNRESPONSIVE:\x22unresponsive\x22, VISIBILITYCHANGE:\x22visibilitychange\x22, \nSTORAGE:\x22storage\x22, BEFOREPRINT:\x22beforeprint\x22, AFTERPRINT:\x22afterprint\x22, BEFOREINSTALLPROMPT:\x22beforeinstallprompt\x22, APPINSTALLED:\x22appinstalled\x22, CANCEL:\x22cancel\x22, FINISH:\x22finish\x22, REMOVE:\x22remove\x22};\n");
SHADOW_ENV.evalLoad("goog.events.browserevent.js", true, "goog.provide(\x22goog.events.BrowserEvent\x22);\ngoog.provide(\x22goog.events.BrowserEvent.MouseButton\x22);\ngoog.provide(\x22goog.events.BrowserEvent.PointerType\x22);\ngoog.require(\x22goog.debug\x22);\ngoog.require(\x22goog.events.Event\x22);\ngoog.require(\x22goog.events.EventType\x22);\ngoog.require(\x22goog.reflect\x22);\ngoog.require(\x22goog.userAgent\x22);\ngoog.events.BrowserEvent \x3d function(opt_e, opt_currentTarget) {\n goog.events.BrowserEvent.base(this, \x22constructor\x22, opt_e ? opt_e.type : \x22\x22);\n this.target \x3d null;\n this.currentTarget \x3d null;\n this.relatedTarget \x3d null;\n this.offsetX \x3d 0;\n this.offsetY \x3d 0;\n this.clientX \x3d 0;\n this.clientY \x3d 0;\n this.screenX \x3d 0;\n this.screenY \x3d 0;\n this.button \x3d 0;\n this.key \x3d \x22\x22;\n this.keyCode \x3d 0;\n this.charCode \x3d 0;\n this.ctrlKey \x3d false;\n this.altKey \x3d false;\n this.shiftKey \x3d false;\n this.metaKey \x3d false;\n this.state \x3d null;\n this.platformModifierKey \x3d false;\n this.pointerId \x3d 0;\n this.pointerType \x3d \x22\x22;\n this.event_ \x3d null;\n if (opt_e) {\n this.init(opt_e, opt_currentTarget);\n }\n};\ngoog.inherits(goog.events.BrowserEvent, goog.events.Event);\ngoog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY \x3d goog.define(\x22goog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY\x22, false);\ngoog.events.BrowserEvent.MouseButton \x3d {LEFT:0, MIDDLE:1, RIGHT:2, BACK:3, FORWARD:4};\ngoog.events.BrowserEvent.PointerType \x3d {MOUSE:\x22mouse\x22, PEN:\x22pen\x22, TOUCH:\x22touch\x22};\ngoog.events.BrowserEvent.IEButtonMap \x3d goog.debug.freeze([1, 4, 2]);\ngoog.events.BrowserEvent.IE_BUTTON_MAP \x3d goog.events.BrowserEvent.IEButtonMap;\ngoog.events.BrowserEvent.IE_POINTER_TYPE_MAP \x3d goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH, 3:goog.events.BrowserEvent.PointerType.PEN, 4:goog.events.BrowserEvent.PointerType.MOUSE});\ngoog.events.BrowserEvent.prototype.init \x3d function(e, opt_currentTarget) {\n var type \x3d this.type \x3d e.type;\n var relevantTouch \x3d e.changedTouches \x26\x26 e.changedTouches.length ? e.changedTouches[0] : null;\n this.target \x3d e.target || e.srcElement;\n this.currentTarget \x3d opt_currentTarget;\n var relatedTarget \x3d e.relatedTarget;\n if (relatedTarget) {\n if (goog.userAgent.GECKO) {\n if (!goog.reflect.canAccessProperty(relatedTarget, \x22nodeName\x22)) {\n relatedTarget \x3d null;\n }\n }\n } else if (type \x3d\x3d goog.events.EventType.MOUSEOVER) {\n relatedTarget \x3d e.fromElement;\n } else if (type \x3d\x3d goog.events.EventType.MOUSEOUT) {\n relatedTarget \x3d e.toElement;\n }\n this.relatedTarget \x3d relatedTarget;\n if (relevantTouch) {\n this.clientX \x3d relevantTouch.clientX !\x3d\x3d undefined ? relevantTouch.clientX : relevantTouch.pageX;\n this.clientY \x3d relevantTouch.clientY !\x3d\x3d undefined ? relevantTouch.clientY : relevantTouch.pageY;\n this.screenX \x3d relevantTouch.screenX || 0;\n this.screenY \x3d relevantTouch.screenY || 0;\n } else {\n if (goog.events.BrowserEvent.USE_LAYER_XY_AS_OFFSET_XY) {\n this.offsetX \x3d e.layerX !\x3d\x3d undefined ? e.layerX : e.offsetX;\n this.offsetY \x3d e.layerY !\x3d\x3d undefined ? e.layerY : e.offsetY;\n } else {\n this.offsetX \x3d goog.userAgent.WEBKIT || e.offsetX !\x3d\x3d undefined ? e.offsetX : e.layerX;\n this.offsetY \x3d goog.userAgent.WEBKIT || e.offsetY !\x3d\x3d undefined ? e.offsetY : e.layerY;\n }\n this.clientX \x3d e.clientX !\x3d\x3d undefined ? e.clientX : e.pageX;\n this.clientY \x3d e.clientY !\x3d\x3d undefined ? e.clientY : e.pageY;\n this.screenX \x3d e.screenX || 0;\n this.screenY \x3d e.screenY || 0;\n }\n this.button \x3d e.button;\n this.keyCode \x3d e.keyCode || 0;\n this.key \x3d e.key || \x22\x22;\n this.charCode \x3d e.charCode || (type \x3d\x3d \x22keypress\x22 ? e.keyCode : 0);\n this.ctrlKey \x3d e.ctrlKey;\n this.altKey \x3d e.altKey;\n this.shiftKey \x3d e.shiftKey;\n this.metaKey \x3d e.metaKey;\n this.platformModifierKey \x3d goog.userAgent.MAC ? e.metaKey : e.ctrlKey;\n this.pointerId \x3d e.pointerId || 0;\n this.pointerType \x3d goog.events.BrowserEvent.getPointerType_(e);\n this.state \x3d e.state;\n this.event_ \x3d e;\n if (e.defaultPrevented) {\n goog.events.BrowserEvent.superClass_.preventDefault.call(this);\n }\n};\ngoog.events.BrowserEvent.prototype.isButton \x3d function(button) {\n return this.event_.button \x3d\x3d button;\n};\ngoog.events.BrowserEvent.prototype.isMouseActionButton \x3d function() {\n return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT) \x26\x26 !(goog.userAgent.MAC \x26\x26 this.ctrlKey);\n};\ngoog.events.BrowserEvent.prototype.stopPropagation \x3d function() {\n goog.events.BrowserEvent.superClass_.stopPropagation.call(this);\n if (this.event_.stopPropagation) {\n this.event_.stopPropagation();\n } else {\n this.event_.cancelBubble \x3d true;\n }\n};\ngoog.events.BrowserEvent.prototype.preventDefault \x3d function() {\n goog.events.BrowserEvent.superClass_.preventDefault.call(this);\n var be \x3d this.event_;\n if (!be.preventDefault) {\n be.returnValue \x3d false;\n } else {\n be.preventDefault();\n }\n};\ngoog.events.BrowserEvent.prototype.getBrowserEvent \x3d function() {\n return this.event_;\n};\ngoog.events.BrowserEvent.getPointerType_ \x3d function(e) {\n if (typeof e.pointerType \x3d\x3d\x3d \x22string\x22) {\n return e.pointerType;\n }\n return goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[e.pointerType] || \x22\x22;\n};\n");
SHADOW_ENV.evalLoad("goog.events.listenable.js", true, "goog.provide(\x22goog.events.Listenable\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.Listenable \x3d function() {\n};\ngoog.events.Listenable.IMPLEMENTED_BY_PROP \x3d \x22closure_listenable_\x22 + (Math.random() * 1e6 | 0);\ngoog.events.Listenable.addImplementation \x3d function(cls) {\n cls.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP] \x3d true;\n};\ngoog.events.Listenable.isImplementedBy \x3d function(obj) {\n return !!(obj \x26\x26 obj[goog.events.Listenable.IMPLEMENTED_BY_PROP]);\n};\ngoog.events.Listenable.prototype.listen \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.listenOnce \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.unlisten \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.unlistenByKey \x3d function(key) {\n};\ngoog.events.Listenable.prototype.dispatchEvent \x3d function(e) {\n};\ngoog.events.Listenable.prototype.removeAllListeners \x3d function(opt_type) {\n};\ngoog.events.Listenable.prototype.getParentEventTarget \x3d function() {\n};\ngoog.events.Listenable.prototype.fireListeners \x3d function(type, capture, eventObject) {\n};\ngoog.events.Listenable.prototype.getListeners \x3d function(type, capture) {\n};\ngoog.events.Listenable.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n};\ngoog.events.Listenable.prototype.hasListener \x3d function(opt_type, opt_capture) {\n};\n");
SHADOW_ENV.evalLoad("goog.events.listenablekey.js", true, "goog.provide(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.events.ListenableKey \x3d function() {\n};\ngoog.events.ListenableKey.counter_ \x3d 0;\ngoog.events.ListenableKey.reserveKey \x3d function() {\n return ++goog.events.ListenableKey.counter_;\n};\ngoog.events.ListenableKey.prototype.src;\ngoog.events.ListenableKey.prototype.type;\ngoog.events.ListenableKey.prototype.listener;\ngoog.events.ListenableKey.prototype.capture;\ngoog.events.ListenableKey.prototype.handler;\ngoog.events.ListenableKey.prototype.key;\n");
SHADOW_ENV.evalLoad("goog.events.listener.js", true, "goog.provide(\x22goog.events.Listener\x22);\ngoog.require(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.events.Listener \x3d function(listener, proxy, src, type, capture, opt_handler) {\n if (goog.events.Listener.ENABLE_MONITORING) {\n this.creationStack \x3d (new Error()).stack;\n }\n this.listener \x3d listener;\n this.proxy \x3d proxy;\n this.src \x3d src;\n this.type \x3d type;\n this.capture \x3d !!capture;\n this.handler \x3d opt_handler;\n this.key \x3d goog.events.ListenableKey.reserveKey();\n this.callOnce \x3d false;\n this.removed \x3d false;\n};\ngoog.events.Listener.ENABLE_MONITORING \x3d goog.define(\x22goog.events.Listener.ENABLE_MONITORING\x22, false);\ngoog.events.Listener.prototype.creationStack;\ngoog.events.Listener.prototype.markAsRemoved \x3d function() {\n this.removed \x3d true;\n this.listener \x3d null;\n this.proxy \x3d null;\n this.src \x3d null;\n this.handler \x3d null;\n};\n");
SHADOW_ENV.evalLoad("goog.events.listenermap.js", true, "goog.provide(\x22goog.events.ListenerMap\x22);\ngoog.require(\x22goog.array\x22);\ngoog.require(\x22goog.events.Listener\x22);\ngoog.require(\x22goog.object\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.Listenable\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.events.ListenerMap \x3d function(src) {\n this.src \x3d src;\n this.listeners \x3d {};\n this.typeCount_ \x3d 0;\n};\ngoog.events.ListenerMap.prototype.getTypeCount \x3d function() {\n return this.typeCount_;\n};\ngoog.events.ListenerMap.prototype.getListenerCount \x3d function() {\n var count \x3d 0;\n var type;\n for (type in this.listeners) {\n count \x3d count + this.listeners[type].length;\n }\n return count;\n};\ngoog.events.ListenerMap.prototype.add \x3d function(type, listener, callOnce, opt_useCapture, opt_listenerScope) {\n var typeStr \x3d type.toString();\n var listenerArray \x3d this.listeners[typeStr];\n if (!listenerArray) {\n listenerArray \x3d this.listeners[typeStr] \x3d [];\n this.typeCount_++;\n }\n var listenerObj;\n var index \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);\n if (index \x3e -1) {\n listenerObj \x3d listenerArray[index];\n if (!callOnce) {\n listenerObj.callOnce \x3d false;\n }\n } else {\n listenerObj \x3d new goog.events.Listener(listener, null, this.src, typeStr, !!opt_useCapture, opt_listenerScope);\n listenerObj.callOnce \x3d callOnce;\n listenerArray.push(listenerObj);\n }\n return listenerObj;\n};\ngoog.events.ListenerMap.prototype.remove \x3d function(type, listener, opt_useCapture, opt_listenerScope) {\n var typeStr \x3d type.toString();\n if (!(typeStr in this.listeners)) {\n return false;\n }\n var listenerArray \x3d this.listeners[typeStr];\n var index \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, opt_useCapture, opt_listenerScope);\n if (index \x3e -1) {\n var listenerObj \x3d listenerArray[index];\n listenerObj.markAsRemoved();\n goog.array.removeAt(listenerArray, index);\n if (listenerArray.length \x3d\x3d 0) {\n delete this.listeners[typeStr];\n this.typeCount_--;\n }\n return true;\n }\n return false;\n};\ngoog.events.ListenerMap.prototype.removeByKey \x3d function(listener) {\n var type \x3d listener.type;\n if (!(type in this.listeners)) {\n return false;\n }\n var removed \x3d goog.array.remove(this.listeners[type], listener);\n if (removed) {\n listener.markAsRemoved();\n if (this.listeners[type].length \x3d\x3d 0) {\n delete this.listeners[type];\n this.typeCount_--;\n }\n }\n return removed;\n};\ngoog.events.ListenerMap.prototype.removeAll \x3d function(opt_type) {\n var typeStr \x3d opt_type \x26\x26 opt_type.toString();\n var count \x3d 0;\n var type;\n for (type in this.listeners) {\n if (!typeStr || type \x3d\x3d typeStr) {\n var listenerArray \x3d this.listeners[type];\n var i \x3d 0;\n for (; i \x3c listenerArray.length; i++) {\n ++count;\n listenerArray[i].markAsRemoved();\n }\n delete this.listeners[type];\n this.typeCount_--;\n }\n }\n return count;\n};\ngoog.events.ListenerMap.prototype.getListeners \x3d function(type, capture) {\n var listenerArray \x3d this.listeners[type.toString()];\n var rv \x3d [];\n if (listenerArray) {\n var i \x3d 0;\n for (; i \x3c listenerArray.length; ++i) {\n var listenerObj \x3d listenerArray[i];\n if (listenerObj.capture \x3d\x3d capture) {\n rv.push(listenerObj);\n }\n }\n }\n return rv;\n};\ngoog.events.ListenerMap.prototype.getListener \x3d function(type, listener, capture, opt_listenerScope) {\n var listenerArray \x3d this.listeners[type.toString()];\n var i \x3d -1;\n if (listenerArray) {\n i \x3d goog.events.ListenerMap.findListenerIndex_(listenerArray, listener, capture, opt_listenerScope);\n }\n return i \x3e -1 ? listenerArray[i] : null;\n};\ngoog.events.ListenerMap.prototype.hasListener \x3d function(opt_type, opt_capture) {\n var hasType \x3d opt_type !\x3d\x3d undefined;\n var typeStr \x3d hasType ? opt_type.toString() : \x22\x22;\n var hasCapture \x3d opt_capture !\x3d\x3d undefined;\n return goog.object.some(this.listeners, function(listenerArray, type) {\n var i \x3d 0;\n for (; i \x3c listenerArray.length; ++i) {\n if ((!hasType || listenerArray[i].type \x3d\x3d typeStr) \x26\x26 (!hasCapture || listenerArray[i].capture \x3d\x3d opt_capture)) {\n return true;\n }\n }\n return false;\n });\n};\ngoog.events.ListenerMap.findListenerIndex_ \x3d function(listenerArray, listener, opt_useCapture, opt_listenerScope) {\n var i \x3d 0;\n for (; i \x3c listenerArray.length; ++i) {\n var listenerObj \x3d listenerArray[i];\n if (!listenerObj.removed \x26\x26 listenerObj.listener \x3d\x3d listener \x26\x26 listenerObj.capture \x3d\x3d !!opt_useCapture \x26\x26 listenerObj.handler \x3d\x3d opt_listenerScope) {\n return i;\n }\n }\n return -1;\n};\n");
SHADOW_ENV.evalLoad("goog.events.events.js", true, "goog.provide(\x22goog.events\x22);\ngoog.provide(\x22goog.events.CaptureSimulationMode\x22);\ngoog.provide(\x22goog.events.Key\x22);\ngoog.provide(\x22goog.events.ListenableType\x22);\ngoog.require(\x22goog.asserts\x22);\ngoog.require(\x22goog.debug.entryPointRegistry\x22);\ngoog.require(\x22goog.events.BrowserEvent\x22);\ngoog.require(\x22goog.events.BrowserFeature\x22);\ngoog.require(\x22goog.events.Listenable\x22);\ngoog.require(\x22goog.events.ListenerMap\x22);\ngoog.requireType(\x22goog.debug.ErrorHandler\x22);\ngoog.requireType(\x22goog.events.EventId\x22);\ngoog.requireType(\x22goog.events.EventLike\x22);\ngoog.requireType(\x22goog.events.EventWrapper\x22);\ngoog.requireType(\x22goog.events.ListenableKey\x22);\ngoog.requireType(\x22goog.events.Listener\x22);\ngoog.events.Key;\ngoog.events.ListenableType;\ngoog.events.LISTENER_MAP_PROP_ \x3d \x22closure_lm_\x22 + (Math.random() * 1e6 | 0);\ngoog.events.onString_ \x3d \x22on\x22;\ngoog.events.onStringMap_ \x3d {};\ngoog.events.CaptureSimulationMode \x3d {OFF_AND_FAIL:0, OFF_AND_SILENT:1, ON:2};\ngoog.events.CAPTURE_SIMULATION_MODE \x3d goog.define(\x22goog.events.CAPTURE_SIMULATION_MODE\x22, 2);\ngoog.events.listenerCountEstimate_ \x3d 0;\ngoog.events.listen \x3d function(src, type, listener, opt_options, opt_handler) {\n if (opt_options \x26\x26 opt_options.once) {\n return goog.events.listenOnce(src, type, listener, opt_options, opt_handler);\n }\n if (Array.isArray(type)) {\n var i \x3d 0;\n for (; i \x3c type.length; i++) {\n goog.events.listen(src, type[i], listener, opt_options, opt_handler);\n }\n return null;\n }\n listener \x3d goog.events.wrapListener(listener);\n if (goog.events.Listenable.isImplementedBy(src)) {\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n return src.listen(type, listener, capture, opt_handler);\n } else {\n return goog.events.listen_(src, type, listener, false, opt_options, opt_handler);\n }\n};\ngoog.events.listen_ \x3d function(src, type, listener, callOnce, opt_options, opt_handler) {\n if (!type) {\n throw new Error(\x22Invalid event type\x22);\n }\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (!listenerMap) {\n src[goog.events.LISTENER_MAP_PROP_] \x3d listenerMap \x3d new goog.events.ListenerMap(src);\n }\n var listenerObj \x3d listenerMap.add(type, listener, callOnce, capture, opt_handler);\n if (listenerObj.proxy) {\n return listenerObj;\n }\n var proxy \x3d goog.events.getProxy();\n listenerObj.proxy \x3d proxy;\n proxy.src \x3d src;\n proxy.listener \x3d listenerObj;\n if (src.addEventListener) {\n if (!goog.events.BrowserFeature.PASSIVE_EVENTS) {\n opt_options \x3d capture;\n }\n if (opt_options \x3d\x3d\x3d undefined) {\n opt_options \x3d false;\n }\n src.addEventListener(type.toString(), proxy, opt_options);\n } else if (src.attachEvent) {\n src.attachEvent(goog.events.getOnString_(type.toString()), proxy);\n } else if (src.addListener \x26\x26 src.removeListener) {\n goog.asserts.assert(type \x3d\x3d\x3d \x22change\x22, \x22MediaQueryList only has a change event\x22);\n src.addListener(proxy);\n } else {\n throw new Error(\x22addEventListener and attachEvent are unavailable.\x22);\n }\n goog.events.listenerCountEstimate_++;\n return listenerObj;\n};\ngoog.events.getProxy \x3d function() {\n const proxyCallbackFunction \x3d goog.events.handleBrowserEvent_;\n const f \x3d function(eventObject) {\n return proxyCallbackFunction.call(f.src, f.listener, eventObject);\n };\n return f;\n};\ngoog.events.listenOnce \x3d function(src, type, listener, opt_options, opt_handler) {\n if (Array.isArray(type)) {\n var i \x3d 0;\n for (; i \x3c type.length; i++) {\n goog.events.listenOnce(src, type[i], listener, opt_options, opt_handler);\n }\n return null;\n }\n listener \x3d goog.events.wrapListener(listener);\n if (goog.events.Listenable.isImplementedBy(src)) {\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n return src.listenOnce(type, listener, capture, opt_handler);\n } else {\n return goog.events.listen_(src, type, listener, true, opt_options, opt_handler);\n }\n};\ngoog.events.listenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_handler) {\n wrapper.listen(src, listener, opt_capt, opt_handler);\n};\ngoog.events.unlisten \x3d function(src, type, listener, opt_options, opt_handler) {\n if (Array.isArray(type)) {\n var i \x3d 0;\n for (; i \x3c type.length; i++) {\n goog.events.unlisten(src, type[i], listener, opt_options, opt_handler);\n }\n return null;\n }\n var capture \x3d goog.isObject(opt_options) ? !!opt_options.capture : !!opt_options;\n listener \x3d goog.events.wrapListener(listener);\n if (goog.events.Listenable.isImplementedBy(src)) {\n return src.unlisten(type, listener, capture, opt_handler);\n }\n if (!src) {\n return false;\n }\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (listenerMap) {\n var listenerObj \x3d listenerMap.getListener(type, listener, capture, opt_handler);\n if (listenerObj) {\n return goog.events.unlistenByKey(listenerObj);\n }\n }\n return false;\n};\ngoog.events.unlistenByKey \x3d function(key) {\n if (typeof key \x3d\x3d\x3d \x22number\x22) {\n return false;\n }\n var listener \x3d key;\n if (!listener || listener.removed) {\n return false;\n }\n var src \x3d listener.src;\n if (goog.events.Listenable.isImplementedBy(src)) {\n return src.unlistenByKey(listener);\n }\n var type \x3d listener.type;\n var proxy \x3d listener.proxy;\n if (src.removeEventListener) {\n src.removeEventListener(type, proxy, listener.capture);\n } else if (src.detachEvent) {\n src.detachEvent(goog.events.getOnString_(type), proxy);\n } else if (src.addListener \x26\x26 src.removeListener) {\n src.removeListener(proxy);\n }\n goog.events.listenerCountEstimate_--;\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (listenerMap) {\n listenerMap.removeByKey(listener);\n if (listenerMap.getTypeCount() \x3d\x3d 0) {\n listenerMap.src \x3d null;\n src[goog.events.LISTENER_MAP_PROP_] \x3d null;\n }\n } else {\n listener.markAsRemoved();\n }\n return true;\n};\ngoog.events.unlistenWithWrapper \x3d function(src, wrapper, listener, opt_capt, opt_handler) {\n wrapper.unlisten(src, listener, opt_capt, opt_handler);\n};\ngoog.events.removeAll \x3d function(obj, opt_type) {\n if (!obj) {\n return 0;\n }\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.removeAllListeners(opt_type);\n }\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n if (!listenerMap) {\n return 0;\n }\n var count \x3d 0;\n var typeStr \x3d opt_type \x26\x26 opt_type.toString();\n var type;\n for (type in listenerMap.listeners) {\n if (!typeStr || type \x3d\x3d typeStr) {\n var listeners \x3d listenerMap.listeners[type].concat();\n var i \x3d 0;\n for (; i \x3c listeners.length; ++i) {\n if (goog.events.unlistenByKey(listeners[i])) {\n ++count;\n }\n }\n }\n }\n return count;\n};\ngoog.events.getListeners \x3d function(obj, type, capture) {\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.getListeners(type, capture);\n } else {\n if (!obj) {\n return [];\n }\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n return listenerMap ? listenerMap.getListeners(type, capture) : [];\n }\n};\ngoog.events.getListener \x3d function(src, type, listener, opt_capt, opt_handler) {\n type \x3d type;\n listener \x3d goog.events.wrapListener(listener);\n var capture \x3d !!opt_capt;\n if (goog.events.Listenable.isImplementedBy(src)) {\n return src.getListener(type, listener, capture, opt_handler);\n }\n if (!src) {\n return null;\n }\n var listenerMap \x3d goog.events.getListenerMap_(src);\n if (listenerMap) {\n return listenerMap.getListener(type, listener, capture, opt_handler);\n }\n return null;\n};\ngoog.events.hasListener \x3d function(obj, opt_type, opt_capture) {\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.hasListener(opt_type, opt_capture);\n }\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n return !!listenerMap \x26\x26 listenerMap.hasListener(opt_type, opt_capture);\n};\ngoog.events.expose \x3d function(e) {\n var str \x3d [];\n var key;\n for (key in e) {\n if (e[key] \x26\x26 e[key].id) {\n str.push(key + \x22 \\x3d \x22 + e[key] + \x22 (\x22 + e[key].id + \x22)\x22);\n } else {\n str.push(key + \x22 \\x3d \x22 + e[key]);\n }\n }\n return str.join(\x22\\n\x22);\n};\ngoog.events.getOnString_ \x3d function(type) {\n if (type in goog.events.onStringMap_) {\n return goog.events.onStringMap_[type];\n }\n return goog.events.onStringMap_[type] \x3d goog.events.onString_ + type;\n};\ngoog.events.fireListeners \x3d function(obj, type, capture, eventObject) {\n if (goog.events.Listenable.isImplementedBy(obj)) {\n return obj.fireListeners(type, capture, eventObject);\n }\n return goog.events.fireListeners_(obj, type, capture, eventObject);\n};\ngoog.events.fireListeners_ \x3d function(obj, type, capture, eventObject) {\n var retval \x3d true;\n var listenerMap \x3d goog.events.getListenerMap_(obj);\n if (listenerMap) {\n var listenerArray \x3d listenerMap.listeners[type.toString()];\n if (listenerArray) {\n listenerArray \x3d listenerArray.concat();\n var i \x3d 0;\n for (; i \x3c listenerArray.length; i++) {\n var listener \x3d listenerArray[i];\n if (listener \x26\x26 listener.capture \x3d\x3d capture \x26\x26 !listener.removed) {\n var result \x3d goog.events.fireListener(listener, eventObject);\n retval \x3d retval \x26\x26 result !\x3d\x3d false;\n }\n }\n }\n }\n return retval;\n};\ngoog.events.fireListener \x3d function(listener, eventObject) {\n var listenerFn \x3d listener.listener;\n var listenerHandler \x3d listener.handler || listener.src;\n if (listener.callOnce) {\n goog.events.unlistenByKey(listener);\n }\n return listenerFn.call(listenerHandler, eventObject);\n};\ngoog.events.getTotalListenerCount \x3d function() {\n return goog.events.listenerCountEstimate_;\n};\ngoog.events.dispatchEvent \x3d function(src, e) {\n goog.asserts.assert(goog.events.Listenable.isImplementedBy(src), \x22Can not use goog.events.dispatchEvent with \x22 + \x22non-goog.events.Listenable instance.\x22);\n return src.dispatchEvent(e);\n};\ngoog.events.protectBrowserEventEntryPoint \x3d function(errorHandler) {\n goog.events.handleBrowserEvent_ \x3d errorHandler.protectEntryPoint(goog.events.handleBrowserEvent_);\n};\ngoog.events.handleBrowserEvent_ \x3d function(listener, opt_evt) {\n if (listener.removed) {\n return true;\n }\n return goog.events.fireListener(listener, new goog.events.BrowserEvent(opt_evt, this));\n};\ngoog.events.markIeEvent_ \x3d function(e) {\n var useReturnValue \x3d false;\n if (e.keyCode \x3d\x3d 0) {\n try {\n e.keyCode \x3d -1;\n return;\n } catch (ex) {\n useReturnValue \x3d true;\n }\n }\n if (useReturnValue || e.returnValue \x3d\x3d undefined) {\n e.returnValue \x3d true;\n }\n};\ngoog.events.isMarkedIeEvent_ \x3d function(e) {\n return e.keyCode \x3c 0 || e.returnValue !\x3d undefined;\n};\ngoog.events.uniqueIdCounter_ \x3d 0;\ngoog.events.getUniqueId \x3d function(identifier) {\n return identifier + \x22_\x22 + goog.events.uniqueIdCounter_++;\n};\ngoog.events.getListenerMap_ \x3d function(src) {\n var listenerMap \x3d src[goog.events.LISTENER_MAP_PROP_];\n return listenerMap instanceof goog.events.ListenerMap ? listenerMap : null;\n};\ngoog.events.LISTENER_WRAPPER_PROP_ \x3d \x22__closure_events_fn_\x22 + (Math.random() * 1e9 \x3e\x3e\x3e 0);\ngoog.events.wrapListener \x3d function(listener) {\n goog.asserts.assert(listener, \x22Listener can not be null.\x22);\n if (typeof listener \x3d\x3d\x3d \x22function\x22) {\n return listener;\n }\n goog.asserts.assert(listener.handleEvent, \x22An object listener must have handleEvent method.\x22);\n if (!listener[goog.events.LISTENER_WRAPPER_PROP_]) {\n listener[goog.events.LISTENER_WRAPPER_PROP_] \x3d function(e) {\n return listener.handleEvent(e);\n };\n }\n return listener[goog.events.LISTENER_WRAPPER_PROP_];\n};\ngoog.debug.entryPointRegistry.register(function(transformer) {\n goog.events.handleBrowserEvent_ \x3d transformer(goog.events.handleBrowserEvent_);\n});\n");
SHADOW_ENV.evalLoad("shadow.module.scittle.append.js", false, "\nshadow.cljs.devtools.client.env.module_loaded(\x27scittle\x27);\n;\nSHADOW_ENV.setLoaded(\x22goog.base.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.error.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.nodetype.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.asserts.asserts.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.reflect.reflect.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.long.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.integer.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.htmlelement.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.tagname.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.element.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.asserts.dom.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.asserts.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.functions.functions.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.typedstring.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.const.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.trustedtypes.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safescript.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.fs.url.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.fs.blob.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.trustedresourceurl.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.internal.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safeurl.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safestyle.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.object.object.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safestylesheet.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.flags.flags.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.useragent.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.util.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.highentropy.highentropyvalue.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.chromium_rebrands.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.highentropy.highentropydata.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.browser.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.array.array.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.tags.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.safehtml.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.html.uncheckedconversions.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.safe.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.string.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.collections.maps.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.structs.structs.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.uri.utils.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.uri.uri.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.stringbuffer.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.defaults.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.prefs.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.context.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.string.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.stacktrace.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.hints.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.engine.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.labs.useragent.platform.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.useragent.useragent.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.set.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.data.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.version.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.pprint.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.util.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.format.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.reporter.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.walk.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.munging.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.helpers.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.state.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.templating.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.printing.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.markup.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.budgeting.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.core.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.formatters.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.entrypointregistry.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.browserfeature.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.math.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.coordinate.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.size.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.dom.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.async.nexttick.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.async.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.toolbox.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.core.js\x22);\nSHADOW_ENV.setLoaded(\x22devtools.preload.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.useragent.product.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.json.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.env.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.console.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.inputtype.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.collections.iters.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.errorcontext.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.debug.debug.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.iter.iter.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.iter.es6.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.structs.map.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.window.window.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.forms.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.classlist.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.dom.vendor.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.box.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.irect.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.math.rect.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.style.style.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.dom.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.buffers.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.dispatch.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.channels.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.timers.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.impl.ioc_helpers.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.core.async.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.util.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.object.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.animate.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.util.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.delimiters.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.caching.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.eq.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.types.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.impl.decoder.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.impl.reader.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.handlers.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.impl.writer.js\x22);\nSHADOW_ENV.setLoaded(\x22com.cognitect.transit.js\x22);\nSHADOW_ENV.setLoaded(\x22cognitect.transit.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.api.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.shared.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.core.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.cljs.js_builtins.js\x22);\nSHADOW_ENV.setLoaded(\x22clojure.datafy.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.spec.gen.alpha.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.spec.alpha.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.writer.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.string.stringformat.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.repl.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.obj_support.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.tap_support.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.remote.runtime.eval_support.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.shared.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.hud.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.websocket.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.cljs.devtools.client.browser.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.utils.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.reader_types.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.inspect.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.errors.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.impl.commons.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tools.reader.edn.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.reader.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.ns_parser.js\x22);\nSHADOW_ENV.setLoaded(\x22cljs.tagged_literals.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.macros.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.read_fn.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.syntax_quote.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.impl.parser.js\x22);\nSHADOW_ENV.setLoaded(\x22edamame.core.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.ctx_store.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.types.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.macros.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.unrestrict.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.vars.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.lang.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.callstack.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.utils.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.deftype.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.interop.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.hierarchies.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.multimethods.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.records.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.faster.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.resolve.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.evaluator.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.fns.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.parser.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.load.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.analyzer.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.cljs.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.copy_vars.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.core_protocols.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.destructure.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.doseq_macro.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.for_macro.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.io.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.macroexpand.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.read.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.reify.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.namespaces.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.opts.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.impl.interpreter.js\x22);\nSHADOW_ENV.setLoaded(\x22sci.core.js\x22);\nSHADOW_ENV.setLoaded(\x22scittle.impl.common.js\x22);\nSHADOW_ENV.setLoaded(\x22scittle.impl.error.js\x22);\nSHADOW_ENV.setLoaded(\x22scittle.core.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.idisposable.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.dispose.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.disposeall.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.disposable.disposable.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.eventid.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.event.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.browserfeature.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.eventtypehelpers.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.eventtype.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.browserevent.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listenable.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listenablekey.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listener.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.listenermap.js\x22);\nSHADOW_ENV.setLoaded(\x22goog.events.events.js\x22);\nSHADOW_ENV.setLoaded(\x22shadow.module.scittle.append.js\x22);");